Categories

Recent Entries

Calender

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< March 2017 >>

Recent Comment

w closet×JUGEM

お役立ち?

【RPGツクールVX】イベントスクリプト一覧

2chツクールwikiも閉鎖してしまい、FSMも閉鎖してしまったとのことで…
そこにあった膨大な有効な情報がなくなってしまったのが、とても残念です(´;ω;`)
そこで、自分がメモに貯めていたイベントスクリプトのコードを公開しようと思います。

色んなサイトで見つけたコードで、試していないものもありますが、ゲーム制作に役立ってくれれば!
(何か不具合を見つけたら教えてくれたら幸いです。)



↓↓↓それでは、続きからどうぞ!!
●テストプレイ時かどうか
if $TEST

●フキダシアイコンを表示(フキダシアイコンを増やしていても表示される)
#フキダシ:くしゃくしゃ
$game_player.balloon_id = 7 #プレイヤーに表示
$game_map.refresh

*get_characterを使った場合
#numが -1 ならプレイヤー、0 ならこのイベント、それ以外はイベント ID
character = get_character(num)
character.balloon_id = n #n番目のフキダシを表示
$game_map.refresh

●タイマーの加算
$game_system.timer += sec * Graphics.frame_rate

●無装備かどうかを判定
(if )$game_actors[ID].weapons[n].nil?

●武器のIDを取得したい場合は
$game_actors[ID].weapons[n].id

●武器の名前を取得したい場合は
$game_actors[ID].weapons[n].name

●セルフスイッチ操作
$game_self_switches[マップID, イベントID, "セルフスイッチ(A~D)"]] = true/false
$game_map.need_refresh = true #マップに反映

●アクターのレベルが20以下の場合
$game_actors[アクターID].level > 20

●アクター経験値500以下
$game_actors[アクターID].exp > 500

●イベントの座標取得
$game_variables[変数ID] = $game_map.events[(イベントID)].x
$game_variables[変数ID] = $game_map.events[(イベントID)].y

●イベントの位置移動
$game_map.events[イベントID].moveto(X座標,Y座標)

●プレイヤーの場所移動(フェードインなし。同じマップ内のみ)
$game_player.moveto(X座標,Y座標)

●プレイヤーの画面上の座標
$game_variables[n] = $game_player.screen_x
$game_variables[m] = $game_player.screen_y

●メニュー画面に移行する
$game_temp.next_scene = nil
$scene = Scene_Menu.new

●ショップ画面に移行する
$game_temp.next_scene = nil
$scene = Scene_Shop.new

●名前入力画面に移行する
$game_temp.next_scene = nil
$scene = Scene_Name.new

●セーブ画面に移行する
$game_temp.next_scene = nil
$scene = Scene_File.new(true, false, true)

●ロード画面に移行する
$game_temp.next_scene = nil
$scene = Scene_File.new(false, false, true)

◆指定したイベントを実行させる◆
$game_map.events[イベントID].start

◆ゲームの強制終了◆
$scene = nil(もしくはexit)

◆指定したアクターが特定のスキルを使用できるか判定する◆
$game_actors[アクターID].skill_can_use?(スキルID)

◆指定したアクターが特定の武器・防具を装備できるか判定する◆
$game_actors[アクターID].equippable?(アイテム)
(注意)アイテムのところには次のものを入れてください
    武器→$data_weapons[武器ID]
    防具→$data_armors[防具ID]

◆指定したアクターが特定のステートを付与されているか判定する◆
$game_actors[アクターID].state?(ステートID)

●変数にアクターのスキル習得数を取得する方法
$game_variables[変数ID] = $game_actors[アクターID].skills.size

●マップに設定されているBGM,BGSに変更する
$game_map.autoplay

● パーティの操作

* パーティ名の取得
$game_party.name

* パーティの配列を取得 (Game_Actors[])
$game_party.members

* パーティ内での最大レベルを取得
$game_party.max_level

* パーティにアクターを追加
$game_party.add_actor(アクターのID)

* パーティからアクターを削除
$game_party.remove_actor(アクターのID)

* パーティを0に
$game_party.instance_variable_get(:@actors).clear

● 持ち物の操作

* 所持アイテム・装備品の取得
(RPG::Item[] + RPG::Weapon[] + RPG::Armor[])
$game_party.items

* アイテムの所持数取得
$game_party.item_number(アイテムID)

* アイテムの所持判定
$game_party.has_item?(アイテムID, 装備中のものも含める(true))
$game_party.has_item?(アイテムID, 装備中のものは含めない(false))

* アイテムの使用可能判定
$game_party.item_can_use?(アイテムID)

* アイテムの増加
$game_party.gain_item(アイテムID, 個数, 装備中のものも含める(true))
$game_party.gain_item(アイテムID, 個数, 装備中のものは含めない(false))

* アイテムの減少
$game_party.lose_item(アイテム, 個数, 装備中のものも含める(true))
$game_party.lose_item(アイテム, 個数, 装備中のものは含めない(false))

* アイテムの消耗
$game_party.consume_item(アイテムID)

* 所持アイテムを0に
$game_party.instance_variable_get(:@items).clear

* 所持武器を0に
$game_party.instance_variable_get(:@weapons).clear

* 所持防具を0に
$game_party.instance_variable_get(:@armors).clear

* 所持金を取得
$game_party.gold

* 所持金の増加
$game_party.gain_gold(増やす金額)

* 所持金の減少
$game_party.lose_gold(減らす金額)

● その他
* 歩数を取得
$game_party.steps

* 歩数の増加 (1歩増やす)
$game_party.increase_steps

* 全滅判定
$game_party.all_dead?

$game_troop.existing_members # 生存している敵情報のデータ配列

$game_troop.dead_members # 死亡している敵情報のデータ配列

=================================
enemy=$game_troop.dead_members[0] # インデックス0の敵情報

enemy.name # 敵の名前(ABC付き)

enemy.original_name # 敵の名前(ABC抜き)

enemy.hp #敵の現在HP

enemy.maxhp #敵の最大HP

enemy.states #敵のステート情報の配列

enemy.states[0] #優先度が一番高いステート情報

enemy.state?(ステートID) # ステートにかかっているか?

enemy.inputable? # コマンド入力できる状態か?(混乱や行動不能でない)

enemy.movable? # 行動できない状態か?

enemy.silent? # 魔法を使用できない状態か?

enemy.slip_damage? # スリップダメージ状態か?

enemy.reduce_hit_ratio? # 命中率減少状態か?

enemy.add_state(ステートID) #ステートの付与

enemy.remove_state(ステートID) #ステートの解除


●そのMAPの(X座標1、Y座標2)のイベントを呼び出す
for event in $game_map.events_xy(1, 2)
event.start
end

●そのマップイベントID4,6,7,9,11,12を一斉に一時消去
for i in [4,6,7,9,11,12]
$game_map.events[i].erase
end

●流れている曲を変数n番に保存し再生
$game_variables[n] = RPG::BGM.last #保存
$game_variables[n].play #再生

●該当イベントがX座標がa、Y座標がbの時発動
(if )$game_map.events[@event_id].pos?(a, b)

●パーティーメンバーの中に特定の職業もしくは特定のスキルがあるか?
$game_party.members.any?{|actor| actor.class_id == id }


●ツクールからブラウザを起動しサイトを開く
url = "ここにURL"
a = Win32API.new("shell32","ShellExecuteA", %w(p p p p p i),"i")
a.call(0, "open", url, 0, 0, 1)


●ボタン
矢印キー:上:UP 下:DOWN 左:LEFT 右:RIGHT
その他:SHIFT CTRL ALT F5 F6 F7 F8 F9

*ボタンを押したかどうか?
Input.press?(Input::A) #Aの部分を好きなボタンに。

*ボタンを新たに押したかどうか?
Input.trigger?(Input::A) #Aの部分を好きなボタンに。

*ボタンを押し続けたかどうか?
Input.repeat?(Input::A) #Aの部分を好きなボタンに。

●スクリプトで指定するボタン一覧




※これらはツクールVXを基にしています。
中にはVXACEでも動くものもありますがダメなものもあります。

なので、ツクールVXACEのスクリプトコードを知りたい方には、これがおすすめです↓↓

RGSS3リファレンス イベントコマンド版(ふりーむに飛びます)
http://www.freem.ne.jp/win/game/10101
VXACEのスクリプトコードをまとめたプロジェクトデータです。


ニコニコ動画で、VXACEですが、初心者目線でスクリプトの書き方の講座を開いている方がいらっしゃいます。
ヘルプみたいな固い文章を読むだけじゃ、なかなか理解できない!という方におすすめです。
http://www.nicovideo.jp/mylist/38339013

(なお、講座開始は動画1分後からです)
  • 2014.10.29 Wednesday
  • 12:17

-

スポンサーサイト

  • 2017.02.20 Monday
  • 12:17
  • -
  • -
  • -
  • by スポンサードリンク

Comment
$game_party.members,any?{|actor| actor.class_id == id }
についてですが

,any? の部分を.any? にしないとうまくできませんでした

報告でした〜
そしてとても参考になってます
利用させて頂いています ありがとうございます
  • かおばん
  • 2015/02/07 6:44 PM
こんばんは、かおばんさん!
ご指摘してくださったところを修正しました。
報告してくださってありがたいです(*´∀`*)
この記事がかおばんさんの制作に役立ってくれて、記事を書いた甲斐がありました。
またいつでも利用してください〜〜〜!
  • オシブ
  • 2015/02/07 10:44 PM
色々検索してて またもやここが引っ掛かりました〜!
それで気付いたんですけど、

$game_variables[n] = $game_party.battle_members.size
っていうのは、
KAMESOFTさんなどなどのbattle_membersを定義しているスクリプトをいれている場合にしか使えないと思います
デフォルトプロジェクトを起動して検索したら引っ掛からなかったので。

「条件分岐:スクリプト」のイベントを大量生産している今日この頃な私でした!

(ちなみに、私が何をしらべてたかというと、battle_members.sizeなどなどを使って経験値を分配する機能を自分で拡張したかったからです。そういう訳でした)

ではまた!
  • かおばん
  • 2015/03/25 1:56 AM
かおばんさん、こんにちは! コメントありがとうございますー(゚∀゚)
おおう、そんなものが紛れ込んでましたか(´Д`;) 自分用のメモを持ってきたものなので、たぶんどっかで入れちゃったんですね。
ご指摘いただいたところは、削除させていただきました。報告、本当に助かります…! ありがとうございます!
  • オシブ
  • 2015/03/25 11:53 AM
Send Comment








   
この記事のトラックバックURL
Trackback