Recipe 扩充

通过Lua引擎,我们可以扩充现有的Recipe数量,突破GMSV限制的255个。

这种方式的优势在于,我们可以不用修改原有的数据库模型,方便老的服务器无缝扩充。

GMSV会在运行中自动调用指定作用的Lua函数,做到Recipe扩展的支持。

定义方式

在lua脚本的init.lua或其他脚本中加入几个lua函数,函数的参数下面会介绍

RecipeExpandCheckFlgCall 参数定义

获取旗标的结果 RecipeExpandCheckFlgCall(player, flg)

返回值 0 或者 1,0表示未包含当前状态,1表示包含

RecipeExpandSetFlgCall 参数定义

设置旗标的结果 RecipeExpandSetFlgCall(player, flg)

将指定玩家的指定旗标设置为包含(1)状态

RecipeExpandClsFlgCall 参数定义

取消旗标的结果 RecipeExpandClsFlgCall(player, flg)

将指定玩家的指定旗标设置为不包含(0)状态

其他说明

扩充的旗标可以在gmsv自带脚本、称号判定等情况中正常使用。

例子

function RecipeExpandCheckFlgCall(player, flg)
    NLG.SystemMessage(player, "获取角色是否习得"..flg.."号Recipe状态")
    return 1
end

function RecipeExpandSetFlgCall(player, flg)
    NLG.SystemMessage(player, "设置角色习得"..flg.."号Recipe")
    return 1
end

function RecipeExpandClsFlgCall(player, flg)
    NLG.SystemMessage(player, "设置角色忘记"..flg.."号Recipe")
    return 1
end