这段代码存在一个临时属性增加了,但是被销毁的时候没有减掉的bug。具体表现是当丢掉一个带有临时属性的物品时,该临时属性并没有被正确减掉,导致在该物品被销毁后,该临时属性仍然存在。

解决方法是在物品被销毁时,先判断该物品是否有临时属性,如果有,则需要将其临时属性先清除掉,再进行销毁。具体代码修改如下:

if (! obj->is_character() && ! obj->query("value") && ! obj->value()) { //write("因为这样东西没有具体价值,所以人们并不会注意到它的存在。\n"); write(obj->query("name")+"掉地上消失了。\n"); if (mapp(obj->query_temp_data())) obj->delete_temp("temp_data"); destruct(obj); }

临时属性增加了但是被销毁的时候没有减掉的bug #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 inf

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

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