レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
ツクール質問スレ2
ここはRPGツクールシリーズの製作技術に関する質問を扱うスレです。
■質問する前に■
質問前にマニュアルやヘルプを読んでみましょう。
ヘルプ・公式サイトの講座・FAQ・wikiを調べる、ググるなどしましょう
解決するかもしれません。
■質問者の心構え■
・質問の冒頭でツクールのバージョンは必ず申告すること。(2000/XP/VX/VX Ace/MVを書く)
・煽られても煽り返さず放置。(質問者にとってますます悪い結果になる)
・回答を催促しない。(回答が得られない理由を考えよう)
・納得のいかない回答しか得られなくても文句を言わない。
・情報の小出しはしない。一回にまとめて。
・回答が得られた場合、その経過を報告する。(上手く行ったかどうか)
■回答者の心構え■
・質問の答えが解り、気が向いたならレスを。解らないor気が向かないなら放置を。
・回答に関係のないレスは基本しない事。
・質問者への煽りは禁止。(気に入らない質問内容は放置で)
・荒らしには放置を徹底。
・質問者の態度等が気に入らない場合は放置してください。
・違法行為や不正に関する話題は放置する事。
・質問とは関係ない雑談はやめましょう。
【関連サイト】
●ツクール公式
http://tkool.jp/
>>950
ありがとうございます!助かりました!
>>948
いやその技術的質問を翻訳して伝えてるだけじゃないのか。
ここで出された話を他のところでやられても逆に迷惑でしょ
MVで、戦闘開始時にオートでバフがかけられたり状態異常を与えるスキルを
作れるプラグインはあるでしょうか?
発動条件がわからない、スキルを持ってるとコスト消費無しでステートが付加されるってこと?
VXAにオートステートってのあったし似たようなのあるんでねの
申し訳ありません、説明が足りませんでした。
戦闘開始時コマンド入力前に一回だけ、
そのスキルを持っていれば、
スキル効果が自動発動するというような
プラグインです。
アサシンで戦闘開始時に10%の確率で
モンスター一体を即死させるだとか、
僧侶が防御魔法で最初の1ターンだけ
守備力をあげるというような感じです。
ググって見つからないなら素直にイベントで作ったほうが早い気がする
>>939
俺ハクスラゲー作ってるんだけど
どうしても戦闘が多くなりがちだから戦闘がつまらないのが致命的だ
そういうのは総合スレとかの雑談でやってね
ちょいと質問なのですが、VXAceでエンカウントしたときに
そのエンカウントした場所のマップID、X座標、Y座標を変数に入れるには
どうやればいいでしょうか・・・
動作確認なんてしてないから間違ってるかもしれないけどフックポイントはこのあたりでしょ
class Game_Player
alias _old_encounter encounter
def encounter
result = _old_encounter
if result
$game_variables[101] = $game_map.id
$game_variables[102] = $game_player.x
$game_variables[103] = $game_player.y
end
return result
end
end
早速訂正
×$game_map.id
○$game_map.map_id
あとGame_Player内のメソッド再定義してんだから
△$game_player.x : $game_player.y
○self.x : self.y
だな
ちょっと遅くなりましたがありがとうございます。
MVで質問です。
指定位置の情報取得で、イベントが二つ重なっている場合
変数[1]と変数[2]にそれぞれのイベントIDを格納したい時はどうすればいいでしょうか。
$gameMap.eventsXyで取得できると聞いたのですが、上手くいかず…
var x = 9; //指定位置X
var y = 6; //指定位置Y
var ev_list = $gameMap.eventsXy(x, y);
var evid_list = [];
for(i = 0; i < ev_list.length; i++){
evid_list[i] = ev_list[i].eventId();
}
$gameVariables.setValue(1, evid_list[0]); //変数1に代入
$gameVariables.setValue(2, evid_list[1]); //変数2に代入
>>965
遅ればせながら、そちらのスクリプトを使用することでうまくいきました!
ありがとうございました。
ツクールMVでイベントの出現条件をプレイヤーがイベントの上下か左右にいるかで
実行内容の挙動を変えたいのですが何かいい方法はありませんか?
プレイヤーのX軸やY軸を変数に入れてイベントの出現条件を変えるというのも考えましたが
イベントが移動したりイベントが複数ある場合に対処できないなーという感じで困っています
プレイヤーから触れたり決定キーで開始するイベントならプレイヤーの向きで判別できるけど
それ以外だったらプレイヤーとイベントの座標から調べるしかないよ
プレイヤーの座標からそのイベントの座標を引いて、
X軸の差が0より大きければプレイヤーの方が右にいる、0より小さければ左にいる、0なら真上か真下
Y軸も同様
魔法アタッカーと物理アタッカーを差別化
するにはどのような方法がありますか?
物理はTP
魔法はMP
物理はミスる
魔法は必中
物理は無属性、魔法は属性多彩
敵の体系の多くを「どちらかが有利に戦える」ものでまとめ、チュートリアルでプレイヤーに教え込む
状態変化は魔法でしか狙えず、能力低下は物理でしか狙えない(一例)ように、徹底的に分業設定する
スキルの内容より、自動発動型特殊能力でのフォロー範囲で思いっきり差別化する
物理はそこそこの性能だが装備武器を反映させられる、魔法は強いが性能を柔軟には変えられない
差別化を成功させるなら、アクターやスキルだけでなく敵となるバトラー側の調整も重要
どらちが有利に戦えるかを探ったりするのはプレイヤーとしても一つの醍醐味だよ
差別化するなら技も魔法も全員使えるとかにしないと結局はキャラのん差別化にしかならないよな
物理は高火力 10x8-10x4=40 (防御力が低いモンスターに強い)
魔法は防御無視 10x4=40 (防御力が高いモンスターに強い)
防御だけじゃなく最大HPでも調整すれば差別化できるよ。
その唐突に出てきた式は一体何なんだ
魔法防御がないってことはVX以前か?
今はMVが主流なのにツクールの種類を言わないんだからVX以前とかないと思うが
>>974 は答えてる方だし魔法に関して減産項目がないんだからVXと推理してもおかしくなくね?
Ace以降のツクールではダメージ計算式を自由に設定できるって知らないのか?
MVで質問させていただきます
装備中の武器や防具の名称を変数に入れたいといいますか、
取得したいのですがどのようにしたらいいのでしょうか?
変数の操作:#xxxx = var item = $gameActors.actor(アクターID).equips()[装備スロット番号]; item ? item.name : "なし"
変数の操作のスクリプトにvar item以降を記述
アクターID
1: ハロルドとか
2: テレーゼとか
・・・
装備スロット番号
0: 武器とか
1: 盾とか
2: 帽子とか
・・・
質問です。VXAceです。
戦闘後、マップに戻ったタイミングでコモンイベントを発生させたいのですが
どうすればいいでしょうか?
戦闘の勝敗・中断関係なく、とにかく戦闘→マップに戻ったタイミングで発生させたいのであります。
勝った時負けた時逃げた時全部に同じコモン入れとくのじゃだめなの?
あ、一応付け足しますが、逃走した場合も加えさせてください
>>983
えぇ、詳しくいいますと戦闘が終わって経験値やお金勘定が終わってから
コモンを発生させたいのであります。
かなり前に閉鎖されたコモン実行スクリプトを使ってるんだけど、
これはその勘定に入る前にコモン実行されてしまい、
他のサイトのスクリプトも一応さがしてみたのですが、
意外に戦闘後コモンというのが見つからなかったので・・・
あ、スイッチとイベントコマンドで実行できる方法思いついてしまいました。
お騒がせして申し訳ありません・・<(_ _)>
ああランダムエンカウントでってことか?
あ、その説明抜けてました。ランダムエンカウントでした。
>>981
980です。教えていただきありがとうございます。
無事に取得できました。
ツクール質問スレ3
http://jbbs.shitaraba.net/bbs/read.cgi/game/59291/1500249047/
MVでスキルにコモンイベントをつけて戦闘行動の強制をしたいのですが
このスキルを使ったアクターID、敵キャラのIDを取得する方法がわかりません
取得方法があれば教えてください
MVの6段階ある移動速度を更に上げる方法はありませんか?
>>992
イベントコマンドのスクリプトでプレイヤーの移動速度を変えるなら
$gamePlayer.setMoveSpeed(数値指定);
イベントの移動速度を変えるなら
this.character(イベントID).setMoveSpeed(数値指定);
>>991
変数の操作のスクリプトに以下を記述
BattleManager._subject.actorId();
BattleManager._subject._lastTargetIndex;
$gameTroop.members()[BattleManager._subject._lastTargetIndex].enemyId();
例:
◆変数の操作:#0001 アクターID = BattleManager._subject.actorId();
◆変数の操作:#0002 ターゲットIndex = BattleManager._subject._lastTargetIndex;
◆変数の操作:#0003 ターゲットID = $gameTroop.members()[BattleManager._subject._lastTargetIndex].enemyId();
>>994
それでアクターがスキルを使用した時の対象の敵のトループ番号とエネミーIDは分かるんだけど
エネミーがスキルを使用した時の使用した敵のトループ番号の取得方法がわからないんです
使用者がアクターかどうかで分岐してBattleManager._subject._enemyIdでスキルを使用したエネミーIDは取得できるんだけど
戦闘行動の強制でエネミーはトループ番号指定なんですよ
lastTargetIndexだとスキルの対象が自身ならいいけど攻撃スキルだとアクターのIndexになってしまいます
どうにかなりませんか?
▼プラグイン
(function() {
var _Game_Battler_prototype_setLastTarget = Game_Battler.prototype.setLastTarget;
Game_Battler.prototype.setLastTarget = function(target) {
_Game_Battler_prototype_setLastTarget.call(this, target)
if (target) {
this._lastTargetObject = target;
} else {
this._lastTargetObject = null;
}
};
})();
▼スクリプトコマンド
BattleManager._subject._lastTargetObject._enemyId
あ、知りたいのはIDじゃなくてindexか
いや最終的に知りたいのがエネミーIDだとしたら、その過程で必要になっていたエネミーindexは取得できなくてもいいのか
そうであれば>>996 の方法で大丈夫?
>>998
すみません、最終的に知りたいのはIndexのほうでエネミーIDではありません
エネミーIDであればプラグインを使わずともBattleManager._subject._enemyIdで取得できます
次スレで質問直します
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板