【筆記】Galv's Puzzle Functions MZ

2023/06/10閱讀時間約 5 分鐘
關於 Galv 的謎題功能筆記,部分插件命令包含範例參考。此篇會依照個人習慣跟紀錄做更新。

控制自開關

  需要透過腳本使用該指令,可以透過該指令控制要打開或關閉自開關。
  同樣指令記得皆是英文或數字。
Galv.PUZ.switch(d,s,x,e);
  d 為事件的方向,指定方式為:
    2 下
    4 左
    6 右
    8 上
    0 角色下方
    4dir 全方向
    front 事件正面
    [d,d,d] 具體指定方向
    event 只改變指定事件
  s 為自開關,事件頁中的 A B C D 開關。
  x 可以寫 on 打開、off 關閉或 flip 翻轉。
    flip 的用法是把 on 的改成 off 或 off 改成 on。
  e 為事件 ID,如果指定成 this._eventId 則是目前編寫中的事件。
範例:
Galv.PUZ.switch(2,'B','on',this._eventId);
目前事件的自開關 B 打開。
Galv.PUZ.switch(2,'B','on',7);
事件 7 的自開關 B 打開。
Galv.PUZ.switch('4dir','A','off',2);
事件 2 的自開關 A 關閉。

座標判斷

  透過這個腳本,可以直接幫你確認事件的座標,使用在寫條件分歧上相當好用。
Galv.PUZ.isAt(t,e)
  t 是要判定的座標,可以是事件ID ,0 為玩家,也可以指定座標 x y 輸入
  e 則是你要判定的事件 ID ,輸入 this._eventId 則是指定目前事件,0 為玩家。
範例:
Galv.PUZ.isAt([12,14]) 目前事件是否在座標 12,14 位置。
Galv.PUZ.isAt([12,14],9) 事件 9 是否在座標 12,14 位置。
Galv.PUZ.isAt(0,5) 事件 5 的座標是否跟玩家相同。
Galv.PUZ.isAt(4,this._eventId) 目前事件的座標是否跟事件 4 相同。

群組開關條件分歧

  在條件分歧中使用,用來確認群組開關是 on 還是 off 。
Galv.PUZ.selfSwitchesOn(s,x,x,x)
Galv.PUZ.selfSwitchesOff(s,x,x,x)
  s 是自開關 A B C D
  x 為事件 ID,用來檢查哪些事件的開關是否都已經 on 或 off。
※此指令會與 Core Engine VisuStella MZ 衝突。
-
Galv.PUZ.switchesOn(x,x,x)
Galv.PUZ.switchesOff(x,x,x)
  這個是用來檢查群組開關的指令。
  x 是開關 ID。

事件啟動順序

  用來記錄啟動事件順序的一個功能,可以記錄玩家啟動機關的順序,不用再寫複雜的條件分歧。
Galv.PUZ.setComb(id,v,v,v)
  id 是用來辨識哪一個群組的順序。
  v 為順序的值。
範例:
Galv.PUZ.setComb(4,1,2,3) 群組ID 4 的順序為 1 2 3。
-
Galv.PUZ.addToComb(id,v)
  id 為要加入順序的群組。
  v 為要加入的順序。
範例:
Galv.PUZ.addToComb(4,1) 群組ID 4 加入順序 1 的值。
Galv.PUZ.addToComb(4) 群組ID 4 加入當前事件 ID 的值。
-
Galv.PUZ.checkComb(id)
  id 為要確認順序的群組,用來確認玩家輸入的順序是否正確。

多項道具確認

  不須使用變數,可以直接透過腳本確認持有的道具 ID 來進行條件分歧。
Galv.PUZ.hasItems(x,x,x)
  x 為道具 ID
範例:
Galv.PUZ.hasItems(1,2,3) 確認玩家是否持有至少一個以上這些 ID 的道具。
-
Galv.PUZ.hasWeapons(x,x,x)
  x 為武器 ID
-
Galv.PUZ.hasArmors(x,x,x)
  x 為防具 ID
範例:
Galv.PUZ.hasArmors(1,2) 確認玩家是否持有至少一個以上這些 ID 的防具。
-
Galv.PUZ.itemAmount(t,id)
  t 為類型,可以指定下列類型
    item 道具
    weapon 武器
    armor 防具
  id 為道具 ID
  這個命令會返回道具的數量,並且可以添加比較的數字跟符號。
範例:
Galv.PUZ.itemAmount('item',1) >= 10 檢查是否有大於 10 的 ID為 1 的道具。
以及如果有多項道具確認的話可以寫成下列範例。
Galv.PUZ.hasItems(1,2,3) && Galv.PUZ.hasArmors(1,2) && Galv.PUZ.itemAmount('item',1) >= 10
檢查道具ID 1 2 3 、防具ID 1 2 以及道具ID 1 的數量有沒有大於 10。
92會員
118內容數
關於遊戲心得、遊戲創作等等相關的各種紀錄。
留言0
查看全部
發表第一個留言支持創作者!