追加方法

Last-modified: 2021-07-18 (日) 21:54:55
 
 

はじめに

ロボダンではユーザー自身がローカルでデータを作成し、ゲーム内に追加することが可能です。
本項では追加方法について簡易的に記述します。

データは初心者が1から作るには複雑なため、
慣れないうちは「サンプルデータ」や「味方」「メッセージ」内のデータを基に改変することを推奨します。
また、ロダにHTML版SRCヘルプファイルがアップされているので
それを参考にしながら作成しましょう。データの見方や特殊能力などがまとめてあるため必須です。

ローカルユニットに必要なファイル

必須

  • pilot.txt
    ユニットに乗り込むパイロットについて記述します。「兜甲児」「アムロ=レイ」などが該当します。
  • robot.txt
    パイロットが乗り込むユニットについて記述します。「マジンガーZ」「ガンダム」などが該当します。

この二つがあれば最低限動くようになります。
しかし、このままではせっかくのパイロットが喋ったりしません。味気ない。
なので以下のファイルを同時に用意しておきましょう。

あった方がいいもの

  • pilot_message.txt
    パイロットが喋る台詞について記述します。
  • animation.txt
    武装使用時などに再生される戦闘アニメについて記述します。
    再生されるアニメはSRC内に同梱されている「汎用戦闘アニメマニュアル」を参照してください。
  • パイロットアイコン
    パイロットの顔として表示される画像ファイルです。32×32(64×64)の256色bmpファイルを推奨します。
  • ユニットアイコン
    マップ上で表示されるユニットの画像ファイルです。32×32の256色bmpファイルを推奨します。
  • BGM
    ユニットの戦闘時に再生される音楽ファイルです。mp3、midiに対応しています。

これらが揃えば他のユニットと比べてもほぼ見劣りしなくなるでしょう。

複数人乗りのユニットを追加したい方向け

pilot_messageはパイロット一人のメッセージしか記述することができません。
もし戦闘中にパイロット同士で会話をさせたい場合はpilot_dialog.txtというファイルが必要になります。

また「パイロットとして乗りこまないキャラクターを会話させたい」場合には
non_pilot.txtにキャラクターを記述する必要があります。
これを応用すればキャラクターの表情パターンを用意し、
dialogと組み合わせることで台詞ごとにパイロットの表情を変えることも可能になります。

ファイルの格納場所

  • pilot、robotなどのテキストファイル
    →data内のローカルフォルダ
  • パイロットアイコン
    →bitmap内のpilotフォルダ
  • ユニットアイコン
    →bitmap内のunitフォルダ
  • BGM
    →midiフォルダ

以上の場所にファイルを置くとゲーム中で機能します。

出現方法

1.includeフォルダ内のローカル出現.eveを開く(メモ帳などのテキストエディタで開くことが可能)
2.式を記述する
3.オリジナルモードで次の階に進む
4.味方出現のタイミングでローカルユニットが出現する

式の書き方

If 仲間[パイロット名称] = 0 Then
Create 敵 ユニット名称 味方ランク パイロット名称 平均レベル 味方君X座標 味方君Y座標 非同期
Set 味方君 パイロット名称
Set 味方発見
Set ローカルスイッチ
Return
Endif

上記の式の「パイロット名称」に登場させたいパイロット、
「ユニット名称」にパイロットを乗せるユニットの名称を入れると登場するようになります。

例えば「シュジンコウ」というパイロットが乗った「シュヤクロボ」というユニットを登場させたいなら

If 仲間[シュジンコウ] = 0 Then
Create 敵 シュヤクロボ 味方ランク シュジンコウ 平均レベル 味方君X座標 味方君Y座標 非同期
Set 味方君 シュジンコウ
Set 味方発見
Set ローカルスイッチ
Return
Endif

となります。

複数のパイロットが乗るユニットを登場させたい場合は乗せたい順に「Create」と「Set」の間に

Pilot サポート名称 平均レベル
Ride サポート名称

という式を挟む必要があります。
「サポート名称」には続けて乗せたいパイロットの名称を入れてください。

If 仲間[シュジンコウ] = 0 Then
Create 敵 シュヤクロボ 味方ランク シュジンコウ 平均レベル 味方君X座標 味方君Y座標 非同期
Pilot ヒロイン 平均レベル
Ride ヒロイン
Set 味方君 シュジンコウ
Set 味方発見
Set ローカルスイッチ
Return
Endif

他にも乗せたいパイロットがいる場合はその分だけ上記の式を繰り返してください。

If 仲間[シュジンコウ] = 0 Then
Create 敵 シュヤクロボ 味方ランク シュジンコウ 平均レベル 味方君X座標 味方君Y座標 非同期
Pilot ヒロイン 平均レベル
Ride ヒロイン
Pilot ライバル 平均レベル
Ride ライバル
Set 味方君 シュジンコウ
Set 味方発見
Set ローカルスイッチ
Return
Endif

ローカルデータ作成時の注意点

pilot_dialog.txtは最大1Mb(1024Kb)です。
これを越えるとSRC本体が読み切れません。
また、合体シーンはローカルで記述するのは難しいのでダイアログに合体用のセリフを記述しておきマップで合体させることをお勧めします。
ローカルデータをアップデートしたい場合、ReplacePilotコマンドでパイロット変更、Upgradeコマンドでユニット変更をします。
特にすでに仲間にしているローカルデータを変更したい場合、両方記述しておいて変更後前のデータを消すということが必要になります。
また、データ作成時、アビリティの変身後の機体にはハイパーモードは記述できません。
分離・合体からは変身できません。
パーツ分離、変形は大丈夫です。SRC内部の仕様だと思われます。

追加応用

ここではローカルデータにおいていくつか要望のあったものに関して記述します。

ウルトラマン系追加方法

pilot.txt
ハヤタ=シン
ハヤタ, 男性, ウルトラマン 防衛チーム, AAAA, 200
特殊能力
SP高成長, 1
変身Lv1, 1
迎撃Lv2, 1, Lv3, 16, Lv4, 30, Lv5, 39, Lv6, 43, Lv7, 55
147, 147, 148, 153, 176, 157, 普通
SP, 65, てかげん, 2, ひらめき, 14, 熱血, 17, 集中, 28, 魂, 37, 激闘, 43
UM_HayataShin.bmp, Ultraman.mid
===
===
===
ベータカプセル, 変身Lv3=ウルトラマン(初代), 0, -, -, -, (!宇宙 変身Lv1)
ベータカプセル, 変身=ウルトラマン(初代), 0, -, -, -, (宇宙)
##パイロット能力の変身にレベルが設定されているのは変身が解けた後に再変身をさせないためです
##宇宙以外は3分間ということで3ターンのみ変身します

 

モロボシ=ダン
ダン, 男性, ウルトラマン 防衛チーム, AAAA, 200
特殊能力
SP高成長, 1
変身Lv1, 1
迎撃Lv2, 1, Lv3, 16, Lv4, 28, Lv5, 40, Lv6, 47, Lv7, 56
142, 146, 151, 144, 173, 155, 普通
SP, 65, 必中, 2, ひらめき, 14, 熱血, 17, 堅牢, 28, 愛, 35, 復活, 41
UM7_MoroboshiDan.bmp, UltraSeven.mid
===
===
===
ウルトラアイ, 変身=ウルトラセブン, 0, -, -, -, (変身Lv1)
カプセル怪獣ウインダム, 召喚Lv1=カプセル怪獣ウインダム, 0, 1, -, -, -
カプセル怪獣ミクラス, 召喚Lv1=カプセル怪獣ミクラス, 0, 1, -, -, -
カプセル怪獣アギラ, 召喚Lv1=カプセル怪獣アギラ, 0, 1, -, -, -
##セブンにはカラータイマーがないためターン制限はありません
##ただしカプセル怪獣はセブンになれないときに使うものなので
##使うとセブンになれなくなりますw

 

ウルトラセブン
ウルトラセブン, 男性, ウルトラマン, AAAA, 200
特殊能力
覚悟, 1
不屈, 1
SP高成長, 1
切り払いLv1, 1, Lv2, 14, Lv3, 25, Lv4, 38, Lv5, 46
S防御Lv1, 1, Lv2, 11, Lv3, 24, Lv4, 35, Lv5, 51
151, 147, 151, 144, 173, 155, 普通
SPなし
UM7_Ultraseven.bmp, UltraSeven.mid

 

カプセル怪獣ウインダム
ウインダム, 怪獣, BACA, 150
特殊能力
迎撃Lv1, 1, Lv2, 20, Lv3, 37, Lv4, 51
141, 140, 144, 135, 155, 147, 普通
SPなし
UM7_Windom.bmp, UltraSeven.mid

 

カプセル怪獣ミクラス
ミクラス, 怪獣, CABB, 150
特殊能力
切り払いLv1, 1, Lv2, 19, Lv3, 34, Lv4, 47, Lv5, 58
147, 125, 141, 133, 157, 148, 普通
SPなし
UM7_Miclas.bmp, UltraSeven.mid

 

カプセル怪獣アギラ
アギラ, 怪獣, CACB, 150
特殊能力
切り払いLv2, 1, Lv3, 31, Lv4, 55
143, 131, 135, 145, 155, 149, 普通
SPなし
UM7_Agira.bmp, UltraSeven.mid

 

##サンプル
##変身レベルによって変身先を変える場合。
##80を越えるとウルトラマンデータに防衛チームの機体がないため例ですw
高山我夢
我夢, 男性, ウルトラマン 防衛チーム, AAAA, 200
特殊能力
迎撃Lv1, 10, Lv2, 19, Lv3, 33, Lv4, 50, Lv5, 63
変身Lv1, 1, Lv2, 20
140, 146, 138, 139, 164, 160, 普通
SP, 65, 偵察, 2, ひらめき, 6, 必中, 11, 気合, 17, 熱血, 22, 覚醒, 35
UMGAIA_TakayamaGamu.bmp, UltramanGaia.mid
===
===
===
エスプレンダー, 変身Lv3=ウルトラマンガイア, 0, -, -, -, (!宇宙 変身Lv1 !変身Lv2)
エスプレンダー, 変身=ウルトラマンガイア, 0, -, -, -, (宇宙 変身Lv1 !変身Lv2)
エスプレンダー, 変身Lv3=ウルトラマンガイア(V2), 0, -, -, -, (!宇宙 変身Lv2)
エスプレンダー, 変身=ウルトラマンガイア(V2), 0, -, -, -, (宇宙 変身Lv2)

 

ウルトラマンガイア
ガイア, 男性, ウルトラマン, AAAA, 200
特殊能力
覚悟, 1
不屈, 1
切り払いLv1, 1, Lv2, 8, Lv3, 16, Lv4, 28, Lv5, 39
S防御Lv1=バリア防御, 1, Lv2, 14, Lv3, 27, Lv4, 40
140, 146, 138, 139, 164, 160, 普通
SPなし
UMGAIA_Gaia.bmp, UltramanGaia.mid

 

include.eve
*エピローグ:
ForEach 味方
  If Info(パイロットデータ,Pilot(),特殊能力所有,変身) = 1 And Skill(Pilot(), 変身) = 0 Then
    ClearSkill Pilot() 変身
  Endif
Next
Exit

 

使用 味方 ベータカプセル:
使用 味方 ウルトラアイ:
使用 味方 カプセル怪獣ウインダム:
使用 味方 カプセル怪獣ミクラス:
使用 味方 カプセル怪獣アギラ:
  SetSkill PilotID() 変身 0
Exit

 

私が見たのは80までなのでそれ以降のウルトラマンは3分変身なのかわかりませんw
また、ロボットダンジョンである以上防衛チームの機体(ジェットビートルとか)に乗せるべきですが、これもデータ内に機体があるのはマンとかセブンとか私が知っている範囲のものだけです。

ローカル追加機体ランダム出現

include.eve
ローカル追加機体:

 

##ランダム版。ローカル出現率に1をセットすると通常通り順番に出現
local ローカル味方番号 オリジナル味方最大 ローカル味方最大数 ローカル出現率 ローカル出現確率

 

##ローカルで使用する味方数を設定
Set ローカル味方最大数 6

 

##ローカルで出現する確率。1/ローカル出現率で出現
Set ローカル出現率 5

 

If 味方の数 = 設定[味方最大数] Or ローカル出現率 = 1 Then
Set ローカル味方番号 1
Set オリジナル味方最大 1
Else
Set ローカル出現確率 (ローカル味方最大数 * ローカル出現率)
Set ローカル味方番号 Random(ローカル出現確率)
Set オリジナル味方最大 0
Endif
Switch ローカル味方番号

 

#書式

#x

#Case
#ローカルケースx:

#If

#Create

#Set

#Set

#Set

#Elseif

#Goto

#Endif
#      ↓
#ローカル味方最大数の場合はElseifがなし

#Case
#ローカルケースx:

#If

#Create

#Set

#Set

#Set

#Endif

 

#サンプルケース
#好きなものに変更してください
Case 1
ローカルケース1:
If 仲間[ハヤタ=シン] = 0 Then
Create 敵 ジェットビートル 味方ランク ハヤタ=シン 平均レベル 味方君X座標 味方君Y座標 非同期
Set 味方君 ハヤタ=シン
Set 味方発見
Set ローカルスイッチ
Elseif オリジナル味方最大 = 1 Then
Goto ローカルケース2
Endif

 

Case 2
ローカルケース2:
If 仲間[モロボシ=ダン] = 0 Then
Create 敵 ウルトラホーク1号 味方ランク モロボシ=ダン 平均レベル 味方君X座標 味方君Y座標 非同期
Set 味方君 モロボシ=ダン
Set 味方発見
Set ローカルスイッチ
Elseif オリジナル味方最大 = 1 Then
Goto ローカルケース3
Endif

 

Case 3
ローカルケース3:
If 仲間[ジャック=キング] = 0 Then
Create 敵 テキサスマック 味方ランク ジャック=キング 平均レベル 味方君X座標 味方君Y座標 非同期
Pilot メリー=キング 平均レベル
Ride メリー=キング
Set 味方君 ジャック=キング
Set 味方発見
Set ローカルスイッチ
Elseif オリジナル味方最大 = 1 Then
Goto ローカルケース4
Endif

 

Case 4
ローカルケース4:
If 仲間[水樹茜] = 0 Then
Create 敵 烈火号 味方ランク 水樹茜 平均レベル 味方君X座標 味方君Y座標 非同期
Set 味方君 水樹茜
Set 味方発見
Set ローカルスイッチ
Elseif オリジナル味方最大 = 1 Then
Goto ローカルケース5
Endif

 

Case 5
ローカルケース5:
If 仲間[秋山椿] = 0 Then
Create 敵 紫電号 味方ランク 秋山椿 平均レベル 味方君X座標 味方君Y座標 非同期
Set 味方君 秋山椿
Set 味方発見
Set ローカルスイッチ
Elseif オリジナル味方最大 = 1 Then
Goto ローカルケース6
Endif

 

Case 6
ローカルケース6:
If 仲間[柴崎楓] = 0 Then
Create 敵 金剛号 味方ランク 柴崎楓 平均レベル 味方君X座標 味方君Y座標 非同期
Set 味方君 柴崎楓
Set 味方発見
Set ローカルスイッチ
Endif

 

Endsw

Return

 

##ローカルでの分離ユニットは自動合体イベントがないのでチェックして合体先を作成
*エピローグ:
If IsDefined(ゲッター烈火) = 0 And 仲間[水樹茜] = 1 And 仲間[秋山椿] = 1 And 仲間[柴崎楓] = 1 Then
  Unit ゲッター烈火 0
Endif
Exit

 

ランダムにしていても本体の味方が全て集まれば順番に出現します。

ローカルユニットの高度なアップグレード方法(Ver10以降)

「ロボダンで自分がお気に入りのユニットを参戦させたぞ!」という方は数多くいらっしゃるかと思います。
ですが……
「コイツ強すぎる……ある程度初期の状態からやった方がよくない……?」
「シナリオコマンドでアップグレードする方法が簡単すぎてこれじゃあ即戦力だよ!いきなり最終形態かよ!」
そんな方々にお答えするための、ロボットダンジョン-ロボダン-における高度なアップグレード方法です。

!!!attention!!!
このテキストはローカル追加ユニットを強化するためのものであるため、データテキストの作成と共にある程度SRCにおけるシナリオコマンドが書けることが前提です。
また、ロボダン作者のナオヒラ様に確認して公開許可は頂いておりますが、動作確認はご自身でなさって下さい。原則自己責任です。

1.ローカルユニットに「ランクアップ」の能力をつけておく。
ランクアップLvx(xには1-10を入力)をローカルユニットに持たせておきましょう。
例えばですが、ローカルユニット「ダンシャクオー」を「ミスターダンシャクオー」に強化したい時……
「ランクアップLv4=ミスターダンシャクオー」
上記の能力をダンシャクオーに持たせておくと、ランク4になった時自動的にミスターダンシャクオーに強化されます。
また、この特殊能力自体が複数段階で指定可能ですので、以下のような事も出来ます。
ダンシャクオー特殊能力
ランクアップLv4=ミスターダンシャクオー
ミスターダンシャクオー特殊能力
ランクアップLv8=真・ダンシャクオー
このケースだと、ランク4に到達したダンシャクオーはミスターダンシャクオーとなり、
ミスターダンシャクオーがランク8に到達すると最終形態「真・ダンシャクオー」になる形です。

2.パイロット情報関数を参照してアップグレード
今回の本題に当たります。レベルを参照してアップグレードする方法です。
以下の記述は筆者のアップグレードデータでパイロット情報関数を使用して行ったものです。
(正式名称は版権のためここではローカルパイロット並びにユニットとしました。)

If Level(ローカルパイロット) > 39 Then

 Upgrade ローカルユニットA ローカルユニットA後期型

EndIf

このコマンドは追加したローカルパイロットのレベルが40以上であれば、ローカルユニットAがローカルユニットA後期型に強化される……といった形です。
詳細はSRC公式ヘルプにある「パイロット情報関数」を参照下さいませ。
ただしこの記述はシナリオコマンドですので「ローカル出現の部分で記入してもよい箇所」に記述して下さい。それ以外の所だと誤作動を起こします。
また、どちらの強化方法にも言えることですが必ずアップグレード先データは用意しておきましょう。
2の方法を使用した場合、アップグレード後はすぐ記述を消去しないと再度戦闘時にローカルユニットAが存在しないというエラーメッセージが発生します。
※ある程度シナリオが書ける方なら、2の方法でアップグレード記述に関する制御をするのも1つの手かも知れません。

それでは、皆様によいロボダンライフがありますよう。

文責:八神のぞみ

既存ユニットの調整

取扱説明書で推奨されてないやり方となっております。
実はロボダンは「味方」フォルダと「ローカル」フォルダに全く同じ名称のユニットが存在している場合、データが競合せずに「ローカル」フォルダのデータを優先する仕様になっている。
そのため、他の人のロボダンに採用していない機体改訂案を使いたいといった場合は「ローカル」フォルダに関連txtファイルを入れるだけでデータの変更が可能。対象の機体が既に味方になっていたとしてもデータが切り替わる。
なお、この方法を使って改訂データを使う場合、「ローカル」フォルダに関連txtファイルを置くだけで良く、他のファイルを弄る必要はない。
気になる人は試しにSRCデータアップローダーのウルトラマン(別案).zip(制作:ナオヒラさん/ロボダン公式)の中身のtxtファイルを「ローカル」に入れてみよう。
実際にゲーム内でウルトラマンに出会った時、もしくは既に加入しているウルトラマンのデータが別案版に入れ替わっているだろう。
ちなみにローカルの関連txtを削除するだけで元のデータに戻ります。

その他注意

  • プラスモード・クロスモードでは設定しても出てきません。
  • オリジナルモードなら次のステージで必ず出現します。
    出てこない場合、書式や記述位置がどこか間違っている可能性があります。