【天堂】怪物防卡打系統

29 8月, 2017

【天堂】怪物防卡打系統




伺服器有幾個版本,都會有隔牆打怪的問題。


而怪物無法過牆攻擊,就會傻傻的呆站在原地被打死。


而這類情況,主要都是因為「鎖鏈劍」的問題以及圖檔編碼的使然。
在防堵上,目前是用了一個非正規的方式去勉強解決。

解決原理:
隔牆卡打代表「怪物無法攻擊到玩家」,
所以只要判斷怪物多久時間都無法攻擊到玩家後,就會自動瞬間移動到玩家身旁。

上CODE:

(1)新增L1IdleAttack .java



(2)L1NpcInstance.java更改 

到最後新增下面


L1NpcInstance.java更改onTarget 方法
搜尋if (isAttackPosition(target.getX(), target.getY(), getAtkRanged()))
找到後,在else的部分添加紅字部分及可


(3)L1Attack.java更改

到L1Attack去找到PC對NPC的函式 -  calcPcNpcDamage
搜尋private int calcPcNpcDamage()
到calcPcNpcDamage函式最後面將判斷更改為以下


到L1Attack去找到npc對pc的函式 - calcNpcPcDamage
搜尋private int calcNpcPcDamage() 
到calcNpcPcDamage函式最後面將判斷更改為以下


(4)L1Magic.java更改

到L1Magic去找到commitPc函式 
搜尋private void commitPc(int damage, int drainMana) 
到commitPc函式將裡面判斷改如下


張貼留言