RPGツクールVXAceスクリプトwiki / RPGツクールVXAce & MVスクリプトwikiとプラグイン
RPGツクールVXAce & MVスクリプトwikiとプラグイン

RPGツクールVXAceスクリプトwiki

トップページ > ツクールVXAceスクリプトリファレンスwikiトップページ

RPGツクールVXAceスクリプトwiki/トップページ

頻繁にこのwikiを参照される場合はこのページをブックマークしていただくと便利です。

各イベント名のリンクはその項目の詳細ページに繋がっています。

項目はデフォルトのイベントコマンド順になっております。

その項目について詳しく知りたい場合はイベントタイトルをクリックしてください。

皆様のゲーム製作のお役に立つことが出来れば幸いです。


*wikiの説明には専門用語が出てきます。

この目次最後に簡単な説明を付けておきますので必要であれば参照してください。



------目次(イベントコマンド順)------

文章の表示

$game_message.add("文章")


選択肢の表示

リンク先ページにて紹介


数値入力の処理

$game_message.num_input_digits_max = 桁数

$game_message.num_input_variable_id = 受け取る変数ID

Fiber.yield until Input.trigger?(:C)


アイテムの選択の処理

$game_message.item_choice_variable_id = アイテムIDを受け取る変数ID


文章のスクロール表示

$game_message.add("表示する文章")

$game_message.scroll_mode = true

$game_message.scroll_speed = 2

$game_message.scroll_no_fast = false

wait_for_message


スイッチの操作

$game_switches[スイッチID] = true (またはfalse)


変数の操作

$game_variables[変数ID] = 代入する値


セルフスイッチの操作

key = [マップID, イベントID, "セルフスイッチ"]

$game_self_switches[key] = trueかfalse


タイマーの操作

$game_timer.start(設定フレーム数) #タイマースタート

$game_timer.stop #タイマーストップ


条件分岐

リンク先ページにて紹介


ループ・ループの中断

リンク先ページにて紹介


イベント処理の中断

@index = @list.size


コモンイベント

$game_temp.reserve_common_event(コモンイベントのID)


ラベル・ラベルジャンプ

リンク先ページにて紹介


注釈

#一行のみ注釈にするなら「#」

=begin

複数行注釈にするなら「=begin」から始めて

「=end」までの間が注釈になります。

=end


所持金の増減

$game_party.gain_gold(値) #所持金の増加(-で減少)

$game_party.lose_gold(値) #所持金の減少(+で増加)


アイテムの増減

$game_party.gain_item($data_items[アイテムID], 個数)


武器の増減

$game_party.gain_item($data_weapons[武器ID], 個数, 装備品も含めるか(true/false))


防具の増減

$game_party.gain_item($data_armors[防具ID], 個数, 装備品も含めるか(true/false))


メンバーの入れ替え

$game_party.add_actor(アクターID)


HPの増減

$game_actors[アクターID].hp += 値


MPの増減

$game_actors[アクターID].mp += 値


ステートの変更

$game_actors[アクターのID].add_state(ステートID)


全回復

$game_actors[アクターID].recover_all


経験値の増減

ga = $game_actors[1]

ga.change_exp($ga.exp + 増減する経験値の値, true)


レベルの増減

ga = $game_actors[1]

ga.change_level($ga.level + 増減するレベルの値, true)


能力値の増減

$game_actors[アクターID].add_param(能力のID, 値)


スキルの増減

$game_actors[アクターID].learn_skill(スキルID) #スキルを覚える

$game_actors[アクターID].forget_skill(スキルID) #スキルを忘れる


装備の変更

$game_actors[装備を変更するアクターのID].change_equip_by_id(装備の種類, 武器・防具のID)


名前の変更

$game_actors[アクターのID].name = "変更したい名前"


職業の変更

$game_actors[1].change_class(2)


二つ名の変更

$game_actors[変更するアクターのID].nickname = "変更後の二つ名"


場所移動

$game_player.reserve_transfer(マップID, x, y, 向き)

$game_temp.fade_type = フェードのタイプ


乗り物の位置設定

$game_map.vehicles[乗り物のID].set_location(マップID, x座標, y座標)


イベントの位置設定

cha = get_character(移動させるイベントのID)

cha.moveto(x座標, y座標)


マップのスクロール

$game_map.start_scroll(方向, マス数, 速度)

Fiber.yield while $game_map.scrolling? #スクロールするまで待機


移動ルートの設定

リンク先のページにて紹介


乗り物の乗降

$game_player.get_on_off_vehicle


透明状態の変更

$game_player.transparent = trueかfalse


隊列歩行の変更

$game_player.followers.visible = trueかfalse #("ON"か"OFF"でもok)

$game_player.refresh #これが無いと変更が反映されない。


隊列メンバーの集合

$game_player.followers.gather

#メンバーが集合するまでウェイトするなら以下のコードを追加

Fiber.yield until $game_player.followers.gather?


アニメーションの表示

character = get_character(イベントのID)

character.animation_id = アニメーションのID

#表示終了までウェイトするなら以下のコードを追加

Fiber.yield while character.animation_id > 0


フキダシアイコンの表示

character = get_character(イベントID)

character.balloon_id = フキダシアイコンのID

#表示終了までウェイトをかけるときは以下のコードを追加

Fiber.yield while character.balloon_id > 0


イベントの一時消去

$game_map.events[イベントID].erase


画面のフェードアウト・画面のフェードイン

#フェードアウト

Fiber.yield while $game_message.visible

screen.start_fadeout(フェードアウトするまでの時間)

wait(フェードアウトに合わせてイベントを止める時間)


#フェードイン

Fiber.yield while $game_message.visible

screen.start_fadein(フェードインするまでの時間)

wait(フェードインに合わせてイベントを止める時間)


画面の色調変更

tn = Tone.new(赤, 緑, 青(, グレー)) #グレーは省略可

screen.start_tone_change(tn, 変更までの時間)

wait(ウェイト時間)


画面のフラッシュ

tn = Color.new(赤,緑,青,強度)

screen.start_flash(tn, 時間)

#フラッシュが終わるまでウェイトするなら以下のコードを追加

wait(ウェイト時間)


画面のシェイク

screen.start_shake(強さ, 速さ, 時間)

wait(ウェイトする時間)


ウェイト

wait(ウェイトをかける時間)


ピクチャの表示

$sp = screen.pictures[番号]

$sp.show(画像名, 原点, x座標, y座標, 拡大率横%, 拡大率縦%, 不透明度, 合成方法)


ピクチャの移動

screen.pictures[ピクチャ番号].move(原点, x座標, y座標, 横方向拡大率, 縦方向拡大率, 不透明度, 合成方法, 時間)


ピクチャの回転

$sp = screen.pictures[番号]

$sp.rotate(回転速度)


ピクチャの色調変更

$sp = screen.pictures[番号]

$tn = Tone.new(赤, 緑, 青 (,グレー))

$sp.start_tone_change($tn, 変化にかける時間)


ピクチャの消去

screen.pictures[番号].erase


天候の設定

screen.change_weather(天候, 強さ, 時間)

wait(時間) #天候が変化するまでウェイトを入れる場合追加


BGMの演奏

Audio.bgm_play(ファイルパス, 音量, ピッチ(, 再生位置))


BGMのフェードアウト

RPG::BGM.fade(ミリ秒)

#1秒=1000


BGMの保存・BGMの再開

#保存

$game_system.save_bgm

#再開

$game_system.replay_bgm


BGSの演奏

Audio.bgs_play(ファイルパス, 音量, ピッチ(, 再生位置))


BGSのフェードアウト

RPG::BGS.fade(秒数)

#1秒=1000


MEの演奏

Audio.me_play(ファイルパス, 音量, ピッチ)


SEの演奏・SEの停止

Audio.se_play(ファイルパス, 音量, ピッチ)

#SEの停止

RPG::SE.stop


ムービーの再生

Graphics.play_movie("Movies/ファイル名")


バトルの処理

bm = BattleManager #バトル処理の下準備

bm.setup(敵グループID, 逃走可能か,負けた場合も継続か)

bm.event_proc = Proc.new{|n| @branch[1] = n}

#戦闘の結果を@branchに代入、nに選択肢の数値を代入

$game_player.make_encounter_count

SceneManager.call(Scene_Battle)

Fiber.yield #戦闘までウェイト

if @branch[1] == 0 #勝利した場合の処理

$game_message.add("勝利した場合の処理")

elsif @branch[1] == 1 #逃走した場合の処理

$game_message.add("逃げた場合の処理")

elsif @branch[1] == 2 #負けた場合の処理

$game_message.add("負けた場合の処理")

end


ショップの処理

g = [アイテムの種類,アイテムのID,価格を指定するか,値段]

#アイテムの種類 0:アイテム 1:武器 2:防具

#価格の指定 0:標準 1:指定

goods = [g]

SceneManager.call(Scene_Shop)

SceneManager.scene.prepare(goods, 購入のみか)

Fiber.yield


名前入力の処理

SceneManager.call(Scene_Name)

SceneManager.scene.prepare(アクターのID, 文字数)

Fiber.yield


メニュー画面を開く

SceneManager.call(Scene_Menu)

Window_MenuCommand::init_command_position

Fiber.yield


セーブ画面を開く

SceneManager.call(Scene_Save)

Fiber.yield


ゲームオーバー

SceneManager.goto(Scene_Gameover)

Fiber.yield


タイトル画面に戻す

SceneManager.goto(Scene_Title)

Fiber.yield


戦闘BGMの変更

game_system.battle_bgm.name = ファイルの名前

$game_system.battle_bgm.volume = 音量

$game_system.battle_bgm.pitch = ピッチ


戦闘終了MEの変更

$game_system.battle_end_me.name = 名前

$game_system.battle_end_me.volume = 音量

$game_system.battle_end_me.pitch = ピッチ


セーブ禁止の変更

$game_system.save_disabled = trueかfalse

#trueで禁止、falseで許可

#("ON"か"OFF"でもok)


メニュー禁止の変更

$game_system.menu_disabled = trueかfalse

#trueで禁止、falseで許可

#("ON"か"OFF"でもok)


エンカウント禁止の変更

$game_system.encounter_disabled = trueかfalse

#trueでエンカウント禁止、falseでエンカウント許可

#("ON"か"OFF"でもok)


並び替え禁止の変更

$game_system.formation_disabled = trueかfalse

("ON"か"OFF"でもok)


ウィンドウカラーの変更

tone = Tone.new(赤, 緑, 青(, グレー))

$game_system.window_tone = tone


アクターのグラフィック変更

ga = $game_actors[アクターのID]

ga.set_graphic(歩行グラのファイル名前, 歩行グラのID, 顔グラのファイル名前, 顔グラのID)

$game_player.refresh #アクターのグラフィックの再設定


乗り物のグラフィック変更

ve = $game_map.vehicles[乗り物ID]

#乗り物ID 小型船:0 大型船:1 飛行船:2

ve.set_graphic("ファイル名", 何番目のチップか)


マップ名表示の変更

$game_map.name_display = trueかfalse

#("ON"か"OFF"でもok)


タイルセットの変更

$game_map.change_tileset(タイルセットのID)


戦闘背景の変更

$game_map.change_battleback(地面背景名, 建物背景名)


遠景の変更

fn = "ファイル名"

$game_map.change_parallax(fn, x方向にループさせるか, y方向にループさせるか, x方向へのスクロールの速度, y方向へのスクロールの速度)


指定位置の情報取得

$game_map.terrain_tag(x座標, y座標) #地形タグを取得

$game_map.event_id_xy(x座標, y座標) #イベントIDを取得

$game_map.tile_id(x座標, y座標, レイヤー) #タイルIDを取得

#L=0でLayer1、L=1でLayer2、L=2でLayer3

$game_map.region_id(x座標, y座標) #リージョンIDを取得


敵キャラのHP増減

value = operate_value(増減, 定数か変数か, 値)

#0:増やす 1:減らす/0:定数 1:変数

#変数を選択した際、値は変数のIDを示す

iterate_enemy_index(敵ID) do |enemy| #敵ID=-1以下で敵グループ全体

return if enemy.dead? #敵が戦闘不能で中断

enemy.change_hp(value, true)

if enemy.dead? #戦闘不能を許可するか

enemy.perform_collapse_effect

end

end


敵キャラのMP増減

value = operate_value

(増減, 定数か変数か, 値)

#0:増やす 1:減らす/0:定数 1:変数

#変数を選択した際、値は変数のIDを示す

iterate_enemy_index(敵ID) do |enemy|

#敵ID=-1以下で敵グループ全体

enemy.mp += value

end


敵キャラのステート変更を行う方法

iterate_enemy_index(敵ID) do |enemy|

#敵ID=-1以下で敵グループ全体

already_dead = enemy.dead?

enemy.add_state(ステートID)

#敵の戦闘不能を許可するなら以下のif文を追加

if enemy.dead?

enemy.perform_collapse_effect

end

end


敵キャラの全回復

iterate_enemy_index(敵のID) do |enemy|

#敵のIDは-1以下で敵全体になる。

enemy.recover_all

end


敵キャラの出現

iterate_enemy_index(敵ID) do |enemy| #-1以下で敵全員

enemy.appear

$game_troop.make_unique_names

end


敵キャラの変身

iterate_enemy_index(敵ID) do |enemy| #-1以下で敵全員

enemy.transform(変身させる敵キャラID)

$game_troop.make_unique_names

end


戦闘アニメーションの表示

iterate_enemy_index(敵ID) do |enemy|

enemy.animation_id = アニメーションID if enemy.alive?

end


戦闘行動の強制

iterate_battler(敵キャラかアクターか,キャラクターID) do |battler|

#0で敵キャラ、1でアクター指定

next if battler.death_state?

battler.force_action(スキルID, 行動対象ID(Index))

BattleManager.force_action(battler)

Fiber.yield whileBattleManager.action_forced?

end


バトルの中断

BattleManager.abort

Fiber.yield



用語説明

ここではあくまで初心者が意味を掴みやすいように説明していますので、正確な意味を知りたい場合は他サイト・参考書をご覧ください。

if文

条件分岐を表します。rubyではif条件 処理endという形を取ります。

true、false

if文において条件に合えばtrue、合わなければfalseを返します。

返す

if文などで何らかの処理をした結果を出すことを「返す」と言います。

メソッド

処理の塊の事です。

関数、クラス、function

それぞれに違いはありますが、ここではメソッドの塊、つまり処理の塊がさらに塊を作ったものと考えてください。

パラメータ

メソッド名の後の丸括弧()に入っているもののことです。複数ある場合はカンマ,で区切られ左から第1パラメータ、第2パラメータ…と名付けられます。引数(ひきすう)とも呼ばれます。

配列

$game_switches[1]など文字の後ろについていないもので、[]で表される値のことです。例えば[1,4,3]、[1,10]、[1]というのはいずれも配列です

スタックする

データを"積み上げる"という意味で、ここでは配列に要素を追加することを指します。

popする

スタックしたデータを取り出すことです。

グローバル変数

ゲーム中どこからでも参照できる変数の事です。rubyでは変数名の頭に"$"がついている変数のことです。"$game_message"等もグローバル変数です。



表示変更

任意の色に変えるときはテキストボックスをクリックしてカラーピッカーで決め、変更ボタンを押してください



文字色変更





コード色変更





コード背景色変更





背景色変更



ツクールMVスクリプトwikiページ内リンク