|
|
发表于 2024-10-14 20:39:06
|
显示全部楼层
本帖最后由 jx3fans 于 2024-10-22 08:13 编辑
1.关闭GM功能,把每个gs_settings.ini里的:
改成
2.已经添加的GM道具为什么不能删除?要如何删除?
首先有的道具是无法在客户端删除的,能不能删除要看其对应的物品列表里的定义,文件路径是在服务端 settings/item下,大部分物品都在Other.tab里, CanDestroy 就是定义能不能被删除,1表示能销毁,0表示不能销毁。
为了删除一个道具而去改物品列表显然是不合适的,而且也不能解决已经存在GM道具的角色还能随意使用的问题,这里就要从服务端的 scripts\player\include\AddGMItem.lh 文件入手,将代码:- local nGMItemAmount = player.GetItemAmountInAllPackages(5, 4905)
- if bIsGM then
- if nGMItemAmount == 0 then
- player.AddItem(5, 4905, 1)
- Log(("[GM_ITEM]: %s(%s/%d) Acquired GM Item [5, 4905] x1"):format(szAcc, player.szName, player.dwID))
- end
- else
- if nGMItemAmount > 0 then
- player.CostItemInAllPackage(5, 4905, nGMItemAmount)
- Log(("[GM_ITEM]: %s(%s/%d) Remove GM Item [5, 4905] x%d"):format(szAcc, player.szName, player.dwID, nGMItemAmount))
- end
复制代码 改为:
- local nGMItemAmount = player.GetItemAmountInAllPackages(5, 4905)
- if bIsGM then
- if nGMItemAmount > 0 then
- player.CostItemInAllPackage(5, 4905, nGMItemAmount)
- Log(("[GM_ITEM]: %s(%s/%d) Remove GM Item [5, 4905] x%d"):format(szAcc, player.szName, player.dwID, nGMItemAmount))
- end
复制代码
就可以实现角色上线时自动检查并删除(5, 4905)这个道具,其他道具也可以参考着修改来删除
|
|