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

    • Added FloodProtector utility to prevent packet flooding for actions like item use and dice rolling. Integrated flood protection checks in relevant client packet handlers and registered/removal hooks in player lifecycle. Updated movement logic in L2PcInstance for improved position synchronization and geodata handling. Minor fixes and refactoring in attack logic, private store handling, and admin NPC editing. Refactored AI classes to enhance movement, attack, and skill usage logic for characters and mobs. Improved distance checks, attack range calculations, and skill casting conditions. Removed unused intention command logic from L2CharacterAI. Updated configuration to enable CellPathFinding. Minor code cleanups and bug fixes for more reliable AI behavior. Enhanced GeoPathFinding with detailed debug and error messages for region loading, including success/failure counts and file checks. Refactored L2AttackableAI and L2CharacterAI to improve attack range tolerance, immediate attack behavior, and added safety checks for missing targets. Updated configuration to disable CellPathFinding by default and added a new ShowRedName option for aggressive mobs. Minor config and log updates included. Applied TCP socket optimizations (e.g., TCP_NODELAY, buffer sizes, keepalive) in ClientThread, Connection, and SelectorThread to reduce latency and improve throughput. Enhanced L2AttackableAI with better random walk, aggro, and attack logic, including silent move checks, quest monster handling, and improved faction/raid/minion behavior. Added silent move support to L2PlayableInstance and quest monster flag to L2NpcTemplate/L2NpcInstance. These changes aim to improve server responsiveness, AI realism, and overall stability.
    • I’ve been using this Escape from Tarkov Hack for about a week now with no issues at all. ESP works great without any lag, and the aimbot is smooth and doesn't feel obvious. Had a quick setup with the loader, and support answered my questions right away. The HWID spoofer also did its job without messing with my system. So far, the cheat's staying undetected on my side.
    • Hello everyone, this is ADENA L2REBORN / LU4 / MASTERWORK We also have items, epics, etc. discord - adver745645 Our prices are reasonable, so have a nice shopping and a nice day.
  • 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