2013年6月9日 星期日

【Java教學】裝備+10武器出現魔法特效


參考99版內的私服內容介紹(避免廣告嫌疑,故請版友自行尋找吧!!)

參考修改 missu0524 大 所發的 持續魔法特效 網頁如右 http://bbs.99nets.com/read.php?tid=758269&fpage=2 



停止開關<下段停止開關,也是另個解決點,可以參考看看>
開啟 L1PcInstance
找到 private MpReductionByAwake _mpReductionByAwake;
  1. 在下方新增 [code]private SkillSound _SkillSound;//add 修改持續出現魔法特效 by missu0524

找到 private boolean _mpReductionActiveByAwake; 
在下方新增
  1. private boolean _SkillSoundActive;//add 修改持續出現魔法特效 by missu0524

找到 missu0524 大所寫的這段 
public void startSkillSound() { 
final int INTERVAL = 4000; // 間隔時間 
SkillSound SkillSound; 
SkillSound = new SkillSound(this); 
_regenTimer.scheduleAtFixedRate(SkillSound, 
INTERVAL, INTERVAL); 
}
 
!!0523修改處 SkillSound
修改成,下面如此........此法是llllllkk96,所找出的問題點,感謝他的提供嚕!!
  1. //        add Mr香 新增 持續出現魔法特效 by missu0524 
  2.         public void startSkillSound() { 
  3.                 final int INTERVAL = 4000; // 間隔時間 
  4.                 if (!_SkillSoundActive) { 
  5.                         //SkillSound SkillSound; 
  6.                         _SkillSound = new SkillSound(this); 
  7.                         _regenTimer.scheduleAtFixedRate(_SkillSound, 
  8.                         INTERVAL, INTERVAL); 
  9.                         _SkillSoundActive = true;                                
  10.                         }                                    
  11.         }

在下方 新增
  1. public void stopSkillSound() {
  2.                 if (_SkillSoundActive) {
  3.                         SkillSound SkillSound;
  4.                         _SkillSound.cancel();
  5.                         _SkillSound = null;
  6.                         _SkillSoundActive = false;
  7.                 }
  8.         }         

停止開關,結束!!


本文開始了,請大家先裝設好 m大 的持續魔法特效

再來 就是對 SkillSound .java 做修改 !!0523有做修改 

找到下面這段
  1.         public void run() { 
  2.                 try {
  3.                         if (_pc.isDead()) {
  4.                                 return;
  5.                                 }

再下方新增一段
  1. //+10up 所有武器                    
  2.                                   if(_pc.getWeapon().getEnchantLevel() > 5 && 
  3.                                                _pc.getWeapon().getEnchantLevel() <= 9){  
  4.                                                _pc.sendPackets(new S_SkillSound(_pc.getId(), 4397));   //自己看得見
  5.                           _pc.broadcastPacket(new S_SkillSound(_pc.getId(), 4397));//其他人看得見  

  6.                              }else if(_pc.getWeapon().getEnchantLevel() > 9){  // 9;加 9 武器 以上的武器出現特效,自行替換
  7.                                _pc.sendPackets(new S_SkillSound(_pc.getId(), 4397));   //自己看得見
  8.                           _pc.broadcastPacket(new S_SkillSound(_pc.getId(), 4397));//其他人看得見
  9.                                 //下面是自動停止 

  10.                              }else {
  11.                   return; //0521增加這個就搞定了= ="
  12.                                     }

這邊有個疑問提醒
就是不知道開放這種特效會否造成LAG,所以建議在條件那多加組CONFIG控制開關(ON/OFF)
而特效是否開放別人也看得到,請自行斟酌。LAG的影響,我無法判斷


會有一支青龍一直跑出來的大大們,請把下面這句 註解掉 
//_pc.sendPackets(new S_SkillSound(_pc.getId(), 6588)); 

再來就打開  L1EquipmentSlot.java

收尋
  1.         
  2. private void setWeapon(L1ItemInstance weapon) {
  3.                 int itemId1 = weapon.getItem().getItemId();
  4.                 _owner.setWeapon(weapon);
  5.                 _owner.setCurrentWeapon(weapon.getItem().getType1());
  6.                 weapon.startEquipmentTimer(_owner);
  7.                 _weapon = weapon;

在它下面,增加
  1. //+10up 所有武器     
  2.             if (_owner.getWeapon().getEnchantLevel() > 9){  // 9;加 9 武器 以上的武器出現特效,自行替換
  3.                 _owner.startSkillSound();
  4.            }

注意,下面還有一個 } 
別自動把他刪除了


這樣的設置完成了

至於間隔多久出現魔法特效的時間

找到 missu0524 大所寫的這段 
public void startSkillSound() { 
final int INTERVAL = 4000; // 間隔時間 
SkillSound SkillSound; 
SkillSound = new SkillSound(this); 
_regenTimer.scheduleAtFixedRate(SkillSound, 
INTERVAL, INTERVAL); 
}
 

間隔時間 = 多久一次,出現魔法特效的時間

在此我建議各位,可以多加一組間隔時間
可以方便你 skillsound 中的其他用途,做區隔!!

增加方法,若是不會
請點閱小弟的 簡易自動補血道具 裡頭有教學,稍微仔細看一下並作些微修改,就可以了!!

by 狼人香 

沒有留言:

張貼留言