作者laechan (眼镜男)
看板mud_sanc
标题Re: [wizs]问题请教(六)
时间Wed Mar 21 20:48:44 2007
※ 引述《amosdeus (幽素)》之铭言:
: 今天下午尝试做了一个属性技能,不过似乎没有作用也不能连用两个继承
: 得把inherit MONSTER;删除掉,这样就会发生问题,当用到set_verbs(({"脚踹"}));
: 会出现可怕的女孩一脚踹向你ERROR,删掉又会出错MOB会呆住请麻烦帮我看一下是
: 哪理出错 谢谢
: MOB位置:/u/p/plain/wide/virtue/mob/zi.c
: 技能位置:/u/p/plain/wide/predicable/character.c
: 再请教一个问题能设置当玩家打NPC时他会移走自己remove();不让玩家打吗?
: 谢谢
: Plain@Sanc
/u/p/plain/wide/virtue/mob/zi.c 的部份
一、inherit "/u/p/plain/wide/predicable/character";
inherit 里面接的档名必须是全档名,你上面少了 .c。
二、case x:
{ <= 多余的
.
.
break;
} <= 多余的(因为有 break;)
三、set_living_name("Eldritch Babe");
这样写也是错的
1)set_living_name 里面的字串不能有空格
2)set_living_name 里面的字母都不能大写
/u/p/plain/wide/predicable/character.c 的部份
一、你上面的 zi.c inherit GMONSTER; 是有问题的,因为你
的 zi.c 的怪物写法是 MONSTER 的写法,并不是 GMONSTER
的。
二、所有的 int 宣告的函数,都必须注意,要确保每一个判断
都必须要有回传值(return 整数),不然即使 update 没有
错误,程式执行中也可能会有错误。例如底下函数...
int DARK2(int dam,string type)
{
switch(type)
{
case "dam":dam=0;break;
case "light": dam*=3;break;
default:break;
}
你漏掉了 return dam;
}
打怪物,怪物马上消失,写法是在怪物里头自定 kill_ob 函数
void kill_ob(object ppl)
{
write(query("chi_name")+"叫道: 不要打偶啦~~~\n"+
query("chi_name")+"突然像烟一样消失了。\n");
remove(); // 消失
return ;
}
任何攻击怪物的指令以及动作,全都会呼叫上面的 kill_ob 函
数。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.140.115.215
1F:推 amosdeus:了解 谢谢 03/21 21:21