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.


×
×
  • Create New...