Board logo

標題: 制作吸血武器 [打印本頁]

作者: 璨圓光電    時間: 2013-8-19 00:19     標題: 制作吸血武器

制作吸血武器
改這個的位置在哪裡?在原碼的l1j.server.server.model.L1Attack.java
在  
public int DrainMana = 0;  
下面新增:
public int DrainHp = 0;
--------------------------------------------------------------------------------------------  
在   
public void PlayerStaffOfManaCalc()  
    {  
下面新增:   
if((weaponId == 41 || weaponId == 57 || weaponId == 14 || weaponId == 256))    // 吸血武器 武器編?可以自己更改
{   
int som_lvl = weaponEnchant + 10; // 最大hp吸取量設定  
if(som_lvl < 0) som_lvl = 0;
DrainHp = _random.nextInt(som_lvl) + 5;                 
if(DrainHp > 30)    // 最大hp吸取量限制,紅色字體(可以依照自己的喜好把一次吸血上限調高)   
{
DrainHp = 30;  紅色字體(可以依照自己的喜好把一次吸血上限調高)
}
}
--------------------------------------------------------------------------------------------   

private void PcCommit()
    {   
if(_calcType == PC_PC)
        {
下面新增:

if(DrainHp > 0 && targetPlayer.get_currentHp() > 0)
{  
if(DrainHp > targetPlayer.get_currentHp())
DrainHp = targetPlayer.get_currentHp();  
short newHp = (short) (targetPlayer.get_currentHp() - DrainHp);
targetPlayer.set_currentHp(targetPlayer, newHp);
newHp = (short) (player.get_currentHp() + DrainHp);
player.set_currentHp(player, newHp);   
}  
--------------------------------------------------------------------------------------------   
在  
private void NpcCommit()
    {  
        if(_calcType == PC_NPC)
        {
下面新增:

if(DrainHp > 0 && targetNpc.get_currentHp() > 0)  
{
if(DrainHp > targetNpc.get_currentHp())
DrainHp = targetNpc.get_currentHp();   
//HP吸取限製處理追加  
short newHp = (short) (targetNpc.get_currentHp() - DrainHp);
targetNpc.set_currentHp2(newHp);  
newHp = (short) (player.get_currentHp() + DrainHp);
player.set_currentHp(player, newHp);  
}
作者: ppedrs    時間: 2013-8-25 11:37

提示: 作者被禁止或刪除 內容自動屏蔽
作者: 黑馬    時間: 2015-10-8 05:10

電腦白痴的我....真的是看不懂.也不知道怎下手!!!
作者: 初音未來    時間: 2015-10-31 16:59

這是天堂的核心教學  感謝大神分享  這正是我需要的資訊
作者: iamgarbage    時間: 2015-11-4 11:33

這是3.6核心的
以現今3.80核心的
小弟就拋磚引玉一下
源碼位置 l1j.server.server.model.L1Attack.java
以修復風刃短劍吸血效果為例
找到
// ●●●● кяユчみ ろヘ кяユчみ デソФфみЖ算出 ●●●●
        public int calcPcPcDamage() {
                // 計算武器總傷害
                int weaponTotalDamage = calcWeponDamage(_weaponSmall);

                if ((_weaponId == 262) && (Random.nextInt(100) + 1 <= 75)) { // 毀滅巨劍吸血75%
                        weaponTotalDamage += calcDestruction(weaponTotalDamage);
                }
插入
                if ((_weaponId == 12) && (Random.nextInt(100) + 1 <= 95)) { // 風刃短劍吸血95%
                        weaponTotalDamage += calcDestruction(weaponTotalDamage);
                }

依樣畫葫蘆找到
// ●●●● кяユчみ ろヘ NPC デソФфみЖ算出 ●●●●
        private int calcPcNpcDamage() {
下的
                if ((_weaponId == 262) && (Random.nextInt(100) + 1 <= 75)) { // 毀滅巨劍吸血75%
                        weaponTotalDamage += calcDestruction(weaponTotalDamage);
                }
插入
                 if ((_weaponId == 12) && (Random.nextInt(100) + 1 <= 95)) { // 風刃短劍吸血95%
                        weaponTotalDamage += calcDestruction(weaponTotalDamage);
                }
儲存就完成了
吸血量可在下列程式修改
// ■■■■ ЫュЗЬьヱЁъ⑦ソHP吸収量算出 ■■■■
        private int calcDestruction(int dmg) {
                _drainHp = (dmg / 8) + 1;
                return _drainHp > 0 ? _drainHp : 1;  //吸血量小於0,最小吸血量1
        }
作者: qoo99281    時間: 2016-8-19 18:26

樓上有大神...
可是也一年沒上線了
不知是否可請教如何讓武器可以擴散普攻傷害
作者: 和鋒    時間: 2016-10-4 01:25

這個也未免太神了一點吧!!!我都看傻了~"~
作者: stanley52817    時間: 2016-12-27 14:29

這個是神級玩家吧
大大們實在是太厲害了
作者: 剛好而已    時間: 2017-8-23 02:37

真是大神
不太懂這個 汗顏
幫支持幫推一下
作者: 海洋兒    時間: 2017-10-11 22:32

提示: 作者被禁止或刪除 內容自動屏蔽




歡迎光臨 Jan Lineage Club (http://jan168.myvnc.com/) Powered by Discuz! 7.2