UniTale Wikia
Advertisement
Monstersフォルダ中身-0

「Monsters」の中には右の画像のように

.luaファイルが各敵ごとに用意するようになっています

今回は「Encounter Skeleton」のposeurを元に説明していきたいと思います。

変数[]

変数comments

comments = {"Smells like the work\rof an enemy stand.", "Poseur is posing like his\rlife depends on it.", "Poseur's limbs shouldn't be\rmoving in this way."}

こちらはダイアログに表示するコメントを設定しています。

1回行動をした後はこの変数内からランダムで表示されるようになっています。


ACT

commands = {"Act 1", "Act 2", "Act 3"}

こちらはACTで表示するコマンド一覧です。




randomdialogue = {"Random\nDialogue\n1.", "Random\nDialogue\n2.", "Random\nDialogue\n3."}

こちらは敵のセリフをランダムで表示する際に設定する変数です。

セリフを自分で競ってしなかった場合にこの中からランダムで表示されます。

(「Encounter Skeleton」では表示前にセリフを設定しているため使われていません)


Sprite

sprite = "poseur" --Always PNG. Extension is added automatically.

こちらは敵の絵を設定できる変数です。

sprite = "絵の名前"で設定することが出来ます。

例えばsans.pngの絵を使用する場合は"sans"と入れましょう。


name = "Poseur"

こちらは敵の名前です。敵選択時等に表示されます。

hp = 100

atk = 1

def = 1

こちらは敵のステータスを設定できます。


Check

check = "Check message goes here."

こちらは敵をチェックした際に出てくるコメントです。




Bubble

dialogbubble = "right" -- See documentation for what bubbles you have available.

こちらは敵の吹き出しの形を設定できます。

Dialogoptions

吹き出しは敵の会話毎に変更することも出来ます。








Spare

canspare = false

こちらはspareで終了するかどうかを判断するフラグです。

右の画像はtrueにした状態です。


Cancheck

cancheck = true

こちらは敵をcheckできる様にするかを判断するフラグです。

画像はfalseにした状態です。

関数(ファンクション)[]

function HandleAttack(attackstatus)

if attackstatus == -1 then

-- player pressed fight but didn't press Z afterwards

else

-- player did actually attack

end

end

こちらの関数はATTACKを選んだ後の攻撃をした後、スルーした後の処理を書いていく関数です。

if attackstatus == -1 then

else

の間に攻撃せずにスルーした場合の処理

else

end

の間に攻撃した場合の処理を書きます。

何も書かなくてもダメージ処理は自動で行われます。


function HandleCustomCommand(command)

if command == "ACT 1" then

currentdialogue = {"Selected\nAct 1."}

elseif command == "ACT 2" then

currentdialogue = {"Selected\nAct 2."}

elseif command == "ACT 3" then

currentdialogue = {"Selected\nAct 3."}

end

BattleDialog({"You selected " .. command .. "."})

end

こちらの関数はACTの処理を書いていく関数です。

commands変数の中身を基に作っていきます。

if command == "ACT 1" then

currentdialogue = {"Selected\nAct 1."}

elseif command == "ACT 2" then

currentdialogue = {"Selected\nAct 2."}

elseif command == "ACT 3" then

currentdialogue = {"Selected\nAct 3."}

end

上記の部分は上から

ACT1を選んだ場合、ACT2を選んだ場合、ACT3を選んだ場合

となっており、

currentdialogue = {"Selected\nAct 1."}は敵のセリフを設定しています

この場合は「Selected\nAct 1.」と喋らせることが出来ます。(\nは改行のこと)

if command == "ACT 1" thenの"ACT 1"の部分は

commands変数内の文字(コマンド名)をそのまま入れることで判定してくれます。

ただし、大文字でないと判定されないようなので注意。

大体こんな感じです

Advertisement