[wizs] error msg

楼主: laechan (挥泪斩马云)   2023-03-14 09:41:19
初步看不出是啥原因
/adm/daemons/mob_d.c
if( ss>99 || 1+ss >2+random(100))
{
tar=defend_attack(me,tar);
// 执行特攻的部份我先 pass
// 这里判断了 me tar 的存在, 所以基本上这一段是没问题的
// if(me && tar && environment(me) && environment(tar))
// call_other(me,"special_fun",me,tar);
return ;
}
执行时段错误: *Bad argument 1 to call_other()
Expected: string or array or object Got: 3.
程式: /std/mob/living.c:113
物件: /d/ppl/justinj/devil/mob/amethyst#447047
生物名: Amethyst Beast
/d/ppl/justinj/devil/mob/amethyst#447047 "heart_beat" /d/ppl/justinj/devil/mob/amethyst.c:70
/d/ppl/justinj/devil/mob/amethyst#447047 "heart_beat" /std/bmonster.c:129
/adm/daemons/mob_d "continue_attack" /adm/daemons/mob_d.c:423
/adm/daemons/mob_d "execute_attack" /adm/daemons/mob_d.c:462
/d/ppl/justinj/devil/mob/amethyst#447047 "special_fun" /d/ppl/justinj/devil/mob/amethyst.c:60
/d/ppl/justinj/devil/mob/amethyst#447047 "shut" /std/mob/living.c:113
int special_fun(object frog,object ppl)
{
所以这里也是没问题的
60行在这里
default: msg damage chance 不见了
frog->shut("$N对$O使用了‘紫晶爪’!",90000,({"dam","physics",3}),ppl,3);
break;
/std/mob/living.c
varargs int shut(string msg,int damage,int chance,mixed kinds,object tar,int times)
{
// 百分之 99.99999 都是怪物->玩家
if(tar->query("record_data/no_damage_msg")) s=1;
它认为 tar(就是玩家) 不存在
有空再改一下~
/std/mob/living.c 不备份修改
if(!objectp(tar)) return 1;
加一行判断。以这个 case,实际上有 tar,只是 tar 非 object。
Laechan

Links booklink

Contact Us: admin [ a t ] ucptt.com