Hello, this code is in a quest, but it has a delay for the player to win the item, how do I take this delay and the player to win the item so kill the mob equal adena ???
Index: config/players.properties =================================================================== --- config/players.properties (revision 5) +++ config/players.properties (working copy) @@ -320,4 +320,18 @@ DressMeLegs = Imperial,6374 DressMeBoots = Draconic,6381;Imperial,6376;Arcana,6385 DressMeGloves = Draconic,6380;Imperial,6375;Arcana,6384 DressMeWeapons = Draconic_Bow,7577;Shining_Bow,6594;Arcana_Mace,6608 + +#============================================================= +# Global Drop +#============================================================= +# Configuração de Drop Global +# Liga / Desliga Drop Global +AllowGlobalDrop = True +# Ativa Drop random que aumenta de acordo com level do MOB. +AllowRandomQuantityDrop = True +# Itemid,chance,min,max;Itemid,chance,min,max +GlobalDropItems = 6392,100,1,2;6393,50,1,3; +# Itemid,chance,min,max;Itemid,chance,min,max +# Essa configuração é para mobs do tipo Champion +ChampionGlobalDropItems = 6391,100,1,2; \ No newline at end of file Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 5) +++ java/net/sf/l2j/Config.java (working copy) @@ -690,6 +690,11 @@ public static int CLIENT_PACKET_QUEUE_MAX_OVERFLOWS_PER_MIN = 1; // default 1 public static int CLIENT_PACKET_QUEUE_MAX_UNDERFLOWS_PER_MIN = 1; // default 1 public static int CLIENT_PACKET_QUEUE_MAX_UNKNOWN_PER_MIN = 5; // default 5 + + public static Map> GLOBAL_DROP_ITEMS = new HashMap<>(); + public static Map> GLOBAL_DROP_ITEMS_CHAMPION = new HashMap<>(); + public static boolean ALLOW_GLOBAL_DROP_RANDOM; + public static boolean ALLOW_GLOBAL_DROP;
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
DISCORD :
utchiha_market
telegram :
https://t.me/utchiha_market
SELLIX STORE :
https://utchihamkt.mysellix.io/
Join our server for more products :
https://discord.gg/uthciha-market
https://campsite.bio/utchihaamkt
Question
l2jkain
Hello, this code is in a quest, but it has a delay for the player to win the item, how do I take this delay and the player to win the item so kill the mob equal adena ???
Index: config/players.properties
===================================================================
--- config/players.properties (revision 5)
+++ config/players.properties (working copy)
@@ -320,4 +320,18 @@
DressMeLegs = Imperial,6374
DressMeBoots = Draconic,6381;Imperial,6376;Arcana,6385
DressMeGloves = Draconic,6380;Imperial,6375;Arcana,6384
DressMeWeapons = Draconic_Bow,7577;Shining_Bow,6594;Arcana_Mace,6608
+
+#=============================================================
+# Global Drop
+#=============================================================
+# Configuração de Drop Global
+# Liga / Desliga Drop Global
+AllowGlobalDrop = True
+# Ativa Drop random que aumenta de acordo com level do MOB.
+AllowRandomQuantityDrop = True
+# Itemid,chance,min,max;Itemid,chance,min,max
+GlobalDropItems = 6392,100,1,2;6393,50,1,3;
+# Itemid,chance,min,max;Itemid,chance,min,max
+# Essa configuração é para mobs do tipo Champion
+ChampionGlobalDropItems = 6391,100,1,2;
\ No newline at end of file
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java (revision 5)
+++ java/net/sf/l2j/Config.java (working copy)
@@ -690,6 +690,11 @@
public static int CLIENT_PACKET_QUEUE_MAX_OVERFLOWS_PER_MIN = 1; // default 1
public static int CLIENT_PACKET_QUEUE_MAX_UNDERFLOWS_PER_MIN = 1; // default 1
public static int CLIENT_PACKET_QUEUE_MAX_UNKNOWN_PER_MIN = 5; // default 5
+
+ public static Map> GLOBAL_DROP_ITEMS = new HashMap<>();
+ public static Map> GLOBAL_DROP_ITEMS_CHAMPION = new HashMap<>();
+ public static boolean ALLOW_GLOBAL_DROP_RANDOM;
+ public static boolean ALLOW_GLOBAL_DROP;
// --------------------------------------------------
@@ -1133,7 +1138,31 @@
*/
private static final void loadPlayers()
{
final ExProperties players = initProperties(PLAYERS_FILE);
+ String globalTemp = players.getProperty("GlobalDropItems", "");
+ String[] globalTemp2 = globalTemp.split(";");
+ for (String s : globalTemp2)
+ {
+ List list = new ArrayList<>();
+ String[] t = s.split(",");
+ list.add(Integer.parseInt(t[1]));
+ list.add(Integer.parseInt(t[2]));
+ list.add(Integer.parseInt(t[3]));
+ GLOBAL_DROP_ITEMS.put(Integer.parseInt(t[0]), list);
+ }
+ globalTemp = players.getProperty("ChampionGlobalDropItems", "");
+ globalTemp2 = globalTemp.split(";");
+ for (String s : globalTemp2)
+ {
+ List list = new ArrayList<>();
+ String[] t = s.split(",");
+ list.add(Integer.parseInt(t[1]));
+ list.add(Integer.parseInt(t[2]));
+ list.add(Integer.parseInt(t[3]));
+ GLOBAL_DROP_ITEMS_CHAMPION.put(Integer.parseInt(t[0]), list);
+ }
+ ALLOW_GLOBAL_DROP_RANDOM = players.getProperty("AllowRandomQuantityDrop", true);
+ ALLOW_GLOBAL_DROP = players.getProperty("AllowGlobalDrop", true);
STARTING_ADENA = players.getProperty("StartingAdena", 100);
EFFECT_CANCELING = players.getProperty("CancelLesserEffect", true);
HP_REGEN_MULTIPLIER = players.getProperty("HpRegenMultiplier", 1.);
Index: java/net/sf/l2j/gameserver/scripting/scripts/custom/GlobalDropMonsters.java
===================================================================
--- java/net/sf/l2j/gameserver/scripting/scripts/custom/GlobalDropMonsters.java (nonexistent)
+++ java/net/sf/l2j/gameserver/scripting/scripts/custom/GlobalDropMonsters.java (working copy)
@@ -0,0 +1,125 @@
+
+package net.sf.l2j.gameserver.scripting.scripts.custom;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import net.sf.l2j.commons.random.Rnd;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.datatables.NpcTable;
+import net.sf.l2j.gameserver.model.actor.L2Attackable;
+import net.sf.l2j.gameserver.model.actor.L2Npc;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
+import net.sf.l2j.gameserver.model.holder.IntIntHolder;
+import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
+import net.sf.l2j.gameserver.scripting.Quest;
+
+/**
+ * @author Tayran.JavaDev
+ * @version 4
+ */
+public class GlobalDropMonsters extends Quest
+{
+
+ @Override
+ public String onKill(L2Npc mob, L2PcInstance killer, boolean isPet)
+ {
+ int levelMobMin = 0;
+ for (int i = 1; i < 81; i++)
+ {
+ levelMobMin = killer.getLevel() - 8;
+ if (i > 10)
+ {
+ if (killer.getLevel() == i && mob.getLevel() < levelMobMin)
+ return "";
+ }
+ }
+ if (mob.isChampion())
+ dropItem(mob, killer, Config.GLOBAL_DROP_ITEMS_CHAMPION);
+ else
+ dropItem(mob, killer, Config.GLOBAL_DROP_ITEMS);
+ return super.onKill(mob, killer, isPet);
+ }
+
+ private static void dropItem(final L2Npc mob, final L2PcInstance player, final Map> droplist)
+ {
+ Integer key;
+ Integer chance;
+ Integer min;
+ Integer max;
+ Integer itemMin;
+ Integer itemMax;
+ Integer count;
+ Integer rnd;
+ for (Entry> entry : droplist.entrySet())
+ {
+ key = entry.getKey();
+ List valueList = entry.getValue();
+
+ chance = valueList.get(0);
+ min = valueList.get(1);
+ max = valueList.get(2);
+
+ if (mob.getLevel() > 9 && Config.ALLOW_GLOBAL_DROP_RANDOM)
+ {
+ itemMin = mob.getLevel() * min / 5;
+ itemMax = mob.getLevel() * max / 6;
+ }
+ else
+ {
+ itemMin = min;
+ itemMax = max;
+ }
+ count = Rnd.get(itemMin, itemMax);
+
+ rnd = Rnd.get(100);
+
+ if (rnd < chance)
+ {
+ IntIntHolder item = new IntIntHolder(key, count);
+ dropItem(mob, player, item);
+ continue;
+ }
+ }
+
+ }
+
+ /**
+ * Drop item.
+ * @author Tayran.JavaDev
+ * @param mob
+ * @param lastAttacker The player who made ultimate damage.
+ * @param item instance IntIntHolder.
+ * @return the dropped item instance.
+ */
+ public static ItemInstance dropItem(L2Npc mob, L2PcInstance lastAttacker, IntIntHolder item)
+ {
+ if (Config.AUTO_LOOT)
+ lastAttacker.doAutoLoot((L2Attackable) mob, item);
+ else
+ return ((L2Attackable) mob).dropItem(lastAttacker, item);
+ return null;
+ }
+
+
+ public GlobalDropMonsters()
+ {
+ super(-1, GlobalDropMonsters.class.getSimpleName());
+ if (Config.ALLOW_GLOBAL_DROP)
+ {
+ for (NpcTemplate npcTemplate : NpcTable.getInstance().getAllNpcs())
+ {
+ if (npcTemplate.getType().equalsIgnoreCase("L2Monster"))
+ super.addKillId(npcTemplate.getIdTemplate());
+ }
+ System.out.println("[Drop Global Activated] All L2Monster have been added with Global Drop Items");
+ }
+ else
+ {
+ System.out.println("[Drop Global Disabled] No L2Monster was changed");
+ }
+ }
+}
\ No newline at end of file
,>,>,>,>
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.