Dar vertas tobulinimo, bet:
teleports.xml
<teleport id="1006" loc_x="115113" loc_y="-178212" loc_z="-901" price="46000" fornoble="0" specitem="6673"/>
prie bet kurio teleporto pridėjus specitem="spec item id" teleportuos už tą itemą price="" atitinka tavo spec itemų kiekį.
Kaip ir ankščiau teleportina už adenas:
<teleport id="1006" loc_x="115113" loc_y="-178212" loc_z="-901" price="46000" fornoble="0"/>
TeleportLocationTable.java => load() funkcija ten kur kraunami elementai xml.
//[ext] specific item
Node specitemnode = node.getNamedItem("specitem");
if(specitemnode != null)
teleport.setSpecItem(Integer.valueOf(specitemnode.getNodeValue()));
else
teleport.setSpecItem(-1);
L2TeleportLocation.java
//[ext]
private int specitem;
public void setSpecItem(int id) {
specitem = id;
}
public int getSpecItem() {
return specitem;
}
L2TeleporterInstance.java => doTeleport() ties funkcijos galu ten.
//[ext] use spec item on teleport
if (list.getSpecItem() != -1) {
if (player.destroyItemByItemId("Teleport use spec item", list.getSpecItem(), price, this, true))
player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), 20);
} else if (Config.ALT_GAME_FREE_TELEPORT || player.destroyItemByItemId("Teleport " + (list.getIsForNoble() ? " nobless" : ""), 57, price, this, true)) {
if (Config.DEBUG)
_log.fine("Teleporting player " + player.getName() + " to new location: " + list.getLocX() + ":" + list.getLocY() + ":" + list.getLocZ());
player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), 20);
}
Ant greito pratestavus veikia. Ant acis tikrai tiks ant kitų packų matyt kažką pakeist reiks kur nors.