Event Flg 擴充
通過Lua引擎,我們可以擴充現有的EventFlg數量,突破GMSV限制的255個。
這種方式的優勢在於,我們可以不用修改原有的數據庫模型,方便老的服務器無縫擴充。
定義方式
在lua腳本的init.lua或其他腳本中加入幾個lua函數,函數的參數下面會介紹
EventExpandCheckFlgCall 參數定義
獲取旗標的結果 EventExpandCheckFlgCall(player, type, flg)
player:[數值型] 玩家的對象實例的索引type:[數值型] 類型,NowEvent:0;EndEvent:1flg:[數值型] 旗標數,一般爲大於255的值,最大65535
返回值 0 或者 1,0表示未包含當前狀態,1表示包含
EventExpandSetFlgCall 參數定義
設置旗標的結果 EventExpandSetFlgCall(player, type, flg)
player:[數值型] 玩家的對象實例的索引type:[數值型] 類型,NowEvent:0;EndEvent:1flg:[數值型] 旗標數,一般爲大於255的值,最大65535
將指定玩家的指定旗標設置爲包含(1)狀態
EventExpandClsFlgCall 參數定義
取消旗標的結果 EventExpandClsFlgCall(player, type, flg)
player:[數值型] 玩家的對象實例的索引type:[數值型] 類型,NowEvent:0;EndEvent:1flg:[數值型] 旗標數,一般爲大於255的值,最大65535
將指定玩家的指定旗標設置爲不包含(0)狀態
其他說明
擴充的旗標可以在gmsv自帶腳本、稱號判定等情況中正常使用。
例子
function EventExpandCheckFlgCall(player, type, flg)
NLG.SystemMessage(player, "獲取角色的"..type.."類"..flg.."號旗標狀態")
return 1
end
function EventExpandSetFlgCall(player, type, flg)
NLG.SystemMessage(player, "設置角色的"..type.."類"..flg.."號旗標狀態爲1")
return 1
end
function EventExpandClsFlgCall(player, type, flg)
NLG.SystemMessage(player, "設置角色的"..type.."類"..flg.."號旗標狀態爲0")
return 1
end
HourGlass