logoHourGlass
用Lua腳本進行稱號判定

用Lua腳本進行稱號判定

TitleCheckCall可以讓用戶通過Lua腳本來自定義稱號判定的條件

定義方式

  • titleconfig.txt中增加新的條件設置,使用LUA作爲條件關鍵字即可,具體參照下面的值映射說明
  • 在lua腳本的init.lua或其他腳本中加入一個名爲TitleCheckCall的lua函數,函數的參數下面會介紹

TitleCheckCall參數定義

TitleCheckCall(CharIndex, Data, Flg)

  • CharIndex:[數值型] 對象Index
  • Data:[數值型] 值
  • Flg:[數值型] 條件

返回0則表示稱號條件不滿足,返回1表示稱號條件滿足。

Data和Flg都可以作爲判定的條件,不用拘泥於具體的值。

值映射說明

titleconfig中定義的條件包含3個部分,分別是條件關鍵字條件判定符條件數值,如LUA=50,它的條件關鍵字ENDFLG條件判定符=條件數值50

這樣的定義傳入TitleCheckCall的時候,Data參數的值是50,而Flg參數的值則是5,下面是具體的Flg的值和符號的映射關係

  • 0: <=
  • 1: >=
  • 2: <>
  • 3: >
  • 4: <
  • 5: =

例子

titleconfig.txt

LUA=0,LUA>1,TITLE=1001

init.lua

function TitleCheckCall(CharIndex, Data, Flg)
    if(Data==0)then
        if(Char.GetData(CharIndex, %對象_升級點%) >= 10)then
            return 1 -- 可用升級點大於10,則表示滿足LUA=0的條件
        end
    end
    if(Data==1)then
        if(Flg==3)then
            if(Char.GetData(CharIndex, %對象_掉魂%) == 1)then
                return 1 -- 掉魂數量1個,滿足LUA>1的條件
            end
        end
    end
    return 0 -- 都不滿足
end