Jump to content
  • 0

Add Zone Name (Acis)


SycoraX

Question

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
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

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

Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...