Re: [摳頂] 指令 enchant
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間13年前 (2012/08/09 15:44)推噓2(2推 0噓 4→)留言6則, 3人參與討論串2/2 (看更多)
寫好了,暫時存在 /cmds/wiz/_wiz_enchant.c,開始 debug。
Errors written to /log/log:
/cmds/wiz/_wiz_enchant.c line 107: Undefined variable 'e1' before (mapping)wp->e
nchant
/cmds/wiz/_wiz_enchant.c line 107: Illegal lvalue before (mapping)wp->enchant
/cmds/wiz/_wiz_enchant.c line 108: Undefined variable 'e2' before (mapping)wp->e
nchant
/cmds/wiz/_wiz_enchant.c line 108: Illegal lvalue before (mapping)wp->enchant
/cmds/wiz/_wiz_enchant.c line 133: Warning: Unknown \ escape. before 憧有\n"+
/cmds/wiz/_wiz_enchant.c line 134: Warning: Unknown \ escape. before 憚爾雈i以先
把該武器
e1 e2 是之前預設的讀法,後來改成盡量不讀到 mapping 資料,
刪掉就 ok。warning 的部份是「蓋」這個字要改成「蓋\」,改
完也 ok。
> !cc
cc _wiz_enchant.c
/std/cmd_m.c: 更新及載入了.
/cmds/wiz/_wiz_enchant: 更新及載入了.
=============================================================
> wiz_enchant
enchant 指令說明:
=====================================================
enchant [效果簡稱] [施放對象]
例如: enchant hr man
1.你的魔法武器技能值、以及上述法術技能值,至少
都需要有 100 才可施放.
2.施放對象必須為玩家或自己,且必須有拿武器。
3.效果疊加限制請參照 help skill enchant 說明。
4.簡稱及效果對照
ad 增加攻擊傷害力 ah 增加攻擊命中力
fi 攻擊時增加熟練度 fp 攻擊時增加經驗值及學點
hr 擊中時 hp 回復 hv 普攻/en 額外增加連擊數
km 殺死怪物時較多金錢 kr 殺死怪物時 pp 回復
pa 提升武器格擋能力 pd 普攻/en 節省 pp 消耗
z1 攻擊中機率自動施展 hands 類法術(與靈力武器併效)
=====================================================
Laechan@Sanc 2012/08/09
> wiz_enchant hr
enchant: laechan 必須有裝備[第一武器]喔.
> wear blade
你裝備上 狂 風 刀(Crazy_Wind Blade)。
> !wiz
wiz_enchant hr
執行時段錯誤: *Bad argument 1 to <=
Expected: int or string or float Got: ([ ]).
程式: cmds/wiz/_wiz_enchant.c:125
物件: /cmds/wiz/_wiz_enchant
/std/user#186306 "cmd_hook" std/user.c:134
/cmds/wiz/_wiz_enchant "cmd_wiz_enchant" cmds/wiz/_wiz_enchant.c:125
sk=(int)wp->enchant(skname);
// 當武器已經有該效果時且未過時
if(sk>0)
{
這主要是我的 enchant 函數寫法問題,改一下就可,底下是
改完後的版本
/std/ob/weapon.c
varargs mixed enchant(string str)
{
if(str && str!="")
{
if(!undefinedp(enchant[str]))
return enchant[str];
return 0; // 主要是新增這行來傳回 0 值
}
return enchant;
}
然後我剛剛想到我沒有加上時效設定,基本上時效 20 分鐘。
> wiz_enchant hr
你緩緩唸道: 萬物之根源,萬能之力的馬納啊!化為打碎黑暗的力量吧!
扣頂機器所拿的狂 風 刀(Crazy_Wind Blade)發出了魔法的光芒!
> call blade;enchant
武器(狂 風 刀
/u/l/laechan/area/felid/wp/blade1)-> enchant() = ([ "hr" : 1000 ])
> call blade;enchant_times
武器(狂 風 刀
/u/l/laechan/area/felid/wp/blade1)-> enchant_times() = ([ "hr": 1344498338 ])
> call blade;sizeof_enchant
武器(狂 風 刀
/u/l/laechan/area/felid/wp/blade1)-> sizeof_enchant() = 1
然後我主職不是法師。
> wiz_enchant kr
enchant: 法師不是你的主職,你只能為武器附魔一層效果喔。
設為法師、並拿掉我本來設的進階後。
> wiz_enchant kr
你緩緩唸道: 魔法根源,奇蹟之泉的馬納啊!化為打碎黑暗的力量吧!
扣頂機器所拿的狂 風 刀(Crazy_Wind Blade)發出了魔法的光芒!
> wiz_enchant pd
enchant: 你尚未轉職為進階法師,你只能為武器附魔兩層效果喔。
將進階設為 sage 後。
> wiz_enchant pd
你緩緩唸道: 萬物之根源,萬能之力的馬納啊!化為打碎黑暗的力量吧!
扣頂機器所拿的狂 風 刀(Crazy_Wind Blade)發出了魔法的光芒!
> wiz_enchant pa
enchant: 你不是大魔導士,你只能為武器附魔三層效果喔。
將進階設為 magemaster 後
> wiz_enchant pa
你緩緩唸道: 魔法根源,奇蹟之泉的馬納啊!化為打碎黑暗的力量吧!
扣頂機器所拿的狂 風 刀(Crazy_Wind Blade)發出了魔法的光芒!
> wiz_enchant fi
enchant: 你最多只能為武器附魔四層效果喔。
檢查附魔資料,確認正常。
> call blade;enchant
武器(狂 風 刀
/u/l/laechan/area/felid/wp/blade1)-> enchant() = ([ "kr" :
1000, "hr" : 1000, "pa" : 1000, "pd" : 1000 ])
> call blade;enchant_times
武器(狂 風 刀
/u/l/laechan/area/felid/wp/blade1)-> enchant_times() = ([ "kr"
: 1344498528, "hr" : 1344498338, "pa" : 1344498612, "pd" : 1344498580 ])
==========================================================
後續修改部份,預定如下
一、「副法」只能疊一的部份,若該副法為「勇者」,就允許其
至少可疊二。
二、z1~zn (即併效的部份)將不算進 sizeof_enchant 裡面,但
是會算進 sizeof_zn 裡頭。(也就是併效只能擇一)
三、view 將在保留原格式下,新增「附魔」欄位的顯示,附魔欄
位的顯示必要條件為:該物品在 view 的人身上。
四、help skill enchant 將修改
五、將逐個效果寫入相關程式段裡頭
六、原則上有可能寫 enchant hr,kr,pd, .. 這種指令格式,然
後為避免 bug 應該會先拆解再 foreach call function 來
做會比較簡單(會用到一點遞迴,來避免錯誤訊息沒顯示)。
我會設計若是遞迴型呼叫的話延遲時間會無視。
七、部份效果的「值」將不參考技能值,但是其發動機率將會
參考。原則上若值可以參考技能值,機率大多會設為100%
然後因為 normal_attack 函數本來就有呼叫 wp..
if(wp=(object)me->query("weapon1")) wptype=me->query_wp_type();
所以跟 normal_attack 有關的東西會優先上,效果上的差不多之
後會公告,然後就等 auto shutdown 後開啟該功能。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
→
08/09 15:49, , 1F
08/09 15:49, 1F
→
08/09 16:08, , 2F
08/09 16:08, 2F
推
08/09 16:13, , 3F
08/09 16:13, 3F
推
08/10 08:38, , 4F
08/10 08:38, 4F
→
08/10 08:39, , 5F
08/10 08:39, 5F
→
08/10 09:23, , 6F
08/10 09:23, 6F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
0
3
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章