UID194640
帖子
精華
主題
積分16225
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限30
註冊時間2009-9-5
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 開心 2024-10-3 07:35 AM |
---|
簽到天數: 2556 天 連續簽到: 1 天 [LV.Master]伴壇終老
|
我對於源碼部分都不熟,因此都是隨便亂改亂加,我試著在clif.c底下的clif_parse_UseSkillToId加上下列語法(紅色部分)
skilllv = RFIFOW(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);
skillnum = RFIFOW(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[1]);
target_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[2]);
if( sd->skillitem == skillnum )
{
pc_setreg(sd, add_str("@getuseitemskillid"), skillnum); //當玩家使用物品技能時
pc_setreg(sd, add_str("@getuseitemskilllv"), skilllv); //當玩家使用物品技能時
pc_setreg(sd, add_str("@getuseitemskilltid"), target_id); //當玩家使用物品技能時
pc_setreg(sd, add_str("@getuseitemskillaid"), sd->bl.id); //當玩家使用物品技能時
npc_script_event(sd,NPCE_USEITEMSKILL); //當玩家使用物品技能時
}
if( skilllv < 1 ) skilllv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex]
tmp = skill_get_inf(skillnum);
if (tmp&INF_GROUND_SKILL || !tmp)
return; //Using a ground/passive skill on a target? WRONG. 遊戲中測試OK,可以拿到我要的資料,但是有個問題來了
當我自創一個技能ID,舉例這邊用9001編號
然後給他的設定跟治癒術一樣
9001,9,6,16,6,0x21,0,10,1,yes,0,0,0,magic,0, ACCOUND_ID,帳號
28,9,6,16,6,0x21,0,10,1,yes,0,0,0,magic,0, AL_HEAL,治癒術
然後我試著用原本的治癒術點玩家,可以正常補血並拿到我要的資料
再來我用我自己創的技能對玩家使用,直接使用後沒有拿到資料,必須要按著SHIFT再點才有辦法得到我要的資料...
這個新創的技能9001,我想要改成不用按SHIFT點玩家就可以拿到帳號等資料。
請問這邊我又是哪邊沒有設定好呢?
|
|