效果:
不同形象对应不同专属装备,开始想用下面函数实现
NL.RegItemString(Dofile, FuncName, ItemSigh)
LUA_use : [ItemUseCallBack] 道具使用触发
~~LUA_init: [ItemInitCallBack] 道具初始化触发~~
LUA_att : [ItemAttachCallBack] 道具装备触发
LUA_det : [ItemDetachCallBack] 道具卸下触发
结果实验发现LUA_att方法并不适用,也可能我用法不对,LUA_use可以触发道具,但是装备无法触发。后来看到封包函数
Protocol.OnRecv(Dofile, FuncName, PacketID)函数功能创建一个指定封包接受到后触发的函数 发现此函数在双击道具的时候会触发,然后通过local playerIndex = Protocol.GetCharByFd(Fd);获取人物index就可以实现双击装备时判断装备和当前人物形象是否匹配初步实现还不错,后来发现拿起装备,放到对应道具栏,此方式无法通过Protocol.OnRecv(没找到封包),然后想起一个函数 NL.RegItemOverLapEvent(Dofile, FuncName)函数功能创建一个道具重叠触发的事件,这个道具重叠的意思是,在道具栏把一个道具拖向另一个道具会触发的事件。 总结: 1、双击装备完成穿戴 使用Protocol.OnRecv函数可以判断 2、拿起装备,放到对应道具栏,使用NL.RegItemOverLapEvent函数可以判断 这样就能通过这两个函数完成专属形象穿戴专属装备了 大家有别的想法可以一起交流,也祝大家能发现更多好玩的功能
|