Jump to content
  • 0

Add Zone Name (Acis)


Question

Posted (edited)

Hi guys, i need your help. I have this event:

### Eclipse Workspace Patch 1.0
Index: java/net/sf/l2j/gameserver/model/KillTheMobEvent.java
===================================================================
--- java/net/sf/l2j/gameserver/model/KillTheMobEvent.java    (revision 0)
+++ java/net/sf/l2j/gameserver/model/KillTheMobEvent.java    (working copy)
@@ -0,0 +1,84 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.model;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.ThreadPoolManager;
+import net.sf.l2j.gameserver.datatables.NpcTable;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
+import net.sf.l2j.gameserver.util.Broadcast;
+import net.sf.l2j.util.Rnd;
+
+/**
+ * @author Bluur
+ * @version 1.1
+ *
+ */
+public class KillTheMobEvent
+{
+    private static boolean eventEnabled = false;
+    private static int mobSelected;
+
+    protected static void start()
+    {
+        mobSelected = Config.KILL_THE_MOB_MOB_IDS[Rnd.get(Config.KILL_THE_MOB_MOB_IDS.length)];
+        NpcTemplate mob = NpcTable.getInstance().getTemplate(mobSelected);
+        
+        if (mob == null)
+        {
+            System.out.println("[Kill The Mob]: ID incorreto, evento cancelado...");    
+            return;
+        }
+        
+        eventEnabled = true;
+        
+        Broadcast.announceToOnlinePlayers("[Kill The Mob]: The event was started!", true);
+        Broadcast.announceToOnlinePlayers("[Kill The Mob]: Search and kill the " + mob.getName(), true);
+        
+        sleep(Config.KILL_THE_MOB_DURATION_EVENT); //event time        
+        eventEnabled = false;
+        Broadcast.announceToOnlinePlayers("[Kill The Mob]: The event is over!", true);
+    }
+    
+    public static void checkerToReward(int id, L2PcInstance player)
+    {
+        if (id == mobSelected && player.getLevel() >= Config.KILL_THE_MOB_MIN_LEVEL && player.getLevel() <= Config.KILL_THE_MOB_MAX_LEVEL)
+            player.addItem("", Config.KILL_THE_MOB_REWARD_ID, Config.KILL_THE_MOB_REWARD_COUNT, player, true);
+    }
+    
+    public static int getMobSelected()
+    {
+        return mobSelected;
+    }
+    
+    public static boolean isEventEnabled()
+    {
+        return eventEnabled;
+    }
+    
+    public static void init()
+    {
+        ThreadPoolManager.getInstance().scheduleEffectAtFixedRate(new Runnable()
+        {
+            @Override
+            public void run()
+            {
+                start();
+            }
+        }, Config.KILL_THE_MOB_INTERVAL_EVENT*1000*60, Config.KILL_THE_MOB_INTERVAL_EVENT*1000*60);
+    }
+    
+    private static void sleep(int value)
+    {
+        try
+        {
+            Thread.sleep(value * 1000 * 60);
+        }
+        catch (InterruptedException e)
+        {
+            e.printStackTrace();
+        }
+    }
+}

I want add zone name in this line: 

 

Broadcast.announceToOnlinePlayers("[Kill The Mob]: Search and kill the " + mob.getName() + (localization),  true);

 

i try with this;

but nothing happened.

 

addZoneName(getX(), getY(), getZ());

Edited by SycoraX

4 answers to this question

Recommended Posts

  • 0
Posted

i find a code like this 

 + SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
      + sm.addZoneName(getX(), getY(), getZ());
      + sm.addString("- " + getName() + " Mato a " + target.getName() + ".");
      + Announcements.getInstance().announceToAll(sm);
      + sm = null;

I10sPdU.png

  • 0
Posted (edited)

String ClosestTownName = MapRegionTable.getInstance().getClosestTownName(mob.getX(), mob.getY());

Broadcast.announceToOnlinePlayers("[Kill The Mob]: Search and kill the " + mob.getName() + " near: "+ ClosestTownName, true);

Edited by AbSoLuTePoWeR
  • 0
Posted (edited)

Hi, Absolutepower, thank you so much, it works fine  :). But this is for the closestTownName, i need zone name. For example: Solina Brother in Monastery of Silence, yes its obvious, but is for newbies. 

Edited by SycoraX
Guest
This topic is now closed to further replies.


  • Posts

    • L2jMobius has data oriented pathfinder since May. Already have "less memory" used for geodata since 3 weeks ago. Avoiding 1 GB less memory in geodata on latest clients. Not to mention rolling with an actual geodata generator since 3 weeks ago again. We also did actual benchmarks, tests with actual players, and decided to not use AI slop navmesh. I guess working only on a 10 year old client gives you a lot of free time and need to kill your boredom somehow... Need to show some progress somehow... Kinda get it... And unlike aCis we do release our full work every 4 months. So expect to actually see our work on this Christmas release.
    • 🎉 L2-SCRIPTS TURNS 20 🎉 This year marks our studio's 20th anniversary!   ▬▬▬▬▬▬▬▬▬▬   Two decades in the Lineage 2 private server market is a long run — we've seen chronicles, engines and trends come and go. We keep doing what we do best: builds, technical support, turnkey projects, website and engine development, personal account systems, anti-cheat and anti-bot protection, auto-donation systems, unique events, geodata — basically anything your project might need.   🎨 To mark the occasion, we figured it was the perfect time for a fresh look. Honestly, the haters deserve some credit too — they never sleep, and they gave us that extra push to finally update the visuals 😉 We kept the familiar structure and sections intact so nobody gets lost — just made everything more modern and easier on the eyes.   ▬▬▬▬▬▬▬▬▬▬   ⚠️ Spot any bugs or rough edges on the updated site? Let us know and we'll fix it right away. Thanks for being with us for 20 years. It only gets better from here 🚀   🌐 https://l2-scripts.ru   |   https://l2-scripts.com ✈️ https://t.me/L2scripts
    • A full MMORPG that runs in your browser. No download, no launcher, no account with anyone else — click the link and you are in the world. ▶ Play free: https://l2d.one Aden Chronicles is an isometric fantasy MMORPG built in the spirit of the old Lineage 2 servers: classes that branch as you grow, castles that change hands, and world bosses that the whole server has to deal with together. Not a single-player game with a leaderboard attached — one shared world, where the same monsters die once and the same castle has one lord. WHAT IS IN IT 7 regions and 245 hunting grounds, scaling from level 1 to 80 6 classes that branch into 24 professions, then Awakening at 60 201 skills, enchantable past their normal ceiling 174 monster types, raid bosses, and grand bosses shared by the entire server Castle sieges, clans with reputation and wars, the Grand Olympiad 23 armour sets across 6 grades, enchanting, augmentation with life stones Caves and mines you walk down into — tunnels, ore veins, a guardian at the bottom 14 islands reached by ship, 10 pets, from a wolf to a dragon hatchling THE TWO THAT EVERYONE FIGHTS Valakas the World-Flame — level 78, 900,000 HP Aetheron, Sky Sovereign — level 82, 1,400,000 HP They do not respawn for you. They respawn for everybody.   Video -->  
    • I personally like it a lot. I see this not as a replacement but as a supplementary client that can fill different type of gameplay. 
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..