2013年6月9日 星期日

【Java教學】【★★★★★】設定武器變身

本帖最后由 狼人香 于 2010-7-12 08:11 编辑

建議:使用前,請先備份原始檔。以避免出現無可挽回的局面。

參考 opqrijte 大大 的 如何製作變身武器
小弟,已經大概測試,PASS。
麻煩各位大大,使用後...回報一下戰況。
歡迎提出測試後想法與問題。

打開
L1Item

找到
        public int get_regist_blind() {
                return 0;
        }


在上面那段下面,加入
  1. //        香 add 武器變身系統 開關        
  2.         private int _polySW;
  3.         
  4.         public void setpolySW(int i) {
  5.                 _polySW = i;
  6.         }
  7.         public int getpolySW() {
  8.                 return _polySW;
  9.         }
  10. //        香 add 武器變身系統 POLY值                
  11.         private int _POLYin; 
  12.         
  13.         public void setPOLYin(int i) {
  14.                 _POLYin = i;
  15.         }
  16.         public int getPOLYin() {
  17.                 return _POLYin;
  18.         }
复制代码
打開
ItemTable

找到
weapon.setMaxUseTime(rs.getInt("max_use_time"));

在上面那段下面,加入
  1.         //武器變身系統 開關 & POLY值
  2.         weapon.setpolySW(rs.getInt("polySW"));
  3.         weapon.setPOLYin(rs.getInt("POLYin"));
  4.         //武器變身系統 開關 & POLY值
复制代码
打開
L1EquipmentSlot

找到
        private void setWeapon(L1ItemInstance weapon) {
                _owner.setWeapon(weapon);
                _owner.setCurrentWeapon(weapon.getItem().getType1());
                weapon.startEquipmentTimer(_owner);
                _weapon = weapon;


在上面那段下面,加入
  1.         
  2.              //裝置武器變身系統
  3.              int POLYin = weapon.getItem().getPOLYin() ;
  4.              if (weapon.getItem().getpolySW() == 1){
  5.                      if(POLYin == 0){
  6.                      POLYin = _owner.getClassId() ;
  7.                    }else {
  8.                         POLYin = weapon.getItem().getPOLYin() ;
  9.                    }
  10.                    _owner.sendPackets(new S_ChangeShape(_owner.getId(), POLYin));
  11.                      _owner.broadcastPacket(new S_ChangeShape(_owner.getId(), POLYin));                    
  12.              }
复制代码
找到
        private void removeWeapon(L1ItemInstance weapon) {
                int itemId = weapon.getItem().getItemId();
                _owner.setWeapon(null);
                _owner.setCurrentWeapon(0);
                weapon.stopEquipmentTimer(_owner);
                _weapon = null;
                if (_owner.hasSkillEffect(COUNTER_BARRIER)) {
                        _owner.removeSkillEffect(COUNTER_BARRIER);
                }


在上面那段下面,加入
  1.         
  2.         //裝置武器變身系統
  3.                 if (weapon.getItem().getpolySW() == 1 ){
  4.                         _owner.sendPackets(new S_ChangeShape(_owner.getId(), _owner.getClassId()));//解除變身
  5.                         _owner.broadcastPacket(new S_ChangeShape(_owner.getId(), _owner.getClassId()));
  6.                 }
  7.         //裝置武器變身系統               
复制代码
打開
DB資料庫的weapon

檔案 → 設計資料表

找到
max_use_time
在它下面那格 按 插入欄位 polySW  與  POLYin  表格

儲存
重新打開 DB資料庫的weapon
設定一下你要的吧!!

武器變身系統 開關
polySW 
1= ON ;0 = OFF

武器變身系統 POLY值 
POLYin
請輸入圖檔編號即可。

沒有留言:

張貼留言