2013年4月26日 星期五

【Java教學】魔法娃娃db化追加韓版魔法娃娃加乘效果

魔法娃娃DB化追加韓版魔法娃娃能力值加乘效果by0968026609
感謝by狼人香&byLovieAlice&bymissu0524的技術指導和提供修正
額外追加魅力擴充
(力、體、敏、精、智 )
修改l1j\server\server\model\Instance\L1DollInstance.java
修改l1j\server\server\templates\L1MagicDoll.java
修改l1j\server\server\datatables\MagicDollTable.java
更動magic_doll資料庫


如有問題在此篇回覆

修改L1DollInstance.java

尋找以下程式碼


if (L1MagicDoll.isItemMake(_master)) {
   master.startItemMakeByDoll();
  }

在底下新增

//TODO 魔法娃娃能力值加乘效果by0968026609& by狼人香& byLovieAlice
  if (L1MagicDoll.getStrByDoll(_master) != 0) {//TODO 力量增加
   master.addStr(L1MagicDoll.getStrByDoll(_master));
  }
  if (L1MagicDoll.getConByDoll(_master) != 0) {//TODO 體質增加
   master.addCon(L1MagicDoll.getConByDoll(_master));
  }
  if (L1MagicDoll.getDexByDoll(_master) != 0) {//TODO 敏捷增加
   master.addDex(L1MagicDoll.getDexByDoll(_master));
  }
  if (L1MagicDoll.getChaByDoll(_master) != 0) {//TODO 魅力增加
   master.addCha(L1MagicDoll.getChaByDoll(_master));
  }
  if (L1MagicDoll.getWisByDoll(_master) != 0) {//TODO 精神增加
   master.addWis(L1MagicDoll.getWisByDoll(_master));
  }
  if (L1MagicDoll.getIntByDoll(_master) != 0) {//TODO 智力增加
   master.addInt(L1MagicDoll.getIntByDoll(_master));
  }
  //TODO 魔法娃娃能力值加乘效果by0968026609& by狼人香& byLovieAlice


在往下尋找

if (L1MagicDoll.isItemMake(_master)) {
   ((L1PcInstance) _master).stopItemMakeByDoll();
  }

在底下新增以下程式碼

//TODO 魔法娃娃能力值加乘效果by0968026609& by狼人香& byLovieAlice
  if (L1MagicDoll.getStrByDoll(_master) != 0) {//TODO 力量增加
   ((L1PcInstance) _master).addStr(-L1MagicDoll.getStrByDoll(_master));
  }
  if (L1MagicDoll.getConByDoll(_master) != 0) {//TODO 體質增加
   ((L1PcInstance) _master).addCon(-L1MagicDoll.getConByDoll(_master));
  }
  if (L1MagicDoll.getDexByDoll(_master) != 0) {//TODO 敏捷增加
   ((L1PcInstance) _master).addDex(-L1MagicDoll.getDexByDoll(_master));
  }
  if (L1MagicDoll.getChaByDoll(_master) != 0) {//TODO 魅力增加
   ((L1PcInstance) _master).addCha(-L1MagicDoll.getChaByDoll(_master));
  }
  if (L1MagicDoll.getWisByDoll(_master) != 0) {//TODO 精神增加
   ((L1PcInstance) _master).addWis(-L1MagicDoll.getWisByDoll(_master));
  }
  if (L1MagicDoll.getIntByDoll(_master) != 0) {//TODO 智力增加
   ((L1PcInstance) _master).addInt(-L1MagicDoll.getIntByDoll(_master));
  }
  //TODO 魔法娃娃能力值加乘效果by0968026609& by狼人香& byLovieAlice

修改L1MagicDoll.java

找一個適當的位置加入以下程式碼



//TODO 魔法娃娃能力值加乘效果by0968026609
public static int getStrByDoll(L1Character _master) {//TODO 力量增加
  int s = 0;
  for (Object obj : _master.getDollList().values().toArray()) {
   L1MagicDoll doll = MagicDollTable.getInstance().getTemplate(
     ((L1DollInstance) obj).getItemId());
   if (doll != null) {
    s += doll.getStr();
   }
  }
  return s;
}
public static int getConByDoll(L1Character _master) {//TODO 體質增加
  int s = 0;
  for (Object obj : _master.getDollList().values().toArray()) {
   L1MagicDoll doll = MagicDollTable.getInstance().getTemplate(
     ((L1DollInstance) obj).getItemId());
   if (doll != null) {
    s += doll.getCon();
   }
  }
  return s;
}
public static int getDexByDoll(L1Character _master) {//TODO 敏捷增加
  int s = 0;
  for (Object obj : _master.getDollList().values().toArray()) {
   L1MagicDoll doll = MagicDollTable.getInstance().getTemplate(
     ((L1DollInstance) obj).getItemId());
   if (doll != null) {
    s += doll.getDex();
   }
  }
  return s;
}
public static int  getChaByDoll(L1Character _master) {//TODO 魅力增加
  int s = 0;
  for (Object obj : _master.getDollList().values().toArray()) {
   L1MagicDoll doll = MagicDollTable.getInstance().getTemplate(
     ((L1DollInstance) obj).getItemId());
   if (doll != null) {
    s += doll.getcha();
   }
  }
  return s;
}
public static int getWisByDoll(L1Character _master) {//TODO 精神增加
  int s = 0;
  for (Object obj : _master.getDollList().values().toArray()) {
   L1MagicDoll doll = MagicDollTable.getInstance().getTemplate(
     ((L1DollInstance) obj).getItemId());
   if (doll != null) {
    s += doll.getWis();
   }
  }
  return s;
}
public static int getIntByDoll(L1Character _master) {//TODO 智力增加
  int s = 0;
  for (Object obj : _master.getDollList().values().toArray()) {
   L1MagicDoll doll = MagicDollTable.getInstance().getTemplate(
     ((L1DollInstance) obj).getItemId());
   if (doll != null) {
    s += doll.getInt();
   }
  }
  return s;
}
//TODO 魔法娃娃能力值加乘效果by0968026609

在往下尋找以下程式碼


private double _exprate;//TODO 經驗加乘效果by0968026609&原作者byhot183

在底下新增以下程式碼


private int _Str;//TODO 魔法娃娃力量效果by0968026609
private int _Con;//TODO 魔法娃娃體質效果by0968026609
private int _Dex;//TODO 魔法娃娃敏捷效果by0968026609
private int _cha;//TODO 魔法娃娃魅力效果by0968026609
private int _Wis;//TODO 魔法娃娃精神效果by0968026609
private int _Int;//TODO 魔法娃娃智力效果by0968026609

拉到最底下找一個適當的位置加入以下程式碼



/**
  * 魔法娃娃力量效果
  * @return by0968026609
  */
public int getStr() {
  return _Str;
}
/**
  * 魔法娃娃力量效果
  * @return by0968026609
  */
public void setStr(int i) {
  _Str = i;
}
/**
  * 魔法娃娃體質效果
  * @return by0968026609
  */
public int getCon() {
  return _Con;
}
/**
  * 魔法娃娃體質效果
  * @return by0968026609
  */
public void setCon(int i) {
  _Con = i;
}
/**
  * 魔法娃娃敏捷效果
  * @return by0968026609
  */
public int getDex() {
  return _Dex;
}
/**
  * 魔法娃娃敏捷效果
  * @return by0968026609
  */
public void setDex(int i) {
  _Dex = i;
}
/**
  * 魔法娃娃魅力效果
  * @return by0968026609
  */
public int getcha() {
  return _cha;
}
/**
  * 魔法娃娃魅力效果
  * @return by0968026609
  */
public void setcha(int i) {
  _cha = i;
}
/**
  * 魔法娃娃精神效果
  * @return by0968026609
  */
public int getWis() {
  return _Wis;
}
/**
  * 魔法娃娃精神效果
  * @return by0968026609
  */
public void setWis(int i) {
  _Wis = i;
}
/**
  * 魔法娃娃智力效果
  * @return by0968026609
  */
public int getInt() {
  return _Int;
}
/**
  * 魔法娃娃智力效果
  * @return by0968026609
  */
public void setInt(int i) {
  _Int = i;
}


修改MagicDollTable.java
尋找以下程式碼


doll.setExpRate(rs.getDouble("exprate"));//TODO 經驗加乘效果by0968026609&原作者byhot183

在底下新增以下程式碼


doll.setStr(rs.getInt("Str"));//TODO 魔法娃娃力量效果by0968026609
    doll.setCon(rs.getInt("Con"));//TODO 魔法娃娃體質效果by0968026609
    doll.setDex(rs.getInt("Dex"));//TODO 魔法娃娃敏捷效果by0968026609
    doll.setcha(rs.getInt("cha"));//TODO 魔法娃娃魅力效果by0968026609
    doll.setWis(rs.getInt("Wis"));//TODO 魔法娃娃精神效果by0968026609
    doll.setInt(rs.getInt("Int"));//TODO 魔法娃娃智力效果by0968026609

magic_doll資料庫開啟設計資料表新增欄位


Str  類型int  長度3  十進位0  允許空值不打勾

Con  類型int  長度3  十進位0  允許空值不打勾

Dex  類型int  長度3  十進位0  允許空值不打勾

Cha  類型int  長度3  十進位0  允許空值不打勾

Wis  類型int  長度3  十進位0  允許空值不打勾

Int  類型int  長度3  十進位0  允許空值不打勾

文章出處:浪漫物語網路社區
文章作者:0968026609 

沒有留言:

張貼留言