logoHourGlass
RegVSEnemyCreateEvent

NL.RegVSEnemyCreateEvent

NL.RegVSEnemyCreateEvent(Dofile, FuncName)

函數功能

在玩家遇敵的時候觸發,可以通過這個接口來修改遇敵的隊列和數量。

參數說明

  • Dofile:字符串 要加載的腳本文件名,如果爲當前文件,則定義nil即可
  • FuncName:字符串 觸發的Lua函數的名稱,該函數的申明格式請參考[VSEnemyCreateCallBack]

返回值

無返回值

語法

VSEnemyCreateCallBack(CharIndex, GroupIndex, EnemyNum, EnemyList)

參數說明

  • CharIndex:數值型 響應事件的對象index,該值由Lua引擎傳遞給本函數。
  • GroupIndex:數值型 響應事件的戰鬥遇敵group ID,該值由Lua引擎傳遞給本函數。
  • EnemyNum:數值型 響應事件的戰鬥遇敵數量,該值由Lua引擎傳遞給本函數。
  • EnemyList:[數組型] 響應事件的戰鬥遇敵隊列,該值由Lua引擎傳遞給本函數。

EnemyList是一個數組,長度依據GMSV設置爲16,既EnemyList[1] ~ EnemyList[16] 爲對應的16個敵人信息,每個值爲Enemy Index(可以通過Data.EnemyGetIndex 接口獲取指定enemy的index)。如果無信息,則對應下標的值爲-1。

返回值

返回新的遇敵隊列即可,如無修改返回EnemyList或其他非Table類值即可。

參考實例

NL.RegVSEnemyCreateEvent(nil,”MyVSEnemyCreateCallBack”);

function MyVSEnemyCreateCallBack(CharIndex, EncountIndex, EnemyNum, EnemyList)
    local EnemyIndex = Data.EnemyGetIndex(1); -- 獲取虎人的EnemyIndex
    local NewEnemyList = {}
    for i=1,16,1 do
        if i <= 10 then
            NewEnemyList[i] = EnemyIndex; -- 10個虎人
        else
            NewEnemyList[i] = -1; -- 剩下的無效
        end
    end
    return NewEnemyList;
end