I know that there are many others thinks to announce the kills,but i think that this way i better
That's a patch to autoannounce when a player kills another..and i believe thats its better to use it on a pvp server..(thats my opionion)
Options allowed on pvp.properties:
AnnounceAllKills [true|false] : Every time that a player kills another player an announcement will appear. Doesn't matter if it is a Pk kill or a PvP kill.
(Announcement: Player A killed Player B)
AnnouncePvPKills [true|false]: Every time that a player win in a PvP fight an announcement will appear.
(Announcement: Player A hunted Player B)
AnnouncePkKills [true|false]: Every time that a player kill another and becomes a Pk (or increases its pk points) an announcement will appear.
(Announcement: Player A has assassinated Player B )
* Note that you can enable AnnouncePvPKills and AnnouncePkKills at the same time, but if AnnounceAllKills is enabled, AnnouncePvPKills and AnnouncePkKills will get disabled automatically.
* Note that AwardPKKillPVPPoint affects to the announcement (PvP). If the AwardPKKillPVPPoint option is disabled, when a good character kills a chaotic character the announcement won't appear.
* Feel free to change the messages as you wantIndex: C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/config/pvp.properties
===================================================================
--- C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/config/pvp.properties (revision 1156)
+++ C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/config/pvp.properties (working copy)
@@ -29,3 +29,11 @@
PvPVsNormalTime = 40000
# Length one stays in PvP mode after hitting a purple player (in ms)
PvPVsPvPTime = 20000
+
+# Announces when a Player PK another Player. Default - false
+AnnouncePkKill = false
+# Announces when a Player Pvp another Player. Default - false
+AnnouncePvPKill = false
+# Announces when a Player kill another Player. Default - false
+# NOTE: If AnnounceKill is enabled, AnnouncePk and AnnouncePvP will be disabled.
+AnnounceAllKill = false
Index: C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/net/sf/l2j/Config.java
===================================================================
--- C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/net/sf/l2j/Config.java (revision 1156)
+++ C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/net/sf/l2j/Config.java (working copy)
@@ -777,7 +777,13 @@
/** Duration (in ms) while a player stay in PVP mode after hitting an innocent */
public static int PVP_NORMAL_TIME;
/** Duration (in ms) while a player stay in PVP mode after hitting a purple player */
- public static int PVP_PVP_TIME;
+ public static int PVP_PVP_TIME;
+ /** Announce PvP */
+ public static boolean ANNOUNCE_PVP_KILL;
+ /** Announce PK */
+ public static boolean ANNOUNCE_PK_KILL;
+ /** Announce Kill */
+ public static boolean ANNOUNCE_ALL_KILL;
// Karma Punishment
/** Allow player with karma to be killed in peace zone ? */
@@ -1926,6 +1932,18 @@
PVP_NORMAL_TIME = Integer.parseInt(pvpSettings.getProperty("PvPVsNormalTime", "15000"));
PVP_PVP_TIME = Integer.parseInt(pvpSettings.getProperty("PvPVsPvPTime", "30000"));
+ ANNOUNCE_ALL_KILL = Boolean.parseBoolean(pvpSettings.getProperty("AnnounceAllKill", "False")); // Get the AnnounceAllKill, AnnouncePvpKill and AnnouncePkKill values
+ if ( !ANNOUNCE_ALL_KILL )
+ {
+ ANNOUNCE_PVP_KILL = Boolean.parseBoolean(pvpSettings.getProperty("AnnouncePvPKill", "False"));
+ ANNOUNCE_PK_KILL = Boolean.parseBoolean(pvpSettings.getProperty("AnnouncePkKill", "False"));
+ }
+ else
+ {
+ ANNOUNCE_PVP_KILL = false;
+ ANNOUNCE_PK_KILL = false;
+ }
+
}
catch (Exception e)
{
@@ -2323,6 +2341,9 @@
else if (pName.equalsIgnoreCase("PvPVsNormalTime")) PVP_NORMAL_TIME = Integer.parseInt(pValue);
else if (pName.equalsIgnoreCase("PvPVsPvPTime")) PVP_PVP_TIME = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("AnnouncePvPKill") && !ANNOUNCE_ALL_KILL ) ANNOUNCE_PVP_KILL = Boolean.valueOf(pValue); // Set announce Pvp value
+ else if (pName.equalsIgnoreCase("AnnouncePkKill") && !ANNOUNCE_ALL_KILL ) ANNOUNCE_PK_KILL = Boolean.valueOf(pValue); // Set announce Pk value
+ else if (pName.equalsIgnoreCase("AnnounceAllKill") && !ANNOUNCE_PVP_KILL && !ANNOUNCE_PK_KILL ) ANNOUNCE_ALL_KILL = Boolean.valueOf(pValue); // Set announce kill value
else if (pName.equalsIgnoreCase("GlobalChat")) DEFAULT_GLOBAL_CHAT = pValue;
else if (pName.equalsIgnoreCase("TradeChat")) DEFAULT_TRADE_CHAT = pValue;
else if (pName.equalsIgnoreCase("MenuStyle")) GM_ADMIN_MENU_STYLE = pValue;
Index: C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 1156)
+++ C:/Documents and Settings/YO/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy)
@@ -35,6 +35,7 @@
import javolution.util.FastMap;
import net.sf.l2j.Config;
import net.sf.l2j.L2DatabaseFactory;
+import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.GameTimeController;
import net.sf.l2j.gameserver.GeoData;
import net.sf.l2j.gameserver.GmListTable;
@@ -4446,6 +4447,9 @@
)
{
increasePvpKills();
+ if ( target instanceof L2PcInstance && Config.ANNOUNCE_PVP_KILL ) // Announces a PvP kill
+ Announcements.getInstance().announceToAll("Player "+this.getName()+" hunted Player "+target.getName());
+ return;
}
else // Target player doesn't have pvp flag set
{
@@ -4458,6 +4462,10 @@
{
// 'Both way war' -> 'PvP Kill'
increasePvpKills();
+ if ( target instanceof L2PcInstance && Config.ANNOUNCE_PVP_KILL ) // Announces a PvP kill
+ Announcements.getInstance().announceToAll("Player "+this.getName()+" hunted Player "+target.getName());
+ else if ( target instanceof L2PcInstance && Config.ANNOUNCE_ALL_KILL ) // Announces a kill
+ Announcements.getInstance().announceToAll("Player "+this.getName()+" killed Player "+target.getName());
return;
}
}
@@ -4469,13 +4477,19 @@
if ( Config.KARMA_AWARD_PK_KILL )
{
increasePvpKills();
+ if ( target instanceof L2PcInstance && Config.ANNOUNCE_PVP_KILL ) // Announces a PvP kill
+ Announcements.getInstance().announceToAll("Player "+this.getName()+" hunted Player "+target.getName());
}
}
else if (targetPlayer.getPvpFlag() == 0) // Target player doesn't have karma
{
increasePkKillsAndKarma(targetPlayer.getLevel());
+ if ( target instanceof L2PcInstance && Config.ANNOUNCE_PK_KILL ) // Announces a Pk kill
+ Announcements.getInstance().announceToAll("Player "+this.getName()+" has assassinated Player "+target.getName());
}
}
+ if ( target instanceof L2PcInstance && Config.ANNOUNCE_ALL_KILL ) // Announces a kill
+ Announcements.getInstance().announceToAll("Player "+this.getName()+" killed Player "+target.getName());
}
/**
i dont remember the credits..but i think that its from l2jforum..
enjoy...
Linkback: https://l2topzone.com/forum/index.php?topic=944.0