Jump to content

Recommended Posts

Posted

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 ;)

 

 

Posted

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

Posted

realy nice gimmick  ;D

its possible to add in the announce where someone was pked ? would be funny sometimes all run to this location :P

Posted

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?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Download Here: https://sitehunterus.blogspot.com/2025/12/exelo-combo-tool-v2.html VirusTotal https://www.virustotal.com/gui/file/2acd067847ee092c7986f55c9f77620d89505d1c0bda34a0ee8f55b9c2905c11?nocache=1 Visit my Blogger list to download 100% free software https://www.freetoolss.com/ https://blackhat8.blogspot.com/ https://hack-crack9.blogspot.com/ https://hackernoons.blogspot.com/ https://sharetools99.blogspot.com/
    • Care to detail why ?   L2JHellas probably got the same issue, it's inherent to L2J if you don't rework Player intentions (and solving it with a Config < 500 attack is stupid, if it works for attack it works for other types of desires), also last time I checked L2JHellas he was using my changesets to fix its own stuff (which is ok, copy-paste my knownlist system which is 10y old is fine, but don't say it will act different since it's literally the same sub-system).   About Lucera code source isn't available so it's easy to say it's better, internally you got no clue what is happening and RU forks got the "feeling" to get everything, but everything is half done, everytime I put an eye on such sources (whatever based on l2ru, they only know how to copy-paste each other).   In the other hand, you seem to use aCis since years (I think I see your name since a decade, and you still use it since you made this topic :   Be a little more appreciative about the work done, it's not only mine but my community aswell, and if you find something, consider to report rather than getting such an idiotic behavior.   I understand you're not forced to share any type of fixes, and than people tend to feel superior when they fix something than aCis didn't yet fix. The thing is, for each bug you found, I found and fixed 10x more than you.   409 is way beyond 382 in all possible ways, if you believe the versus good for you, but don't make ppl believe it's the case, because it's not. There's at least 400+ fixed issues (and that's counting 10 issues by revision, which is kinda low) and entire new systems (spawns, SCHs, pathfind, whole AI implemented, Desire system,...).
    • better than using 409... Search for L2jHellas or Lucera and you won't have any headaches.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock