トップ 差分 一覧 最終更新 ソース 検索 ヘルプ RSS ログイン

Rgss2Tips/Note

メニューを開くとコモンイベント実行

メニューを開くとスイッチがONになります。

 #--------------------------------------------------------------------------
 # ● 開始処理
 #--------------------------------------------------------------------------
 def start
   super
   $game_switches[スイッチ番号] = true
   create_menu_background
   create_command_window
   @gold_window = Window_Gold.new(0, 360)
   @status_window = Window_MenuStatus.new(160, 0)
 end

このスイッチを条件に自動実行のコモンイベントを作成しておけば
なにかと便利です。

未整理

529 :名無しさん@お腹いっぱい。:2008/02/21(木) 19:27:16 ID:pG5m2aNk
並列処理を常時走らせると重くなるから、
Scene_Menuの適当な場所に $game_switches[n] = true を入れておく。
そしてスイッチn番を条件とする自動実行コモンイベントを設定すれば、
メニューから戻った瞬間のみ実行されるイベントが作れる。
こうすれば、スクリプトがよくわからない人でも軽い処理ができる。
237 :名無しさん@お腹いっぱい。:2008/02/08(金) 20:25:01 ID:LeI6q3np
VXで変身を同じ敵に複数回使うと、例えば 
ヴァンパイア → コウモリ → ヴァンパイアB → コウモリB → ヴァンパイアC 
みたいな表記になってしまいます。 
同一個体が変身してるはずなのに、B,Cって表記は 
違和感あるんだけど、これはどうにもならないもんでしょうか? 

239 :名無しさん@お腹いっぱい。:2008/02/08(金) 20:43:21 ID:ig8XBoX9
>>237
Game_Interpreterで「敵キャラの変身」を検索、
$game_troop.make_unique_names をコメントアウトでどうかな。
他のケースの変身で副作用が出るかもしれないけど。
189 :名無しさん@お腹いっぱい。:2008/02/06(水) 20:31:56 ID:Uk1h7+uZ
VXでXPにあった移動するときにフェードアウトしないってスクリプトいじらないと再現できませんか?

190 :名無しさん@お腹いっぱい。:2008/02/06(水) 20:35:29 ID:1B0muRYD
前スレであったな。
これ、スイッチONの時だけこの部分迂回ってすれば面白い事もできそうだ。


251 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2008/01/14(月) 11:25:44 ID:dx4BEXSE
>>243
Scene_Mapクラス
update_transfer_playerメソッドの
fadeout(30) if fade
Graphics.wait(15)
fadein(30) if fade
をコメントアウトすると瞬間移動になる。
ただ、瞬間移動じゃなくしたい場合もあるのなら他に工夫がいるよ。
119 :名無しさん@お腹いっぱい。 :sage :2008/02/05(火) 11:40:35 ID:Z7S61982
先頭のキャラがヒールを覚えているか

条件分岐:スクリプト:$game_party.members[0].skill_learn?($data_skills[33])

123 :名無しさん@お腹いっぱい。 :sage :2008/02/05(火) 17:32:03 (p)ID:9g9dmUNk(6)
一応、汎用的に使えそうなのを貼ってみる。間違いがあれば訂正よろ

1
★パーティー内のアクターを選択肢表示するイベントコマンド用スクリプト★

$game_party.members.each { |actor|
$game_message.texts.push(actor.name) }
$game_message.choice_start = 0
$game_message.choice_max = $game_party.members.size
$game_message.choice_cancel_type = 4 #4はキャンセル
$game_message.choice_proc = Proc.new { |n|
$game_variables[1] = n }   #変数1に選択肢を格納
set_message_waiting

イベントコマンドで実行するとパーティー全員の名前が選択肢として表示。
変数1にプレイヤーの選択を格納。
0=先頭のキャラ、1=二番目のキャラ、2=三番目のキャラ、3=四番目のキャラ、4=キャンセル
さらに以下のスクリプトを実行すると変数2に選んだキャラの名前が格納される。

2
★1で選んだ名前を文字列で変数に格納★
y = $game_variables[1]
z = $game_party.members[y]
$game_variables[2] = z.name #変数2に選択したキャラ名を文字列で格納

イベントコマンド(文章の表示)で\V[2]を使用することで1を幅広く活用できる。
使用後、(変数の操作)で変数2に0を代入すること。※変数に文字列をいれたままだと誤動作しやすいため

146 :名無しさん@お腹いっぱい。 :sage :2008/02/06(水) 07:18:37 ID:MkF4+ZvF
>>123のやり方で選択したキャラのIDを仮に変数3番に格納したい場合は
どうやってスクリプトを組むの?
教えて偉い人。

148 :名無しさん@お腹いっぱい。 :sage :2008/02/06(水) 07:49:59 ID:PyueVqOB
たぶんこんな感じかな。>>123の書式に勝手に追加。
3
★1で選んだアクターIDを変数に格納★
y = $game_variables[1]
z = $game_party.members[y]
$game_variables[3] = z.id #変数3に選択したアクターのIDを格納

この後、変数3のアクターを○○するというようなイベントコマンドを組むことで自由自在になります。

149 :名無しさん@お腹いっぱい。 :sage :2008/02/06(水) 08:05:01 ID:MkF4+ZvF
>>148
おお、ありがとう出来ました。
これで以下のスクリプトが揃えば相当実用性がありますね。

変数3のアクターを(に)

レベルを上げる
レベルを下げる
パーティーに加える
パーティーから外す
職業を変える
生き返らせる
HP(MP)を回復
戦闘不能にする
スキルを覚えさせる
スキルを忘れさせる
・・・など

150 :名無しさん@お腹いっぱい。 :sage :2008/02/06(水) 08:28:21 ID:MkF4+ZvF
とりあえず、すぐわかるのだけ

★変数3のIDのアクターをパーティーから外す★
n = $game_variables[3]
$game_party.remove_actor(n)

★変数3のIDのアクターをパーティーに加える★
n = $game_variables[3]
$game_party.add_actor(n)

★変数1で指定したアクターを生き返らせる★
n = $game_variables[1]
actor = $game_party.dead_members[n]
actor.recover_all

実際そんな一覧があったら楽かも知れん。
俺はもう仕事だ。誰か補完よろ

151 :名無しさん@お腹いっぱい。 :sage :2008/02/06(水) 09:48:14 ID:MkF4+ZvF
ほらよ

★1で指定したアクターの能力値の増減★
例:最大HPを500上げる
n = $game_variables[1]
actor = $game_party.members[n]
actor.maxhp += 500 #最大HPを500アップ

※三行目のmaxhpの部分をmaxmp、atk、def、spi、agiの
いずれかに変更すると、変更したい能力値を代えれる。

★1で指定したアクターがスキルID2を覚える★
n = $game_variables[1]
actor = $game_party.members[n]
actor.learn_skill(2) #スキルID2を覚える

★1で指定したアクターがスキルID2を忘れる★
n = $game_variables[1]
actor = $game_party.members[n]
actor.forget_skill(2) #スキルID2を忘れる

★1で指定したアクターの職業を職業ID2に変更★
n = $game_variables[1]
actor = $game_party.members[n]
actor.class_id = 2 #職業ID2に変更

★1で指定したアクターの名前を「モナー」に変更★
n = $game_variables[1]
actor = $game_party.members[n]
actor.name = "モナー"

★1で指定したアクターのHPを最大に回復★
n = $game_variables[1]
actor = $game_party.members[n]
actor.hp = actor.maxhp #HPを回復

※三行目のHPをMPに変更すると、MPが回復する。

153 :名無しさん@お腹いっぱい。:2008/02/06(水) 10:54:46 ID:MkF4+ZvF
★1で指定したアクターの経験値を500増やす★
n = $game_variables[1]
actor = $game_party.members[n]
actor.change_exp(actor.exp + 500,0)

追記
>>129の選択肢で変数1が4の時にイベント処理の中断をはさまないと
>>150と>>151はパーティーの末尾のキャラに効果が現れてしまいます。

>>152
まあ初心者スレだし、
ほとんどがパーティー配列から拾っているから、わかりやすくと思ったんだが・・
$game_party.members[n] =パーティーのn番目のアクターだよってことは
このスレで質問している初心者はわかったのではないかと。


仕事は・・・休んだ

154 :名無しさん@お腹いっぱい。:2008/02/06(水) 11:17:11 ID:MkF4+ZvF
ああ連投すまんが>>153の追記を補足
追記
>>129の選択肢で変数1が4の時にイベント処理の中断をはさまないと
キャンセルボタンを押したした際に>>150と>>151はパーティー人数によって
エラーが出る、もしくはパーティーの末尾のキャラに効果が現れてしまいます。

155 :名無しさん@お腹いっぱい。:2008/02/06(水) 11:26:49 ID:qGxz65xp
4 がキャンセルってのがアレなんだな
false か -1 にしとけ


156 :名無しさん@お腹いっぱい。:2008/02/06(水) 11:49:48 ID:PyueVqOB
>>155
-1だとキャンセル自体ができなくなるってことか。
それはそれで場面よってはありか。
で、多分falseにすると4の時と同じようにバグるんじゃない?

まあいずれにせよこのスクリプト一覧があればロマサガとかドラクエ3みたいな
パーティー編成自由型を作る奴は楽になるね。
あとは条件分岐用のスクリプト集か。

誰かまとめwiki作れる人いないかな?

しかし>>154はそこまでわかっててなぜ>>146がわからなかったんだろうw

最終更新時間:2011年01月13日 17時41分04秒 [通知用URL]