» Find Revision
L2J Revision 5565M:
L2JDP Revision [b9070[/b]:
Ok so i looked at this guide: http://www.l2jserver.com/wiki/How_to_Apply_a_Patch
But i had a few questions When i get a patch that dont have any (-) or (+) it cant be added manualy right ? And i have to save this patch in my workspace l2jserver.gameserver.datatables/PvPRewardsTable.java ?
Code: Select all
package com.l2jserver.gameserver.datatables; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Map; import javolution.util.FastMap; import com.l2jserver.L2DatabaseFactory;import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;import com.l2jserver.util.Rnd; /** * @author hNoke * */public class PvPRewardsTable{ private Map<Integer, PvPRewardItem> _rewards; public static PvPRewardsTable getInstance() { return SingletonHolder._instance; } public PvPRewardsTable() { load(); } public void rewardLastHit(L2PcInstance winner, L2PcInstance target) { int random = Rnd.get(100000); int am-beep-t; for(Map.Entry<Integer, PvPRewardItem> item : _rewards.entrySet()) { if(item.getKey() < random) { am-beep-t = item.getValue().getAm-beep-t(winner); if(am-beep-t > 0) winner.addItem("PvPReward", item.getValue().id, am-beep-t, null, true); } } } public class PvPRewardItem { public int id; public int minAm-beep-t; public int maxAm-beep-t; public int chance; public int pvpRequired; public int levelRequired; public PvPRewardItem(int id, int minAm-beep-t, int maxAm-beep-t, int chance, int pvpRequired, int levelRequired) { this.id = id; this.minAm-beep-t = minAm-beep-t; this.maxAm-beep-t = maxAm-beep-t; this.chance = chance; this.pvpRequired = pvpRequired; this.levelRequired = levelRequired; } public int getAm-beep-t(L2PcInstance player) { if(player.getLevel() >= levelRequired && player.getPvpKills() >= pvpRequired) return Rnd.get(minAm-beep-t, maxAm-beep-t); else return 0; } } private void load() { _rewards = new FastMap<Integer, PvPRewardItem>(); Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT * FROM pvp_rewards"); ResultSet rset = statement.executeQuery(); while (rset.next()) { _rewards.put(rset.getInt("chance"), new PvPRewardItem(rset.getInt("id"), rset.getInt("minAm-beep-t"), rset.getInt("maxAm-beep-t"), rset.getInt("chance"), rset.getInt("pvpRequired"), rset.getInt("levelRequired"))); } rset.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { con.close(); } catch (Exception e) { } } } @SuppressWarnings("synthetic-access") private static class SingletonHolder { protected static final PvPRewardsTable _instance = new PvPRewardsTable(); }}
@@ -99,7 +99,9 @@ = These are the lines above the edit. Whats that mean,
and do i replace the --- java/com/l2jserver/gameserver/GameServer.java (revision 4402)
with the +++ java/com/l2jserver/gameserver/GameServer.java (working copy)
and put my rev in where it says "Working Copy"
Code: Select all
### Eclipse Workspace Patch 1.0#P L2j_hNoke_COREIndex: java/com/l2jserver/gameserver/GameServer.java===================================================================--- java/com/l2jserver/gameserver/GameServer.java (revision 4402)+++ java/com/l2jserver/gameserver/GameServer.java (working copy)@@ -38,7 +38,9 @@ import com.l2jserver.gameserver.datatables.AdminCommandAccessRights; import com.l2jserver.gameserver.datatables.ArmorSetsTable; import com.l2jserver.gameserver.datatables.AugmentationData; import com.l2jserver.gameserver.datatables.CharNameTable; import com.l2jserver.gameserver.datatables.CharTemplateTable; import com.l2jserver.gameserver.datatables.ClanTable; import com.l2jserver.gameserver.datatables.DoorTable;@@ -61,9 +63,11 @@ import com.l2jserver.gameserver.datatables.NpcBufferTable; import com.l2jserver.gameserver.datatables.NpcTable; import com.l2jserver.gameserver.datatables.NpcWalkerRoutesTable; import com.l2jserver.gameserver.datatables.OfflineTradersTable; import com.l2jserver.gameserver.datatables.PetDataTable; import com.l2jserver.gameserver.datatables.PetSkillsTable;+import com.l2jserver.gameserver.datatables.PvPRewardsTable; import com.l2jserver.gameserver.datatables.ResidentialSkillTable; import com.l2jserver.gameserver.datatables.SkillSpellbookTable; import com.l2jserver.gameserver.datatables.SkillTable;@@ -84,11 +88,14 @@ import com.l2jserver.gameserver.instancemanager.AirShipManager; import com.l2jserver.gameserver.instancemanager.AuctionManager; import com.l2jserver.gameserver.instancemanager.BoatManager; import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.instancemanager.CastleManorManager; import com.l2jserver.gameserver.instancemanager.ClanHallManager; import com.l2jserver.gameserver.instancemanager.CoupleManager; import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager; import com.l2jserver.gameserver.instancemanager.DayNightSpawnManager; import com.l2jserver.gameserver.instancemanager.DimensionalRiftManager; import com.l2jserver.gameserver.instancemanager.FortManager;@@ -115,8 +122,10 @@ import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.PartyMatchRoomList; import com.l2jserver.gameserver.model.PartyMatchWaitingList; import com.l2jserver.gameserver.model.entity.Hero; import com.l2jserver.gameserver.model.entity.TvTManager; import com.l2jserver.gameserver.model.olympiad.Olympiad; import com.l2jserver.gameserver.network.L2GameClient; import com.l2jserver.gameserver.network.L2GamePacketHandler;@@ -205,6 +214,7 @@ L2World.getInstance(); MapRegionTable.getInstance(); Announcements.getInstance(); printSection("Skills"); EnchantGroupsTable.getInstance();@@ -251,6 +261,7 @@ PathFinding.getInstance(); printSection("NPCs"); NpcTable.getInstance(); NpcWalkerRoutesTable.getInstance(); ZoneManager.getInstance();@@ -400,6 +411,16 @@ _log.log(Level.WARNING, "DynamicExtension could not be loaded and initialized", ex); } + PvPRewardsTable.getInstance();+ TvTManager.getInstance(); KnownListUpdateTaskManager.getInstance(); Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java===================================================================--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (revision 4402)+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (working copy)@@ -21,6 +21,8 @@ /** * Increase the pvp kills count and send the info to the player@@ -5817,17 +6077,175 @@ */ // Add karma to attacker and increase its PK counter setPvpKills(getPvpKills() + 1); + PvPRewardsTable.getInstance().rewardLastHit(this, (L2PcInstance)target); // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter sendPacket(new UserInfo(this)); sendPacket(new ExBrExtraUserInfo(this)); } } }