这段代码实现了玩家在游戏中丢掉物品的功能。其中,do_drop函数是实际执行丢掉物品的函数,而main函数则是对输入参数进行解析后调用do_drop函数。

在do_drop函数中,首先判断物品是否正在被骑乘,如果是则需要先下马。然后判断物品是否可以被丢掉,如果不能则返回失败。接着判断当前环境是否允许丢掉物品,如果不允许则返回失败。然后判断物品是否处于装备状态或者当前环境中物品数量是否已经达到了最大值,如果是则返回失败。最后将物品移动到当前环境中,并输出相应的信息。

需要注意的是,这段代码中存在一个问题,即如果玩家丢掉的是非临时物品(即从数据库中加载的物品),则在丢掉后重新拾取时,其属性会被清除,这是因为在移动物品时没有调用setup函数重新设置其属性。

丢掉装备后装备属性为什么会清除?检测代码#include confighinherit F_CLEAN_UP;int do_dropobject me object obj int raw;void create seteuidgetuid; int mainobject me string arg	object obj inv obj2;	int i amount;	mixed info;	s

原文地址: https://www.cveoy.top/t/topic/bCbP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录