Ir para conteúdo
  • Cadastre-se
  • 0

Adaptar Mod Para JFrozen


admFirewall

Pergunta

Boa noite galera ! Alguém poderia adaptar esse mod pra jfrozen? Achei em um forum por ai e acredito que esteja pra Acys!

 

Index: java/com/l2jserver/gameserver/datatables/ArmorSetsTable.java

===================================================================
--- java/com/l2jserver/gameserver/datatables/ArmorSetsTable.java (revision 5101)
+++ java/com/l2jserver/gameserver/datatables/ArmorSetsTable.java (working copy)
@@ -60,7 +60,7 @@
try
{
con = L2DatabaseFactory.getInstance().getConnection();
- PreparedStatement statement = con.prepareStatement("SELECT chest, legs, head, gloves, feet, skill, shield, shield_skill_id, enchant6skill, mw_legs, mw_head, mw_gloves, mw_feet, mw_shield FROM armorsets");
+ PreparedStatement statement = con.prepareStatement("SELECT chest, legs, head, gloves, feet, skill, shield, shield_skill_id, enchant6skill, enchant12skill, enchant16skill, mw_legs, mw_head, mw_gloves, mw_feet, mw_shield FROM armorsets");
ResultSet rset = statement.executeQuery();

while (rset.next())
@@ -74,12 +74,14 @@
int shield = rset.getInt("shield");
int shield_skill_id = rset.getInt("shield_skill_id");
int enchant6skill = rset.getInt("enchant6skill");
+ int enchant12skill = rset.getInt("enchant12skill");
+ int enchant16skill = rset.getInt("enchant16skill");
int mw_legs = rset.getInt("mw_legs");
int mw_head = rset.getInt("mw_head");
int mw_gloves = rset.getInt("mw_gloves");
int mw_feet = rset.getInt("mw_feet");
int mw_shield = rset.getInt("mw_shield");
- _armorSets.put(chest, new L2ArmorSet(chest, legs, head, gloves, feet, skills, shield, shield_skill_id, enchant6skill, mw_legs, mw_head, mw_gloves, mw_feet, mw_shield));
+ _armorSets.put(chest, new L2ArmorSet(chest, legs, head, gloves, feet, skills, shield, shield_skill_id, enchant6skill, enchant12skill, enchant16skill, mw_legs, mw_head, mw_gloves, mw_feet, mw_shield));
}

rset
.close();
@@ -101,7 +103,7 @@
{
int cSets = _armorSets.size();
con = L2DatabaseFactory.getInstance().getConnection();
- PreparedStatement statement = con.prepareStatement("SELECT chest, legs, head, gloves, feet, skill, shield, shield_skill_id, enchant6skill, mw_legs, mw_head, mw_gloves, mw_feet, mw_shield FROM custom_armorsets");
+ PreparedStatement statement = con.prepareStatement("SELECT chest, legs, head, gloves, feet, skill, shield, shield_skill_id, enchant6skill, enchant12skill, enchant16skill, mw_legs, mw_head, mw_gloves, mw_feet, mw_shield FROM custom_armorsets");
ResultSet rset = statement.executeQuery();
while (rset.next())
{
@@ -114,12 +116,14 @@
int shield = rset.getInt("shield");
int shield_skill_id = rset.getInt("shield_skill_id");
int enchant6skill = rset.getInt("enchant6skill");
+ int enchant12skill = rset.getInt("enchant12skill");
+ int enchant16skill = rset.getInt("enchant16skill");
int mw_legs = rset.getInt("mw_legs");
int mw_head = rset.getInt("mw_head");
int mw_gloves = rset.getInt("mw_gloves");
int mw_feet = rset.getInt("mw_feet");
int mw_shield = rset.getInt("mw_shield");
- _armorSets.put(chest, new L2ArmorSet(chest, legs, head, gloves, feet, skills, shield, shield_skill_id, enchant6skill, mw_legs, mw_head, mw_gloves, mw_feet, mw_shield));
+ _armorSets.put(chest, new L2ArmorSet(chest, legs, head, gloves, feet, skills, shield, shield_skill_id, enchant6skill, enchant12skill, enchant16skill, mw_legs, mw_head, mw_gloves, mw_feet, mw_shield));
}

rset
.close();
Index: java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java
===================================================================
--- java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java (revision 5101)
+++ java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java (working copy)
@@ -552,6 +537,40 @@
_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getEnchant6skillId()+".");
}
}
+ if (armorSet.isEnchanted12(player)) // has all parts of set enchanted to 12 or more
+ {
+ final int skillId12 = armorSet.getEnchant12skillId();
+
+ if (skillId12 > 0)
+ {
+ L2Skill skille = SkillTable.getInstance().getInfo(skillId12,1);
+
+ if (skille != null)
+ {
+ player.addSkill(skille, false);
+ update = true;
+ }
+ else
+ _log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getEnchant12skillId()+".");
+ }
+ }
+ if (armorSet.isEnchanted16(player)) // has all parts of set enchanted to 16 or more
+ {
+ final int skillId16 = armorSet.getEnchant16skillId();
+
+ if (skillId16 > 0)
+ {
+ L2Skill skille = SkillTable.getInstance().getInfo(skillId16,1);
+
+ if (skille != null)
+ {
+ player.addSkill(skille, false);
+ update = true;
+ }
+ else
+ _log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getEnchant16skillId()+".");
+ }
+ }
}
}
else if (armorSet.containShield(item.getItemId()))
@@ -579,7 +598,6 @@
}
}

- @Override
public void notifyUnequiped(int slot, L2ItemInstance item, Inventory inventory)
{
if (!(inventory.getOwner() instanceof L2PcInstance))
@@ -593,6 +611,8 @@
String[] skills = null;
int shieldSkill = 0; // shield skill
int skillId6 = 0; // enchant +6 skill
+ int skillId12 = 0; // enchant +12 skill
+ int skillId16 = 0; // enchant +16 skill

if (slot == PAPERDOLL_CHEST)
{
@@ -604,6 +624,8 @@
skills = armorSet.getSkills();
shieldSkill = armorSet.getShieldSkillId();
skillId6 = armorSet.getEnchant6skillId();
+ skillId12 = armorSet.getEnchant12skillId();
+ skillId16 = armorSet.getEnchant16skillId();
}
else
{
@@ -621,6 +643,8 @@
skills = armorSet.getSkills();
shieldSkill = armorSet.getShieldSkillId();
skillId6 = armorSet.getEnchant6skillId();
+ skillId12 = armorSet.getEnchant12skillId();
+ skillId16 = armorSet.getEnchant16skillId();
}
else if (armorSet.containShield(item.getItemId())) // removed shield
{
@@ -679,6 +703,24 @@
_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+skillId6+".");
}

+ if (skillId12 != 0)
+ {
+ L2Skill skill = SkillTable.getInstance().getInfo(skillId12,1);
+ if (skill != null)
+ player.removeSkill(skill, false, skill.isPassive());
+ else
+ _log.warning("Inventory.ArmorSetListener: Incorrect skill: "+skillId12+".");
+ }
+
+ if (skillId16 != 0)
+ {
+ L2Skill skill = SkillTable.getInstance().getInfo(skillId16,1);
+ if (skill != null)
+ player.removeSkill(skill, false, skill.isPassive());
+ else
+ _log.warning("Inventory.ArmorSetListener: Incorrect skill: "+skillId16+".");
+ }
+
player
.checkItemRestriction();
player.sendSkillList();
}

Index: java/com/l2jserver/gameserver/model/L2ArmorSet.java
===================================================================
--- java/com/l2jserver/gameserver/model/L2ArmorSet.java (revision 5101)
+++ java/com/l2jserver/gameserver/model/L2ArmorSet.java (working copy)
@@ -39,8 +39,10 @@
private final int _shieldSkillId;

private final int _enchant6Skill;
+ private final int _enchant12Skill;
+ private final int _enchant16Skill;

- public L2ArmorSet(int chest, int legs, int head, int gloves, int feet, String[] skills, int shield, int shield_skill_id, int enchant6skill, int mw_legs, int mw_head, int mw_gloves, int mw_feet, int mw_shield)
+ public L2ArmorSet(int chest, int legs, int head, int gloves, int feet, String[] skills, int shield, int shield_skill_id, int enchant6skill, int enchant12skill, int enchant16skill, int mw_legs, int mw_head, int mw_gloves, int mw_feet, int mw_shield)
{
_chest = chest;
_legs = legs;
@@ -58,6 +60,8 @@
_shieldSkillId = shield_skill_id;

_enchant6Skill
= enchant6skill;
+ _enchant12Skill = enchant12skill;
+ _enchant16Skill = enchant16skill;
}

/**
@@ -162,9 +166,21 @@
return _enchant6Skill;
}

+ public int getEnchant12skillId()
+ {
+ return _enchant12Skill;
+ }
+
+ public int getEnchant16skillId()
+ {
+ return _enchant16Skill;
+ }
+
public boolean isEnchanted6(L2PcInstance player)
{
@@ -193,4 +209,58 @@

return true;
}
+ public boolean isEnchanted12(L2PcInstance player)
+ {
+ // Player don't have full set
+ if (!containAll(player))
+ return false;
+
+ Inventory inv = player.getInventory();
+
+ L2ItemInstance chestItem = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST);
+ L2ItemInstance legsItem = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
+ L2ItemInstance headItem = inv.getPaperdollItem(Inventory.PAPERDOLL_HEAD);
+ L2ItemInstance glovesItem = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES);
+ L2ItemInstance feetItem = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET);
+
+ if (chestItem == null || chestItem.getEnchantLevel() < 12)
+ return false;
+ if (_legs != 0 && (legsItem == null || legsItem.getEnchantLevel() < 12))
+ return false;
+ if (_gloves != 0 && (glovesItem == null || glovesItem.getEnchantLevel() < 12))
+ return false;
+ if (_head != 0 && (headItem == null || headItem.getEnchantLevel() < 12))
+ return false;
+ if (_feet != 0 && (feetItem == null || feetItem.getEnchantLevel() < 12))
+ return false;
+
+ return true;
+ }
+ public boolean isEnchanted16(L2PcInstance player)
+ {
+ // Player don't have full set
+ if (!containAll(player))
+ return false;
+
+ Inventory inv = player.getInventory();
+
+ L2ItemInstance chestItem = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST);
+ L2ItemInstance legsItem = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
+ L2ItemInstance headItem = inv.getPaperdollItem(Inventory.PAPERDOLL_HEAD);
+ L2ItemInstance glovesItem = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES);
+ L2ItemInstance feetItem = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET);
+
+ if (chestItem == null || chestItem.getEnchantLevel() < 16)
+ return false;
+ if (_legs != 0 && (legsItem == null || legsItem.getEnchantLevel() < 16))
+ return false;
+ if (_gloves != 0 && (glovesItem == null || glovesItem.getEnchantLevel() < 16))
+ return false;
+ if (_head != 0 && (headItem == null || headItem.getEnchantLevel() < 16))
+ return false;
+ if (_feet != 0 && (feetItem == null || feetItem.getEnchantLevel() < 16))
+ return false;
+
+ return true;
+ }
}

Editado por admFirewall

2ym840g.png

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts recomendados


  • 0

 

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

Código lindo! Certinho mano, no core vai certim.. porém como minha rev é pra xml estou tendo o seguinte erro quando vou ligar o servidor..

2e1ac8i.png

 

dentro do core está assim gameserver.datatables.xml

 

/*

* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <
O conteúdo está oculto, favor efetuar login ou se cadastrar!
*/
package net.l2jpx.gameserver.datatables.xml;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javolution.util.FastMap;
import org.apache.log4j.Logger;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import net.l2jpx.Config;
import net.l2jpx.gameserver.model.L2ArmorSet;
public class ArmorSetsData
{
private static final Logger _log = Logger.getLogger(ArmorSetsData.class.getName());
private static ArmorSetsData _instance;
public FastMap<Integer, L2ArmorSet> _armorSets;
private final FastMap<Integer, ArmorDummy> _cusArmorSets;
public static ArmorSetsData getInstance()
{
if(_instance == null)
{
_instance = new ArmorSetsData();
}
return _instance;
}
private ArmorSetsData()
{
_armorSets = new FastMap<>();
_cusArmorSets = new FastMap<>();
loadData();
}
private void loadData()
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
factory.setIgnoringComments(true);
File f = new File(Config.DATAPACK_ROOT + "/data/xml/armorsets.xml");
if(!f.exists())
{
_log.warn("armorsets.xml could not be loaded: file not found");
return;
}
try
{
InputSource in = new InputSource(new InputStreamReader(new FileInputStream(f), "UTF-8"));
in.setEncoding("UTF-8");
Document doc = factory.newDocumentBuilder().parse(in);
for(Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
{
if(n.getNodeName().equalsIgnoreCase("list"))
{
for(Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
{
if(d.getNodeName().equalsIgnoreCase("armorset"))
{
int id = Integer.valueOf(d.getAttributes().getNamedItem("id").getNodeValue());
int chest = Integer.valueOf(d.getAttributes().getNamedItem("chest").getNodeValue());
int legs = Integer.valueOf(d.getAttributes().getNamedItem("legs").getNodeValue());
int head = Integer.valueOf(d.getAttributes().getNamedItem("head").getNodeValue());
int gloves = Integer.valueOf(d.getAttributes().getNamedItem("gloves").getNodeValue());
int feet = Integer.valueOf(d.getAttributes().getNamedItem("feet").getNodeValue());
int skill_id = Integer.valueOf(d.getAttributes().getNamedItem("skill_id").getNodeValue());
int shield = Integer.valueOf(d.getAttributes().getNamedItem("shield").getNodeValue());
int shield_skill_id = Integer.valueOf(d.getAttributes().getNamedItem("shield_skill_id").getNodeValue());
int enchant6skill = Integer.valueOf(d.getAttributes().getNamedItem("enchant6skill").getNodeValue());
int enchant12skill = Integer.valueOf(d.getAttributes().getNamedItem("enchant12skill").getNodeValue());
int enchant16skill = Integer.valueOf(d.getAttributes().getNamedItem("enchant16skill").getNodeValue());
_armorSets.put(chest, new L2ArmorSet(chest, legs, head, gloves, feet, skill_id, shield, shield_skill_id, enchant6skill ,enchant12skill, enchant16skill));
_cusArmorSets.put(id, new ArmorDummy(chest, legs, head, gloves, feet, skill_id, shield));
}
}
}
}
}
catch(SAXException e)
{
_log.error("Error while creating table", e);
}
catch(IOException e)
{
_log.error("Error while creating table", e);
}
catch(ParserConfigurationException e)
{
_log.error("Error while creating table", e);
}
_log.info("ArmorSetsTable: Loaded " + _armorSets.size() + " armor sets.");
}
public boolean setExists(int chestId)
{
return _armorSets.containsKey(chestId);
}
public L2ArmorSet getSet(int chestId)
{
return _armorSets.get(chestId);
}
public ArmorDummy getCusArmorSets(int id)
{
return _cusArmorSets.get(id);
}
public class ArmorDummy
{
private final int _chest;
private final int _legs;
private final int _head;
private final int _gloves;
private final int _feet;
private final int _skill_id;
private final int _shield;
public ArmorDummy(int chest, int legs, int head, int gloves, int feet, int skill_id, int shield)
{
_chest = chest;
_legs = legs;
_head = head;
_gloves = gloves;
_feet = feet;
_skill_id = skill_id;
_shield = shield;
}
public int getChest()
{
return _chest;
}
public int getLegs()
{
return _legs;
}
public int getHead()
{
return _head;
}
public int getGloves()
{
return _gloves;
}
public int getFeet()
{
return _feet;
}
public int getSkill_id()
{
return _skill_id;
}
public int getShield()
{
return _shield;
}
}
public void addObj(int v, L2ArmorSet s)
{
_armorSets.put(v, s);
}
}

Como ele deve ficar?
E na parte da index/xml eu devo colocar como ?
Editado por admFirewall

2ym840g.png

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.



×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.