Jump to content

[share]Autoannounce Pk, PvP and All kills


Recommended Posts

Well i saw that there is no stuff like this on the forum.

I know that's one of the easiest things to do with Announcements, but as it is required on the forum i'm posting it to stand here for those who need it.

 

That's a patch to autoannounce when a player kills another. Probably this is much more useful on a PvP or High-rated Servers.

 

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 want.

 

 

Index: 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());

}

 

    /**

credits:l2jforum i dont remember name

this works on l2j

enjoy ;)

 

 

Link to comment
Share on other sites

Very Nice Share.. But I have saw it in Any Pack anymore... So .... Anyway Gratz for your Work!

 

i dont know what are u talking about but this isnt at packs,this is to announce names when someone kill somebody

Link to comment
Share on other sites

i dont know what are u talking about but this isnt at packs,this is to announce names when someone kill somebody

 

you are the creator of this code?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...