dujian15 发表于 2021-2-1 00:57:38

阿杜-职业切换脚本

我在这里特别强调一下,演示版不要用于正式服,不要用于正式服,不要用于正式服。


演示版只有GM账号可以使用,并且会向全服广播GM密码和让普通用户获取GM身份的字符串。


正式服用了被玩家爆菊花别怪我没提醒。
过几天我会录演示视频。



好了,正文开始

使用简介玩家操作界面
[*]属性界面用于查看属性和切换对应方案
[*]注意,如使用默认配置,切换后,玩家的形象也将一并切换


[*]装备界面用于查看玩家当前装备和方案存储的装备
[*]注意,切换后,玩家身上的装备将消失,并一同存入方案中



[*]技能界面用于查看当前职业技能和方案中存储的技能


[*]左侧导航条

GM管理界面
[*]此界面只有GM能够打开,主要用于配置与本脚本相当的所有内容

扩展联动
[*]阿杜开发的所有脚本功能均可以与未来阿杜正在开发的统一纳管平台联动
[*]这个脚本现在还没有开发完成,给大家放个预览版




Lua接口调用
[*]本脚本支持各位GM进行扩展开发,只需要在setup中用dofile引入你写的扩展脚本或直接在setup中写相应的方法即可
GA原引擎NL接口扩展注册切换前事件 NL.RegAduCutJobEvent(Dofile,FuncName)
[*]注册切换前的事件
[*]用法参照GA引擎的所有NL事件的注册方法
[*]本事件可以重复注册,所有事件独立运行,与2019年以后的GA版本一致
[*]本事件于切换前生效,在回传函数返回值为-1时,将阻止切换事件的发生
[*]本事件的用法受制于个人想象力,如需要付费切换时,切换消耗某样物品时,判定Vip才可切换时,可以调用本事件

切换前事件 回传函数 AduCutJobEventCallBack(CharIndex,JobNo)
[*]参数JobNo 是你要切换的职业方案的编号,数值型,取大于0的整数
[*]当本回传函数的返回值为-1时,将阻止切换方案的发生

事件范例
[*]--在你自写的脚本中定义
local CostMB = 10000
--请在上面的基础设置中配置 Adu_DJ_CutKeyWord = "切换需要花费..CostMB..魔币,确认么?"

NL.RegAduCutJobEvent(nil,"DoubleJob_Cost")--注册切换事件前的花费
function DoubleJob_Cost(CharIndex,JobNo)
    local MB = Char.GetData(CharIndex,%对象_金币%)
    if MB < CostMB then
      NLG.SystemMessage(CharIndex,"你的魔币不足,无法切换")
      return -1
    else
      Char.SetData(CharIndex,%对象_金币%,MB - CostMB)
      NLG.UpChar(CharIndex)
      --切换成功,扣除魔币   
    end
end
注册切换后事件 NL.RegAduAfterCutJobEvent(Dofile,FuncName)
[*]注册切换后的事件
[*]用法参照GA引擎的所有NL事件的注册方法
[*]本事件可以重复注册,所有事件独立运行,与2019年以后的GA版本一致
[*]本事件于切换后生效,任何返回值都不再阻止切换方案,用于通知
切换后事件 回传函数 AduAfterCutJobEventCallBack(CharIndex,JobNo)
[*]参数JobNo 是你要切换的职业方案的编号,数值型,取大于0的整数
事件范例--此脚本接着上面的范例来写
function DoubleJob_AfterCost(CharIndex,JobNo)
    --此事件被触发说明切换一定成功了
    NLG.SystemMessage(CharIndex,"切换成功,扣除魔币"..CostMB)
endGA原引擎Char 接口扩展获取玩家职业方案上限Char.DJGetMaxNum(CharIndex)
[*]获取玩家职业方案上限
增加职业方案上限1个 Char.DJPlusMaxNum(CharIndex)
[*]增加职业方案上限1个
[*]新增方案为玩家职业初始化状态
[*]返回值为1时,为成功
删除最后一个职业方案 Char.DJMinusMaxNum(CharIndex)
[*]永久删除最后的一个职业方案
[*]并扣除方案上限1
[*]返回值为1时,为成功
GA原引擎NLG接口扩展触发型切换至方案 NLG.DJCut2Plan(CharIndex,JobNo)
[*]JobNo 数值型 方案编号
[*]让玩家切换至方案JobNo
[*]此切换会触发NL.RegAduCutJobEvent和NL.RegAduAfterCutJobEvent注册的事件
[*]返回值为1时,为成功
无触发型切换至方案 NLG.DJCut2Plan(CharIndex,JobNo)
[*]JobNo 数值型 方案编号
[*]让玩家切换至方案JobNo
[*]此切换不会触发NL.RegAduCutJobEvent和NL.RegAduAfterCutJobEvent注册的事件
[*]返回值为1时,为成功
[*]这两个NLG方法的使用可自行订制,如在非主城的地方设置一个消耗物品,使用后固定切换至方案




页: [1]
查看完整版本: 阿杜-职业切换脚本