[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