返回列表 發帖

制作吸血武器

制作吸血武器
改這個的位置在哪裡?在原碼的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);  
}

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

TOP

電腦白痴的我....真的是看不懂.也不知道怎下手!!!

TOP

這是天堂的核心教學  感謝大神分享  這正是我需要的資訊

TOP

這是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
        }

TOP

樓上有大神...
可是也一年沒上線了
不知是否可請教如何讓武器可以擴散普攻傷害

TOP

這個也未免太神了一點吧!!!我都看傻了~"~

TOP

這個是神級玩家吧
大大們實在是太厲害了

TOP

真是大神
不太懂這個 汗顏
幫支持幫推一下

TOP

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

TOP

返回列表

相同字算1字,回覆少於8個字,警告1次!! 關閉


2015.12.13公告

2015.12.13公告: 即日起初級會員變更為不能下載附件, 更改為中級會員以上才可下載附件, 避免新加入會員隨意灌水,分享者意興闌珊。


查看