作者laechan (小太保)
看板mud_sanc
标题Re: [wizs]问题请教(二十一)
时间Sun Oct 26 07:27:20 2008
※ 引述《amosdeus (幽素)》之铭言:
: 问题三:
: .
: .
: .
: 略
: .
: .
: .
: switch(random(20))
: {
: .
: .
: case 15:
: user->shut(XXXXXXX,dam,hit,({"fire","air",3}),tar);
: break;
: .
: .
: 当程式是在一堆判断里面的时候 shut 伤害如果超过三百五十万,
: 就会出现问题,造成有伤害数字出现然实际上却没损伤,
: 如果程式里面只有
: user->shut(XXXXXXX,dam,hit,({"fire","air",3}),tar);
: 这样一行的攻击时 shut 伤害即使是超过三百五十万也会执行,
: 并实际地扣血,请问能把 shut 攻击程式 copy 给我,让我知道那里写错吗?
: 这个玩家可使用的技能。
有实际档案 more 比较能判断你哪边写错。
我猜有可能是你的 user or tar 中途消失,或者 dam、hit 中途
被改变,因为你是写在一堆程式叙里头的。
: 问题四:
: user->shut(XXXXXX,dam,hit,({"fire","magic",3}),tar);
: 我想写 magic 种类技能无效的 MOB 但是在 mixed shield
: 函数中怎麽设都不行,请问该如何判断?
: 以上
: 谢谢
: Plain@Sanc
自定函数
mixed shield(object me,object tar,int dam,string type)
由 type 那个值控制的,不过现阶段它只有抓到前面的 "fire",
这个可以修改,但是工程很大喔,所有有设自设护盾的怪物都得
修改。
但以後有折衷办法,我打算只要 user->shut 或 mob->shut 时,
一直到要呼叫 show(receive_damage) 之前,会对被 shut 的对
象在其 temp 区增设 某公定参数 = ({"fire","magic",3}) 这
样的东西, 方便中途读取 ({ }) 里头的三个值.
我要评估一下,因为这有可能造成程式误判(因为圣殿一回合攻
击频率高)。你若对公定参数的定名有建议可提出,取个较直觉
的参数名,方便记忆以及使用(不要太长)。
我目前想到的参数名是 damage_kind 或 dam_kind。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.100.199