Re: [問題] about enchant kr
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間10年前 (2015/01/13 23:57)推噓5(5推 0噓 6→)留言11則, 4人參與討論串4/4 (看更多)
這程式段寫在 /adm/daemons/mob_d.c 的 die 函數,所有沒有
自訂 die 函數的怪物,陣亡時都會呼叫該函數,並執行底下:
189: // Laechan@Sanc add in 2012/08/10 for 魔法武器
190: if(wp)
191: if((int)wp->enchant("kr")>99)
192: killer->full_3p(111);
我用 running code 去跑:
obs=users();
foreach(ob in obs)
{
if(ob=ob->query("weapon1"))
{
if(ob->enchant("kr"))
write(ob->enchant("kr")+"\n");
}
}
========== 程式執行區 ==========
1500
1500
1500
1500
1500
1500
700
1500
========== 程式執行區 ==========
所以上面 >99 的判斷是絕對會 init 到的。
> score l
第[120]級 男性妖精戰神司祭--摳頂機器(Laechan:進階牧師)
生命力 : 0% ※************************************************
精神力 : 0% ※************************************************
內 力 : 0% ※************************************************
> enchant kr laechan
你緩緩唸道: 萬物之根源,萬能之力的馬納啊!...
你所拿的黃銅之槍(Yellow-Cooper Lance)發出了魔法的光芒!
> call customer;die
遊客發出一聲慘叫!!
遊客慢慢的倒在地上死了...你得到 810點的經驗值。
你拿起外地來的遊客(Customer)身上所有的東西。
> score l
第[120]級 男性妖精戰神司祭--摳頂機器(Laechan:進階牧師)
生命力 : 100% **************************************************※
精神力 : 100% **************************************************※
內 力 : 100% **************************************************※
我實測是有喔。
我剛剛在上面的程式段加上了訊息,如果玩家 enchant kr,打死
怪物時現在會看到一行
enchant kr: 你的 hp/sp/pp 全滿了.
如果你有看到這行→那就是實際上你的 sp 有回滿 100%,只是不明原因
變成 92%。
如果你沒看到這行→那當然就不會補 3p,這時就看為什麼你不會看到這行。
laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.157.53
※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1421164655.A.30B.html
推
01/14 09:02, , 1F
01/14 09:02, 1F
→
01/14 09:03, , 2F
01/14 09:03, 2F
→
01/14 09:09, , 3F
01/14 09:09, 3F
繼續 debug,針對 full_3p 的部份,凡有執行到這一行的話
它會顯示更多的細節訊息,你可以再試一下,要套用這項更新
必須 quit 過再登入:
> call customer;die
遊客發出一聲慘叫!!
遊客慢慢的倒在地上死了...enchant kr: 你的 hp/sp/pp 全滿了.
hp=4448179, hp_src=4448179
sp=754018, sp_src=754018
pp=455440, pp_src=455440
你得到 810點的經驗值。
你得到了(2)點學習點數。
你拿起外地來的遊客(Customer)身上所有的東西。
full_3p 執行的結果就是讓你的 Xp = Xp_src 值。
那一樣有兩種情況
如果你的執行結果 sp 不等於 sp_src,那代表 full_3p 判斷有問題。
如果你的執行結果 sp 等於 sp_src,那就是我先前提過的,可能存在
了其它因素使你的 sp 扣減。
這部份也需要你執行指令 a 以及 guild 的結果來判斷。
另外,指令 setdata prompt_show 可以看到快捷的 hp/sp/pp 趴數,
也可利用。
> setdata prompt_show
setdata: 你取消在 > 符號前面顯示hp/sp/pp比例.
> !
setdata prompt_show
setdata: 你設定在 > 符號前面加上hp/sp/pp比例顯示.
100% 100% 100% >
0% 0% 0% > call guard;die
高塔守衛發出一聲慘叫!!
高塔守衛慢慢的倒在地上死了...enchant kr: 你的 hp/sp/pp 全滿了.
hp=4448179, hp_src=4448179
sp=851167, sp_src=851167
pp=455440, pp_src=455440
你得到 6060點的經驗值。
你得到了(4)點學習點數。
你拿起高塔守衛(Guard)身上所有的東西。
怪物(guard /u/l/laechan/area/felid/mob/guard2)->
die() = 0
0% 0% 0% >
再按一次 enter
100% 100% 100% >
Laechan
※ 編輯: laechan (210.61.157.53), 01/14/2015 09:32:08
推
01/14 09:58, , 4F
01/14 09:58, 4F
→
01/14 09:58, , 5F
01/14 09:58, 5F
我剛試過了,full_3p 似乎對你沒效。
這是 bug,已修正,你可以 ask rewards.
Laechan
※ 編輯: laechan (210.61.157.53), 01/14/2015 10:55:31
推
01/14 16:45, , 6F
01/14 16:45, 6F
→
01/14 17:06, , 7F
01/14 17:06, 7F
→
01/14 17:30, , 8F
01/14 17:30, 8F
推
01/16 20:15, , 9F
01/16 20:15, 9F
→
01/17 06:54, , 10F
01/17 06:54, 10F
推
01/17 21:17, , 11F
01/17 21:17, 11F
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
170
201
200
252