作者laechan (小太保)
看板mud_sanc
标题Re: 关於remove_func()
时间Thu Jan 17 20:56:58 2008
※ 引述《hermis (夏目)》之铭言:
: 这是脱掉装备时才会执行的函数对吧?
: int remove_func()
: {
: write(HIC"你放下狂战士之斧,感觉理智又回来了,力量却衰减不少....\n"NOR);
: delete("effect/stat-str",ints);
: delete("effect/stat-int",-ints);
你 delete 的语法有问题。
: return 1;
: }
: 我本来想让装备脱掉後把这两个属性扣回来,让他变回原来的装备,问题是,这样
: 变成他脱下後那个属性还是连在sco -l上面。原本附加的效果没有扣回来就脱掉了
: 。
: 虽然不会出现累加的情况,quit的话属性就会恢复,但是这样算bug吧?
remove 时不能做变更防具属性的动作。
wear 时才可以先做。
如果你要 remove 时做,就要顺便做玩家属性的扣回...
ppl = this_player();
str = query("effect/stat-str");
ints = query("effect/stat-int");
ppl->add("stat/str",-str);
ppl->add("mod/stat-str",-str);
ppl->add("stat/int",-ints);
ppl->add("mod/stat-int",-ints);
delete("effect/stat-str"); // delete 的正确语法
delete("effect/stat-int");
return 1;
这样 remove 在执行时,它就会将该武防视为「原先就没加 str 及
int」的物品,而不会再去更动玩家的 str 及 int。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.34.90