logoHourGlass
Event Flg 擴充

Event Flg 擴充

通過Lua引擎,我們可以擴充現有的EventFlg數量,突破GMSV限制的255個。

這種方式的優勢在於,我們可以不用修改原有的數據庫模型,方便老的服務器無縫擴充。

定義方式

在lua腳本的init.lua或其他腳本中加入幾個lua函數,函數的參數下面會介紹

EventExpandCheckFlgCall 參數定義

獲取旗標的結果 EventExpandCheckFlgCall(player, type, flg)

  • player:[數值型] 玩家的對象實例的索引
  • type:[數值型] 類型,NowEvent:0;EndEvent:1
  • flg:[數值型] 旗標數,一般爲大於255的值,最大65535

返回值 0 或者 1,0表示未包含當前狀態,1表示包含

EventExpandSetFlgCall 參數定義

設置旗標的結果 EventExpandSetFlgCall(player, type, flg)

  • player:[數值型] 玩家的對象實例的索引
  • type:[數值型] 類型,NowEvent:0;EndEvent:1
  • flg:[數值型] 旗標數,一般爲大於255的值,最大65535

將指定玩家的指定旗標設置爲包含(1)狀態

EventExpandClsFlgCall 參數定義

取消旗標的結果 EventExpandClsFlgCall(player, type, flg)

  • player:[數值型] 玩家的對象實例的索引
  • type:[數值型] 類型,NowEvent:0;EndEvent:1
  • flg:[數值型] 旗標數,一般爲大於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