ロートル元ゲーム開発者がツクールでゲームを作る|鉱山を掘る

まだムシ相撲まわりを作ってるんですが、目先を変えてメモ代わりにぺたり。

◆アニメーションの表示:このイベント, ダメージ
◆スクリプト:var actor = $gameActors.actor(1);
:     :var damage = 0;
:     :if(actor){
:     :  if(actor.hasArmor($dataArmors[54])){
:     :     damage = 2;
:     :  } else if (actor.hasArmor($dataArmors[55])){
:     :     damage = 3;
:     :  } else if (actor.hasArmor($dataArmors[56])){
:     :     damage = 6;
:     :  }
:     :}
:     :enemyDamage[this.character(0)._eventId - 1] += damage;
◆条件分岐:スクリプト:enemyDamage[this.character(0)._eventId - 1] >= 6
  ◆SEの演奏:Explosion1 (90, 100, 0)
  ◆イベントの位置設定:このイベント, (0,0)
  ◆変数の操作:#0001 汎用変数 = 乱数 1..10
  ◆条件分岐:汎用変数 = 1
    ◆変数の操作:#0001 汎用変数 = 乱数 163..191
    ◆スクリプト:$gameParty.gainItem($dataItems[$gameVariables.value(1)], 1);
    :     :$gameVariables.setValue(2, $dataItems[$gameVariables.value(1)].name);
    ◆文章:なし, ウィンドウ, 下
    :  :\V[2]を手に入れた!
    ◆
  :それ以外のとき
    ◆文章:なし, ウィンドウ, 下
    :  :銅を手に入れた!
    ◆アイテムの増減:銅 + 1
    ◆
  :分岐終了
  ◆セルフスイッチの操作:B = ON
  ◆
:分岐終了
◆セルフスイッチの操作:A = OFF

なんか似たようなコードばかり貼ってる気がするんですが、鉱山のスクリプトです。actor.hasArmor($dataArmors[54])〜actor.hasArmor($dataArmors[56])ってのはツルハシを装備していることを表します。54が普通のツルハシ、55が良いツルハシ、56が更に良いツルハシです。普通のツルハシだと3回で岩が壊れ、良いツルハシだと2回、更に良いツルハシだと1回で岩が壊れる仕組みになっています。

んでもって、岩が壊れるとアイテムが手に入ります。ここでは10分の1の確率で化石が手に入ることにしています。◆変数の操作:#0001 汎用変数 = 乱数 163..191でどの化石が手に入るかを決定しています。アイテム番号163から191までが化石なので、直接アイテム番号を代入して入手できるよう、スクリプトで記述しているのです。その後、アイテム名を変数2に代入しています。ツクールの制御文字には何故かアイテム名を表示するものが無いので、わざわざ変数にアイテム名を代入して表示しているのです。面倒ですね。

化石が手に入らない場合は銅が手に入ります。実際は他に鉄とか金とか宝石とかもあるんで、もう少し乱数まわりは複雑になる予定です。先日作った重みつきランダムのプラグインを使うという手もありますね。とりあえず今回はたたき台まで。

#ゲーム #雑記 #開発 #JavaScript #RPGツクール #RPGツクールMV


コーヒー代でも投げてくれると、作者が喜びます。