作者laechan (打死不投马冏,李系咩安抓)
看板mud_sanc
标题Re: [wizs]问题请教(十二)
时间Thu Jul 5 11:41:24 2007
※ 引述《hlead (希多)》之铭言:
: 写法问题一:
: 假设有个参数为abc
: 如果abc这参数为1时
: 就移除这room的mob
: 然後叫某一只mob出来
要看是什麽参数,我假设你是指纪录在房间的 abc...
mixed obs;
object ob;
if((int)room->query("abc")==1)
{
obs=all_inventory(room);
foreach(ob in obs)
if(!userp(ob) && living(ob)) // 非玩家的生物=mob
ob->remove();
}
clone_object(你想招的mob)->room;
: 写法问题二:
: 让怪物自动攻击身上有某参数的玩家
在怪物档内自订 init 函数...
void init()
{
if(this_player()->query_temp("某参数"))
::init(); // 自动执行原先的触发=auto kill
return ;
}
: 写法问题三:
: 假设有个参数abc为1
: 怪物死掉後。
: 如果玩家身上有abc这参数。
: 就消掉abc这参数。
那你就要先写「假设玩家身上有个参数叫 abc」。
在怪物档内自定 die 函数...
void die()
{
object ppl=this_player(); // 杀死怪物的人
ppl->delete_temp("某参数");
::die(); // 执行原先的 die
}
一般有 query 及 query_temp 两种,它们的资料纪录区不一样
,例如打死明王可穿菩提袈裟,纪录的参数是在 data 区,好像
是 query("record_data/xxxxxxxxx"),而一般像施法後会储存
的资讯像是 str+多少, con+多少, ... 则是放在 query_temp
区。
两者的差别是,temp 区的资料在玩家 quit 後会消失。
一、新增的参数,如果不希望玩家 quit 後消失,请一定要纪录
在 record_data 内,例如...
record_data/norr_abc : norr 代表新增参数的人是你
abc 代表你要新增的参数
二、新增的参数,如果希望玩家 quit 後就跟着一起消失,只需
纪录在 temp 区即可,但格式一般有三种...
norr/abc
norr_abc
time_record/norr_abc
也就是设定方式像是 ppl->set_temp("norr/abc") 这样,则
玩家在 quit 後参数就会跟着消失。
LAechan
: -----------------------------
: 其实好像问题好像差不多...= =
: 这个虽然有参考...
: 不过,看不太懂就是了...orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.231.124.227
1F:推 hlead:恩..感谢。 07/05 11:56