作者laechan (打死不投马冏,李系咩安抓)
看板mud_sanc
标题Re: [wizs]问题请教(十三)
时间Mon Jul 9 13:34:46 2007
※ 引述《hlead (希多)》之铭言:
: 问题一:
: 能让shout所显示的话,
: 限制在..存在於这区域的人才看的到吗?
: 或者有别的写法?
: 反正就是如果出现一段讯息,
: 然後那段讯息只会让现在 在这区域的人看到。
假设房间区域在 "/d/ppl/laechan/hole/" , 这个字串共长
20 个字, 程式大概长底下那样...
mixed usr=users(); // 读线上全部的玩家
string str;
object ppl,env;
foreach(ppl in usr)
{
if(!ppl || !interactive(ppl)) continue;
if(!env=environment(ppl)) continue;
// 玩家在线上, 而且也存在於某一个房间
str=base_name(env); // 读取玩家所在房间的完整路径档名
// 如 /d/ppl/laechan/hole/001 (没有 .c)
if(strlen(str)>20 && str[0..19]=="/d/ppl/laechan/hole/")
tell_object(ppl,"想让玩家看到的话.\n");
}
至於,如果该区域房间极少的话,也可以采用将该区域房间
全部读出,然後一格一格 tell_room 的方式,不过这种比较
少用。
: 问题二:
: 影子传说的那种快速再生怎样写?
: 就是总量不变,死了後会马上在别格重生的那个。
: 恩,不知道放哪。而且好像也看不了。
这是商业机密。
: 问题三:
: 有办法使怪物的平常攻击的hit数增加吗?
: 加了多重攻击这技能上去好像没啥用= ="
怪物的攻击,基本上是怪物自己呼叫 normal_attack 去打的
,多重攻击因为改成了「不需要再去 en 的被动技能」,所以
你为怪物加上那个也没用,因为怪物的多重攻击我没写。
有两种做法...
一、我为怪物加上特殊判断。例如你在怪物身上设参数...
set("multi_attack",10);
然後我让怪物一抓到上述设定就於每回合自动攻击十次。
这个设定如果实装,国家怪物也可以这样子设。
二、怪物自订 special_fun...
set_verbs({{"打向","扁向"})); // 设定一般攻击叙述
set("special",99); // 设定特攻比例
int special_fun(object mob,object ppl)
{
if(random(5)==3) // 实际普攻比例 1/5 = 20%
{
normal_attack(ppl,mob);
normal_attack(ppl,mob);
normal_attack(ppl,mob);
normal_attack(ppl,mob);
normal_attack(ppl,mob); // 五行就是五次攻击
}
else
{
// 才是特攻的部份, 机率 4/5 = 80%
}
return 1;
}
这样的写法比较不好, 所以一比较好,有空我今天改。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.184.78
1F:推 hlead:恩~..thanks... /// 商业机密orz... 07/09 13:46