C_NpcAction
//換取淘氣幼龍蛋
else if (((L1NpcInstance) obj).getNpcTemplate().get_npcId() == 81316) {
//班酷 NPC代號
if (s.equalsIgnoreCase("buy 7")) {
if (pc.getInventory().consumeItem(80256, 1)) {
L1Pet pet = new L1Pet();
pet.set_npcid(81311);//此欄為拿到項圈內NPC編號
pet.set_name("淘氣幼龍");
pc.sendPackets(new S_ServerMessage(143, ((L1NpcInstance) obj).getNpcTemplate().get_name(), L1WilliamSystemMessage.ShowMessage(1136)));
// 此message為DB內system_message欄位編號,當你拿到項圈對話欄出現的訊息,可自填 不要可以拿掉
pet.set_level(1);
pet.set_hp(40);
pet.set_mp(25);
//以上為換到的寵物等級HP.MP
L1ItemInstance petamu = pc.getInventory().storeItem(40314, 1);
//40314 低等寵物項圈編號,也可自製新項圈
if (petamu != null) {
pc.sendPackets(new S_ServerMessage(143, ((L1NpcInstance) obj).getNpcTemplate().get_name(),L1WilliamSystemMessage.ShowMessage(1137)));
//sosodemon 項圈[淘氣幼龍],可由DB的system_message修改,可修改拿到物品時的名稱
PetTable.getInstance().storeNewPet2(pet, petamu.getId() + 1, petamu.getId());
pc.sendPackets(new S_ItemName(petamu));
}
} else {
pc.sendPackets(new S_SystemMessage("淘氣幼龍蛋不足。"));
}
}
else if (s.equalsIgnoreCase("buy 8")) {
if (pc.getInventory().consumeItem(80257, 1)) {
L1Pet pet = new L1Pet();
pet.set_npcid(81312);//此欄為拿到項圈內NPC編號
pet.set_name("頑皮幼龍");
pc.sendPackets(new S_ServerMessage(143, ((L1NpcInstance) obj).getNpcTemplate().get_name(), L1WilliamSystemMessage.ShowMessage(1141)));
// 此message為DB內system_message欄位編號,當你拿到項圈對話欄出現的訊息,可自填 不要可以拿掉
pet.set_level(1);
pet.set_hp(40);
pet.set_mp(25); //以上為換到的寵物等級HP.MP
L1ItemInstance petamu = pc.getInventory().storeItem(40314, 1);
//40314 低等寵物項圈編號,也可自製新項圈
if (petamu != null) {
pc.sendPackets(new S_ServerMessage(143, ((L1NpcInstance) obj).getNpcTemplate().get_name(), L1WilliamSystemMessage.ShowMessage(1142)));
//sosodemon 項圈[頑皮幼龍],可由DB的system_message修改,可修改拿到物品時的名稱
PetTable.getInstance().storeNewPet2(pet, petamu.getId() + 1, petamu.getId());
pc.sendPackets(new S_ItemName(petamu));
}
} else {
pc.sendPackets(new S_SystemMessage("頑皮幼龍蛋不足。"));
}
}
PetTable
尋找 public void storeNewPet(L1NpcInstance pet, int objid, int itemobjid)
在上面加入
public void storeNewPet2(L1Pet pet, int i, int itemobjid) { //新增恐龍蛋
// XXX 呼前處理重複
L1Pet l1pet = new L1Pet();
l1pet.set_itemobjid(itemobjid);
l1pet.set_objid(i);
l1pet.set_npcid(pet.get_npcid());
l1pet.set_name(pet.get_name());
l1pet.set_level(pet.get_level());
l1pet.set_hp(pet.get_hp());
l1pet.set_mp(pet.get_mp());
l1pet.set_exp(750); // Lv.5EXP
l1pet.set_lawful(0);
_pets.put(new Integer(itemobjid), l1pet);
Connection con = null;
PreparedStatement pstm = null;
try {
con = L1DatabaseFactory.getInstance().getConnection();
pstm = con
.prepareStatement("INSERT INTO pets SET item_obj_id=?,objid=?,npcid=?,name=?,lvl=?,hp=?,mp=?,exp=?,lawful=?");
pstm.setInt(1, l1pet.get_itemobjid());
pstm.setInt(2, l1pet.get_objid());
pstm.setInt(3, l1pet.get_npcid());
pstm.setString(4, l1pet.get_name());
pstm.setInt(5, l1pet.get_level());
pstm.setInt(6, l1pet.get_hp());
pstm.setInt(7, l1pet.get_mp());
pstm.setInt(8, l1pet.get_exp());
pstm.setInt(9, l1pet.get_lawful());
pstm.execute();
} catch (Exception e) {
_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
} finally {
SQLUtil.close(pstm);
SQLUtil.close(con);
}
} //新增恐龍蛋
DB設定寵物
沒有留言:
張貼留言