请教如何在存入物品中,加一个指定物品不能存
本帖最后由 rxoo 于 2013-4-25 05:39 PM 编辑//存入物品
case 1 :
item = present(id,me);
if(!item)
{
tell_object(me,"你身上没有这件物品。\n");
return 1;
}
else
{
//以下类型不给予存放
/* if( !item->query("dt_weapon") && !item->query("dt_armor") ) //动态物品
{
tell_object(me,"抱歉,这里不允许存放"+item->name()+"。\n");
return 1;
} else*/ if( item->query("vip_gold") ||
item->query("vip_weapon") ||//VIP武器不给保存
!item->query("xyzx_save_item") || //不是动态物品
item->query("backold_weapon_prop") || //断掉的兵器
item->query("backold_armor_prop") || //烧破的衣服
item->query("long_bei") ||
item->query("long_beia") ||
userp(item))
{
tell_object(me,"抱歉,这里不允许存放"+item->name()+"。\n");
return 1;
}
-----------------------------------------------------------------------------------------------------------------------------------
例如:想要在以上代码中加入, 青龙圣盔qinglong shengkui 这个装备不能存入
还请大师们帮我写一下 这个代码
再次感谢!
还有个问题就是 item->query("vip_weapon") ||//VIP武器不给保存 这个没用 VIP武器 还是能保存到里面
MUD 版本是 龙云梦的动态地图 装备 版
本
最简单的办法if item->query("name")=="青龙圣盔" return;
但是可能有些同名的东西就给过滤了。
最好的办法 在你不能存的装备里加一段函数比如
int no_save() {return 1;}
在存盘文件里 if item->no_save() return;
这样是最保险的做法,比id或者mark判断准确一点 本帖最后由 rxoo 于 2013-4-26 07:15 AM 编辑
-----------------------------------------------------------------------------------------------------------------------------------
装备里加int no_save() {return 1;} 存盘文件里 if item->no_save() return;
应该加在哪个地方,怎么写啊 ?
还望指导,我对这个真是不太会。
万分感谢!!!! 存的文件中:code部分
//以下类型不给予存放
/* if( !item->query("dt_weapon") && !item->query("dt_armor") ) //动态物品
{
tell_object(me,"抱歉,这里不允许存放"+item->name()+"。\n");
return 1;
} else*/ if( item->query("vip_gold") ||
item->query("vip_weapon") ||//VIP武器不给保存
!item->query("xyzx_save_item") || //不是动态物品
item->query("backold_weapon_prop") || //断掉的兵器
item->query("backold_armor_prop") || //烧破的衣服
item->query("long_bei") ||
item->query("long_beia") ||
userp(item))
改成
//以下类型不给予存放
/* if( !item->query("dt_weapon") && !item->query("dt_armor") ) //动态物品
{
tell_object(me,"抱歉,这里不允许存放"+item->name()+"。\n");
return 1;
} else*/ if( item->query("vip_gold") ||
item->query("vip_weapon") ||//VIP武器不给保存
!item->query("xyzx_save_item") || //不是动态物品
item->query("backold_weapon_prop") || //断掉的兵器
item->query("backold_armor_prop") || //烧破的衣服
item->query("long_bei") ||
item->query("long_beia") ||
userp(item)||
item->no_save())
装备int no_save() {return 1;}放最后 太谢谢你了 userp(item)||
这个判断是什么意思呢? userp(item)||
这个判断是什么意思呢?
hdo 发表于 2013-6-16 09:24 AM http://pkuxkx.com/forum/images/common/back.gif
userp(3) MudOS v21c2 (5 Sep 1994)
名称:
userp() - 判断指定的物件是否曾为可互动 (interactive).
语法:
int userp( object );
整数 userp( 物件 );
用法:
如果 arg曾是可互动物件, 则传回 1.
参考:
interactive(3), users(3), living(3)
翻译:
Spock @ FF 97.jul.25. (printed 3/16/95)
简单的说,就是判定该物件是不是玩家。如果是玩家,存储的时候可能出错。
页:
[1]