Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - canonmagic

Páginas: [1]
1
Issues / [Aporte - Fix] - RandomEvents
« en: Julio 12, 2018, 05:43:49 pm »
Buenas, anduve echandole un ojo a los RandomEvents y note que habia un par de cosas que parecian no funcionar bien asi que lo estuve revisando y le hize un par de arreglos aqui dejo los diff:

1.- Al EventRandomManager le hize un par de cambios en los timers porque estos se montaban uno encima del otro causando que los tiempos estuvieran incorrectos ademas de que se iniciaban multiples eventos a la vez, tambien habia un error que arregle con los mismos timers que no iniciaban el "endMod" cada vez que terminaba el timer del evento y un pequeño error en los array que causaba que el ultimo elemento de EVENTS no fuera seleccionado

2.- Al SearchChest le hize varios cambios: en el top de players debido a que generaba un 50% de pjs participantes en el top en vez de una cantidad determinada y si un solo player participaba no le daba absolutamente nada debido a que el array quedaba en 1/2 "Yo lo deje en un top 10" y un par de detalles en el html y anucios. Y agregue al terminar el uso del metodo para entregar los rewards. Ademas de el mismo error con EVENTS pero en este caso con los LOCS.

3.- Al html solo le agregue un pequeño detalle para el mod SearchChest "Decia kills en vez de puntos y se veia medio raro  ::)"

Código
### Eclipse Workspace Patch 1.0
#P C4_Mods
Index: src/main/engine/events/daily/randoms/EventRandomManager.java
===================================================================
--- src/main/engine/events/daily/randoms/EventRandomManager.java (revision 1100)
+++ src/main/engine/events/daily/randoms/EventRandomManager.java (working copy)
@@ -69,7 +69,7 @@
  switch (getState())
  {
  case START:
- startTimer("randomEvent", ConfigData.RANDOM_TIME_BETWEEN_EVENTS * 60 * 1000, null, null, true);// 1hs
+ startTimer("randomEvent", ConfigData.RANDOM_TIME_BETWEEN_EVENTS * 60 * 1000, null, null, false);// 1hs
  break;
  case END:
 
@@ -84,8 +84,13 @@
  {
  case "randomEvent":
  {
+ // Para asegurarse que no haya otro Mod activo
+ if (mod != null)
+ {
+ mod.endMod();
+ }
  // Random event
- mod = EVENTS.get(Rnd.get(EVENTS.size() - 1));
+ mod = EVENTS.get(Rnd.get(EVENTS.size()));
  // Init mod
  mod.startMod();
  // Start finish task
@@ -99,6 +104,8 @@
  {
  mod.endMod();
  }
+ // Se crea el bucle de timers para evitar la sobreposicion de tiempos
+ startTimer("randomEvent", ConfigData.RANDOM_TIME_BETWEEN_EVENTS * 60 * 1000, null, null, false);// 1hs
  break;
  }
  }

Código
### Eclipse Workspace Patch 1.0
#P C4_Mods
Index: src/main/engine/events/daily/randoms/type/SearchChest.java
===================================================================
--- src/main/engine/events/daily/randoms/type/SearchChest.java (revision 1100)
+++ src/main/engine/events/daily/randoms/type/SearchChest.java (working copy)
@@ -28,14 +28,14 @@
 import main.holders.objects.NpcHolder;
 import main.holders.objects.PlayerHolder;
 import main.packets.ObjectPosition;
+import main.util.UtilMessage;
 import main.util.UtilSpawn;
 import main.util.builders.html.Html;
 import net.sf.l2j.gameserver.model.actor.instance.enums.TeamType;
 import net.sf.l2j.gameserver.model.holder.LocationHolder;
 import net.sf.l2j.gameserver.model.skills.effects.enums.AbnormalEffectType;
 import net.sf.l2j.gameserver.model.world.L2World;
-import net.sf.l2j.gameserver.network.clientpackets.Say2.SayType;
-import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;
+import net.sf.l2j.gameserver.network.clientpackets.Say2;
 import net.sf.l2j.gameserver.util.Broadcast;
 import net.sf.l2j.util.lib.Rnd;
 
@@ -51,7 +51,7 @@
  // DEATH_PASS,
  // DRAGON_VALLEY,
  // TOWER_OF_INSOLENCE,
- BLASSING_SWAMP,
+ BLAZING_SWAMP,
  // PLAINS_OF_GLORY,
  // BREKA_STRONGHOLD,
  // FIELD_OF_MASSACRE,
@@ -164,107 +164,107 @@
  LOCS.get(LocType.CEMETERY).add(new LocationHolder(179220, 15465, -3172));
 
  // ------------------------------------------------------------------------
- LOCS.put(LocType.BLASSING_SWAMP, new ArrayList<>());
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(142085, -18114, -3231));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(143236, -20535, -3163));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(145300, -21378, -3176));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(149386, -23931, -3432));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(144639, -25477, -2155));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(143405, -25055, -2066));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(148154, -20274, -3049));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(150048, -17955, -3044));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(152342, -11796, -4483));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(152425, -8279, -4492));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(151391, -7563, -4461));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(150069, -6352, -4376));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(147601, -5950, -4550));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(146238, -7036, -4496));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(143215, -8306, -4636));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(139472, -10414, -4656));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(137645, -12104, -4287));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(137864, -13163, -4294));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(139132, -13934, -4327));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(138927, -15927, -4299));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(140554, -15782, -4422));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(142994, -14669, -4439));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(144522, -16152, -4147));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(146336, -16757, -3777));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(149626, -16429, -3091));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(151635, -15976, -2929));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(153734, -14038, -3746));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(154818, -11801, -3994));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(154852, -9708, -4236));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(155657, -6926, -4085));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(153094, -16560, -2955));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(146155, -9388, -4446));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(145330, -10950, -4447));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(145132, -12112, -4434));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(144651, -12501, -4378));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(144333, -14525, -4343));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(144012, -15937, -4259));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(145288, -16169, -4025));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(146727, -15983, -4062));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(147839, -15992, -4306));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(148698, -15210, -4450));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(149801, -14660, -4434));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(150152, -14597, -4464));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(151305, -13845, -4516));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(152095, -13914, -4458));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(152413, -13002, -4457));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(153099, -12243, -4505));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(147504, -17241, -3348));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(148583, -17219, -3094));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(146317, -19304, -3442));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(146425, -19299, -3443));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(145537, -20635, -3158));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(144771, -21653, -3136));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(143060, -21486, -3151));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(141506, -19838, -3214));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(141690, -18305, -3211));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(140768, -18034, -3173));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(139095, -15698, -4285));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(138352, -15226, -4280));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(137501, -13594, -4295));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(137396, -12341, -4175));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(138590, -10545, -4624));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(137535, -10498, -3955));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(138607, -9138, -4407));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(140096, -8822, -4680));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(140922, -9044, -4569));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(140769, -8009, -4629));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(140979, -6620, -4773));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(139267, -6912, -4759));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(139951, -5786, -4805));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(140010, -4901, -4780));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(141300, -5982, -4782));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(142735, -5755, -4765));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(142735, -5755, -4765));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(143746, -5066, -4662));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(142558, -4465, -4765));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(143940, -4408, -4690));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(145139, -4277, -4555));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(145965, -4587, -4504));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(146551, -5802, -4503));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(147661, -6197, -4398));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(148820, -5439, -4539));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(149097, -6689, -4424));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(149307, -7918, -4380));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(151157, -7614, -4485));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(151892, -6289, -4368));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(152241, -7053, -4473));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(153694, -7964, -4483));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(154275, -7484, -4472));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(153906, -8368, -4482));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(153284, -9849, -4445));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(152906, -10818, -4417));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(154112, -11378, -4417));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(152305, -12215, -4473));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(149152, -11586, -4448));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(148476, -13337, -4389));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(144990, -12759, -4430));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(143693, -10567, -4627));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(142818, -8733, -4573));
- LOCS.get(LocType.BLASSING_SWAMP).add(new LocationHolder(141121, -10344, -4618));
+ LOCS.put(LocType.BLAZING_SWAMP, new ArrayList<>());
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(142085, -18114, -3231));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(143236, -20535, -3163));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(145300, -21378, -3176));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(149386, -23931, -3432));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(144639, -25477, -2155));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(143405, -25055, -2066));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(148154, -20274, -3049));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(150048, -17955, -3044));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(152342, -11796, -4483));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(152425, -8279, -4492));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(151391, -7563, -4461));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(150069, -6352, -4376));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(147601, -5950, -4550));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(146238, -7036, -4496));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(143215, -8306, -4636));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(139472, -10414, -4656));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(137645, -12104, -4287));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(137864, -13163, -4294));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(139132, -13934, -4327));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(138927, -15927, -4299));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(140554, -15782, -4422));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(142994, -14669, -4439));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(144522, -16152, -4147));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(146336, -16757, -3777));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(149626, -16429, -3091));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(151635, -15976, -2929));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(153734, -14038, -3746));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(154818, -11801, -3994));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(154852, -9708, -4236));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(155657, -6926, -4085));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(153094, -16560, -2955));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(146155, -9388, -4446));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(145330, -10950, -4447));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(145132, -12112, -4434));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(144651, -12501, -4378));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(144333, -14525, -4343));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(144012, -15937, -4259));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(145288, -16169, -4025));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(146727, -15983, -4062));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(147839, -15992, -4306));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(148698, -15210, -4450));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(149801, -14660, -4434));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(150152, -14597, -4464));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(151305, -13845, -4516));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(152095, -13914, -4458));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(152413, -13002, -4457));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(153099, -12243, -4505));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(147504, -17241, -3348));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(148583, -17219, -3094));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(146317, -19304, -3442));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(146425, -19299, -3443));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(145537, -20635, -3158));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(144771, -21653, -3136));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(143060, -21486, -3151));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(141506, -19838, -3214));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(141690, -18305, -3211));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(140768, -18034, -3173));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(139095, -15698, -4285));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(138352, -15226, -4280));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(137501, -13594, -4295));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(137396, -12341, -4175));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(138590, -10545, -4624));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(137535, -10498, -3955));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(138607, -9138, -4407));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(140096, -8822, -4680));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(140922, -9044, -4569));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(140769, -8009, -4629));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(140979, -6620, -4773));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(139267, -6912, -4759));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(139951, -5786, -4805));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(140010, -4901, -4780));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(141300, -5982, -4782));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(142735, -5755, -4765));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(142735, -5755, -4765));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(143746, -5066, -4662));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(142558, -4465, -4765));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(143940, -4408, -4690));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(145139, -4277, -4555));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(145965, -4587, -4504));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(146551, -5802, -4503));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(147661, -6197, -4398));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(148820, -5439, -4539));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(149097, -6689, -4424));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(149307, -7918, -4380));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(151157, -7614, -4485));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(151892, -6289, -4368));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(152241, -7053, -4473));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(153694, -7964, -4483));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(154275, -7484, -4472));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(153906, -8368, -4482));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(153284, -9849, -4445));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(152906, -10818, -4417));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(154112, -11378, -4417));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(152305, -12215, -4473));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(149152, -11586, -4448));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(148476, -13337, -4389));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(144990, -12759, -4430));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(143693, -10567, -4627));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(142818, -8733, -4573));
+ LOCS.get(LocType.BLAZING_SWAMP).add(new LocationHolder(141121, -10344, -4618));
  // ------------------------------------------------------------------------
  }
 
@@ -288,9 +288,8 @@
  spawn();
  break;
  case END:
-
+ giveRewards();
  playerPoints.clear();
-
  unspawn();
  break;
  }
@@ -301,26 +300,24 @@
  var pointsOrdered = new LinkedHashMap<String, Integer>();
 
  // Sort the list according to your scores
- var LIMIT = playerPoints.size() / 2;
-
+ var LIMIT = 10;
  playerPoints.entrySet().stream().sorted(Entry.<String, Integer> comparingByValue().reversed()).limit(LIMIT).forEach(e ->
  {
  pointsOrdered.put(e.getKey(), e.getValue());
  });
-
  for (var player : L2World.getInstance().getAllPlayers())
  {
  if (pointsOrdered.containsKey(player.getName()))
  {
- // A message is sent to all participants informing the winning team.
- Broadcast.toAllOnlinePlayers(new CreatureSay(SayType.TELL, "", "Congratulations winner!"));
+ // A message is sent to all winners.
+ UtilMessage.sendCreatureMsg(player, Say2.SayType.ANNOUNCEMENT, "Event: ", "Congratulations Winner!!");
  // Prizes are awarded.
  ConfigData.CHEST_REWARDS.forEach(rh -> player.getInventory().addItem("Event", rh.getRewardId(), rh.getRewardCount(), player, true));
  }
  }
 
  // The html of the ranking is generated
- var hb = Html.eventRanking(pointsOrdered);
+ var hb = Html.eventRankingPoints(pointsOrdered);
 
  for (var player : L2World.getInstance().getAllPlayers())
  {
@@ -331,7 +328,7 @@
  }
  else
  {
- // UtilMessage.sendScreenMessage("Ganador de la busqueda del tesoro: " + pointsOrdered.get(key), time, list);
+ // Broadcast.announceToOnlinePlayers("Ganador del evento: " + pointsOrdered.get(player.getName()));
  }
  }
  }
@@ -341,7 +338,7 @@
  // Delete all old chest.
  unspawn();
  // location type random.
- var locRandom = LocType.values()[Rnd.get(LocType.values().length - 1)];
+ var locRandom = LocType.values()[Rnd.get(LocType.values().length)];
  // List of locations.
  var locList = LOCS.get(locRandom);
  // Place name
@@ -395,10 +392,12 @@
  if (!playerPoints.containsKey(player.getName()))
  {
  playerPoints.put(player.getName(), 0);
+
  }
 
  var points = playerPoints.get(player.getName());
  playerPoints.put(player.getName(), ++points);
+ UtilMessage.sendCreatureMsg(player, Say2.SayType.ANNOUNCEMENT, "Event: ", "Punto Obtenido!!");
  }
 
  /**

Código
### Eclipse Workspace Patch 1.0
#P C4_Mods
Index: src/main/util/builders/html/Html.java
===================================================================
--- src/main/util/builders/html/Html.java (revision 1100)
+++ src/main/util/builders/html/Html.java (working copy)
@@ -136,6 +136,43 @@
  return hb;
  }
 
+ public static HtmlBuilder eventRankingPoints(Map<String, Integer> pointsOrdered)
+ {
+ var hb = new HtmlBuilder(HtmlType.HTML);
+ hb.append(START);
+ hb.append(head("TOP 10"));
+ hb.append("<center>");
+ hb.append("<br>");
+
+ hb.append(image(L2UI_CH3.br_bar2_mp, 280, 1));
+ hb.append("<table width=280 bgcolor=000000>");
+ hb.append("<tr>");
+ hb.append("<td width=16 align=center></td>");
+ hb.append("<td width=214 align=center>Player</td>");
+ hb.append("<td width=50 align=center>Points</td>");
+ hb.append("</tr>");
+ hb.append("</table>");
+ hb.append(image(L2UI_CH3.br_bar2_mp, 280, 1));
+
+ int cont = 0;
+ for (Entry<String, Integer> entry : pointsOrdered.entrySet())
+ {
+ cont++;
+ hb.append("<table width=280", cont % 2 == 0 ? " bgcolor=000000>" : ">");
+ hb.append("<tr>");
+ hb.append("<td width=16 height=22 align=center>", image(POS[cont - 1], 16, 16), "</td>");
+ hb.append("<td width=214 align=center>", entry.getKey(), "</td>");
+ hb.append("<td width=50 align=center>", entry.getValue(), "</td>");
+ hb.append("</tr>");
+ hb.append("</table>");
+ hb.append(image(L2UI_CH3.br_bar2_mp, 280, 1));
+ }
+ hb.append("</center>");
+ hb.append(END);
+
+ return hb;
+ }
+
  /**
  * A color is assigned according to the character's lvl
  * @param lvl

2
Issues / [MOD - EventCooperative] - Error
« en: Julio 10, 2018, 01:12:58 pm »
Buenas, hoy estuve andando un poco con los eventos cooperativos "TVT,CTF,DM,etc"; encontre que al momento de que terminara el timer y lanzara el evento este no realiza el teletransporte de los inscritos al evento "ninguno de ellos". Dentro del codigo hay un "World.add(ph), (El comentario dice que es el encargado del teleport)" Pero no comprendo del todo la creacion de los Worlds asi que no pude analizar mas a fondo si estaba alli el error. Y pues sucede que al realizarse el chequeo de los jugadores dentro del evento como no hay jugadores en la zona el world se elimina automaticamente y el jugador es eliminado del array de "PlayersInEvent".

Nota: El metodo de la revision de IP tenia un pequeño error el cual aun dejando el config de CheckIp como false seguia rechazando la inscripcion. Y en el config de FlagHolder habia un numero faltante en el ID. Aqui dejo el diff

Código
### Eclipse Workspace Patch 1.0
#P C4_Mods
Index: src/main/engine/events/cooperative/EventCooperativeManager.java
===================================================================
--- src/main/engine/events/cooperative/EventCooperativeManager.java (revision 1100)
+++ src/main/engine/events/cooperative/EventCooperativeManager.java (working copy)
@@ -228,7 +228,8 @@
 
  if (isRegisterPlayerIp(ph, false))
  {
- return false;
+ registerPlayers.add(ph.getObjectId());
+ return true;
  }
 
  registerPlayers.add(ph.getObjectId());
@@ -276,7 +277,7 @@
  */
  public static boolean isRegisterPlayerIp(PlayerHolder ph, boolean removeOffline)
  {
- if (ConfigData.COOPERATIVE_CHECK_PLAYER_IP)
+ if (ConfigData.COOPERATIVE_CHECK_PLAYER_IP == false)
  {
  return false;
  }

Código
### Eclipse Workspace Patch 1.0
#P C4_GameServer
Index: dist/game/config/engine/EventsCooperative.properties
===================================================================
--- dist/game/config/engine/EventsCooperative.properties (revision 1100)
+++ dist/game/config/engine/EventsCooperative.properties (working copy)
@@ -76,7 +76,7 @@
 CtF_FlagId = 60018
 
 # Holder npc id
-Ctf_HolderId = 6001
+Ctf_HolderId = 60019
 
 # Points deliver flag
 Ctf_DeliverFlag = 30

3
Issues / [SA & Efectos adicionales - Armas] - Error Parte 1
« en: Julio 06, 2018, 04:49:16 am »
Buenas, escribo para informar que anduve haciendo un par de pruebas con las habilidades SA de las armas y alguna que otra arma con efectos añadidos y me encontre problemas con varios de ellos, no los separo a todos en posts porque llenaria la pagina completa de issues pero los separare en categorias  ::). Aqui los primeros

1.- En las armas hero "Infinity"

1.1.- El Infinity Spear no aplica el efecto "Dispel" el cual deberia eliminar uno a uno los buff del objetivo con los criticos

1.4.- El Infinity Scepter y Infinity Rod no estan aplicando el heal de 100% que deberian dar con un chance de 3% "aun usando 1000 veces battle heal"

Por ahora dejo estos porque son los mas complicados de revisar para mi. Si consigo solucionar alguno de estos o los otros problemas ire dejando por aqui los fix

4
Issues / [Share] [Aporte - Fix] - Admins Html
« en: Julio 02, 2018, 01:41:22 pm »
Buenas, escribo para avisarles que anduve revisando los Html del juego y me encontre un par de errores y detalles en los html del menu Admin. Aqui les dejo los afectados ya arreglados.

C4_DataPack/data/html/admin/gmshop/pets.htm "Devolvia multisell petweapon al seleccionar pet armors"
Código
<html><body>
<center>
<table width=260>
<tr>
<td width=80><button value="Main" action="bypass -h admin_admin" width=80 height=22 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td width=100 align=center>GM Shop - Pets</td>
<td width=80><button value="Back" action="bypass -h admin_help menuGmShops.htm" width=80 height=22 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
</table>
<br>
<center>
<table width=140>
<tr><td><button value="Pet Weapons" action="bypass -h admin_help gmshop/petweapon.htm" width=140 height=22 back=L2UI_CH3.bigbutton3_down fore=L2UI_CH3.bigbutton3></td></tr>
<tr><td><button value="Pet Armor" action="bypass -h admin_help gmshop/petarmor.htm" width=140 height=22 back=L2UI_CH3.bigbutton3_down fore=L2UI_CH3.bigbutton3></td></tr>
<tr><td><button value="Pet Collars" action="bypass -h admin_buy 3003" width=140 height=22 back=L2UI_CH3.bigbutton3_down fore=L2UI_CH3.bigbutton3></td></tr>
</table>
</center>
</body></html>

C4_DataPack/data/html/admin/menuEnchant.htm "Añadido una R y L para identificar las earring"
Código
<html><body>
<center>
<br>
<table width=240>
<tr>
<td align=center><button value="Char" action="bypass -h admin_help menuChar.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td align=center><button value="Game" action="bypass -h admin_help menuGame.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td align=center><button value="Admin" action="bypass -h admin_help menuAdmin.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
</table>

<br><br>

<font color="LEVEL">Enchant menu</font>

<table width=240>
<tr>
<td><button value="Underwear" action="bypass -h admin_setun $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td><button value="Helmet" action="bypass -h admin_seteh $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td><button value="Cloak" action="bypass -h admin_setba $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
<tr>
<td><button value="Necklace" action="bypass -h admin_seten $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td><button value="Weapon" action="bypass -h admin_setew $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td><button value="Chest" action="bypass -h admin_setec $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
<tr>
<td><button value="Shield" action="bypass -h admin_setes $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td><button value="Earring R" action="bypass -h admin_setre $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td><button value="Earring L" action="bypass -h admin_setle $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
<tr>
<td><button value="Gloves" action="bypass -h admin_seteg $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td><button value="Leggings" action="bypass -h admin_setel $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td><button value="Boots" action="bypass -h admin_seteb $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
<tr>
<td width=80><button value="Ring R" action="bypass -h admin_setrf $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td width=80><button value="Ring L" action="bypass -h admin_setlf $menu_command" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td width=80><button value="" action="bypass -h " width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>

</tr>
</table>
<br>
<font color="LEVEL">[Enchant 0-65535]</font>
<edit var="menu_command" width=100 height=15>
</center>
</body></html>

C4_DataPack/data/html/admin/spawns1 "habia un (.htm) mal posicionado antes de los htm de spawn por cada lvl y tambien lo ordene para que se pueda buscar un lvl mas facilmente"
Código
<html><body>
<center>
<br>
<table width=240>
<tr>
<td align=center><button value="Char" action="bypass -h admin_help menuChar.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td align=center><button value="Game" action="bypass -h admin_help menuGame.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td align=center><button value="Admin" action="bypass -h admin_help menuAdmin.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
</table>
<br><br>
<font color="LEVEL">Spawn a Monster by id:</font>
<table>
<tr>
<td>ID:</td>
<td><edit var="id" width=70></td>
<td><button value="Spawn" action="bypass -h admin_spawn_monster $id" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
</table>
<br><br>
<font color="LEVEL">Spawn by Level:</font>
<table width=256>
<tr>
<td><button value="Nivel 1" action="bypass -h admin_help spawns/01.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 2" action="bypass -h admin_help spawns/02.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 3" action="bypass -h admin_help spawns/03.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 4" action="bypass -h admin_help spawns/04.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 5" action="bypass -h admin_help spawns/05.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 6" action="bypass -h admin_help spawns/06.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 7" action="bypass -h admin_help spawns/07.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 8" action="bypass -h admin_help spawns/08.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 9" action="bypass -h admin_help spawns/09.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 10" action="bypass -h admin_help spawns/10.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 11" action="bypass -h admin_help spawns/11.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 12" action="bypass -h admin_help spawns/12.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 13" action="bypass -h admin_help spawns/13.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 14" action="bypass -h admin_help spawns/14.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 15" action="bypass -h admin_help spawns/15.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 16" action="bypass -h admin_help spawns/16.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 17" action="bypass -h admin_help spawns/17.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 18" action="bypass -h admin_help spawns/18.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 19" action="bypass -h admin_help spawns/19.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 20" action="bypass -h admin_help spawns/20.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 21" action="bypass -h admin_help spawns/21.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 22" action="bypass -h admin_help spawns/22.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 23" action="bypass -h admin_help spawns/23.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 24" action="bypass -h admin_help spawns/24.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
</table>
<br>
<table>
<tr>
<td align=center><button value="Pag 2" action="bypass -h admin_help spawns2.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td align=center><button value="Pag 3" action="bypass -h admin_help spawns3.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
</table>
</center>
</body></html>

C4_DataPack/data/html/admin/spawns2 "Mismo problema que spawns1"
Código
<html><body>
<center>
<br>
<table width=240>
<tr>
<td align=center><button value="Char" action="bypass -h admin_help menuChar.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td align=center><button value="Game" action="bypass -h admin_help menuGame.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td align=center><button value="Admin" action="bypass -h admin_help menuAdmin.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
</table>
<br><br>
<font color="LEVEL">Spawn a Monster by id:</font>
<table>
<tr>
<td>ID:</td>
<td><edit var="id" width=70></td>
<td><button value="Spawn" action="bypass -h admin_spawn_monster $id" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
</table>
<br><br>
<font color="LEVEL">Spawn by Level:</font>
<table width=256>
<tr>
<td><button value="Nivel 25" action="bypass -h admin_help spawns/25.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 26" action="bypass -h admin_help spawns/26.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 27" action="bypass -h admin_help spawns/27.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 28" action="bypass -h admin_help spawns/28.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 29" action="bypass -h admin_help spawns/29.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 30" action="bypass -h admin_help spawns/30.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 31" action="bypass -h admin_help spawns/31.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 32" action="bypass -h admin_help spawns/32.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 33" action="bypass -h admin_help spawns/33.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 34" action="bypass -h admin_help spawns/34.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 35" action="bypass -h admin_help spawns/35.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 36" action="bypass -h admin_help spawns/36.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 37" action="bypass -h admin_help spawns/37.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 38" action="bypass -h admin_help spawns/38.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 39" action="bypass -h admin_help spawns/39.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 40" action="bypass -h admin_help spawns/40.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 41" action="bypass -h admin_help spawns/41.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 42" action="bypass -h admin_help spawns/42.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 43" action="bypass -h admin_help spawns/43.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 44" action="bypass -h admin_help spawns/44.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 45" action="bypass -h admin_help spawns/45.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 46" action="bypass -h admin_help spawns/46.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 47" action="bypass -h admin_help spawns/47.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 48" action="bypass -h admin_help spawns/48.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
<tr>
<td><button value="Nivel 49" action="bypass -h admin_help spawns/49.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 50" action="bypass -h admin_help spawns/50.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 51" action="bypass -h admin_help spawns/51.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
<td><button value="Nivel 52" action="bypass -h admin_help spawns/52.htm" width=64 height=22 back=L2UI_CH3.smallbutton2_down fore=L2UI_CH3.smallbutton2></td>
</tr>
</table>
<br>
<table>
<tr>
<td align=center><button value="Pag 1" action="bypass -h admin_help spawns1.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
<td align=center><button value="Pag 3" action="bypass -h admin_help spawns3.htm" width=75 height=25 back=L2UI_CH3.Btn1_normalOn fore=L2UI_CH3.btn1_normal></td>
</tr>
</table>
</center>
</body></html>

5
Issues / [Solved] [NPC - Crosby] - Error
« en: Julio 01, 2018, 02:22:33 pm »
Buenas, escribo para avisar que estuve haciendo un par de pruebas con los asedios y castillos y me encontre un problema con el Chamberlain del castillo de Dion "Crosby", el cual al hablarle no devuelve las opciones comunes del chamberlain solo una pantalla de "I have nothing to say to u". Solo este chamberlain tiene ese problema el resto funciona bien.

6
General / [Consulta] - Utilizacion de Scripts en L2JAdmins
« en: Junio 30, 2018, 04:39:01 pm »
Buenas, Vengo a ustedes en busca de algo de informacion acerca del datapack, hace poco estuve por aqui por un evento que estuve adaptando; todo resulto bien hasta el punto donde decidi aplicar condiciones adicionales. Se trata de una quest ligada a un evento de drop global de Event Medals. Gracias a una ayuda de fissban la quest funciono correctamente, pero el evento de drop global el cual lo tenia en el EngineMods me limitaba mucho debido a que mi intencion era aplicarle un efecto "DeepBlue" a los drops, cosa que el CharacterHolder me limito debido a que no tenia forma de recuperar los lvls; ademas de que tampoco me permitia realizar dropeos a jugadores dentro de una party a traves del random drop sino directamente a la mochila del asesino "Pobres supps  :'(". Asi que tome el evento y lo introduje en la quest. Pero sucede ahora que no logro activar el evento del dropeo, Al realizar el trigger de onKill no me devuelve mas que una ventana con "null" y un "NullPointerException" en la consola. Intente realizar lo siguiente:

Código
	@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
{
L2PcInstance partyMember = getRandomPartyMemberState(player, npc, ScriptStateType.STARTED);
ScriptState st = player.getScriptState(getName());
for (RewardHolder reward : ConfigData.ITEMID)
{
if (player.getLevel() - npc.getLevel() < 8)
{
if (Rnd.get(100) <= reward.getRewardChance())
{
int MIN = reward.getRewardMin();
int MAX = reward.getRewardMax();
int count = (int) (Math.random() * (MAX - MIN + 1) + MIN);
partyMember.getScriptState(getName()).dropItems(NORMAL_MEDAL, 1, 0, 1000000);
player.getScriptState(getName()).dropItems(reward.getRewardId(), count, 0, 1000000);
st.giveItems(NORMAL_MEDAL, 1);
}
}
}
return null;
}

Si se fijan utilize varios metodos y algunos los tomaba copiandolos de otras quest como GatherTheFlames y QuestForFishingShot. Tambien pense que necesitaria primero iniciar la quest, pero el metodo "startQuest();" solo funciona con un QuestState anterior de "CREATED" ademas de que segun los comentario no debe aplicarse a Quests custom. Asi que si podrian porfavor darme un par de tips acerca del uso de los metodos de Scripts "O quests" Les agradecesco por adelantado  :)

7
Issues / [Bug] [Accion - Assist] - Error
« en: Junio 27, 2018, 07:00:30 am »
Buenos dias, Parece que la accion de assist no esta funcionando, selecciono un target que este en medio de un PVP o PVE y al darle assist este no reacciona el target no cambia al objetivo del seleccionado.

8
General / Consulta - Utilizacion de los Strings
« en: Junio 22, 2018, 12:53:02 pm »
Buenas, escribo para pedirles una pequeña ayuda con una quest personalizada. Ya esta practicamente funcional pero me ha dado problemas al regresar el html al hablar con el npc. Me manda un mensaje de "NullPointerExeption". Y he intentado hacer varios cambios pero todavia no doy con la aplicacion del return en un String. Aqui les dejo la porcion del codigo

Código
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
ScriptState st = player.getScriptState(getName());
if (st==null)
{
st = player.getScriptState(Q635_EventMedalsQuest.class.getSimpleName());
st.setState(ScriptStateType.CREATED);
st = player.getScriptState(Q635_EventMedalsQuest.class.getSimpleName());
st.setState(ScriptStateType.STARTED);
}
String htmltext = npc.getId() + ".htm";
return htmltext;
}


9
Issues / [Solved] [Skill - Self-destruct] - Error
« en: Junio 20, 2018, 02:42:54 pm »
Buenas tardes, escribo para avisarles que el Skill del summon de los warsmith big boom "Self-destruct" no se activa al usarlo.

10
Issues / [Solved] [Skill - Confusion] - Error
« en: Junio 20, 2018, 02:32:14 pm »
Buenas, tanto esta habilidad como el resto que trabajan con el "EffectConfused" no estan funcionando, al lanzarla el efecto se activa e incluso se ve el efecto visual verdoso tipico de la confusion pero el mob sigue atacando al mismo objetivo aun teniendo otros mobs alrededor.

11
Issues / [Solved] [Skill - Peace] - Error
« en: Junio 16, 2018, 01:22:40 pm »
PD: estuve probando todos los skills y encontre problemas con: "Peace y Charm" que deberian hacer que los mob detengan su ataque y por mas que lo lanze siguen atacando; "Armor crush" el cual no funciona con espada a 2 manos y mazo a 2 manos y con "Seal mirage", el cual no lanza la habilidad al presionarla.

12
Issues / [Solved] Mal funcionamiento en skills restringidos a "UNDEADS"
« en: Junio 16, 2018, 10:05:23 am »
Buenas, Les escribo para avisarles que me he encontrado un problema con las skills como Disrupt Undead que estan restringidas para atacar solo a los Type undead... Hoy anduve andando un rato jugando con un Cleric y me encontre que al intentar lanzar la habilidad Disrupt Undead a un ghoul me mandaba el mensaje "Target cannot be found" y "Incorrect Target", asi que con un admin probe todas las habilidades hacia los undead y ninguna funciono... tambien probe con otros undead como Strains y nada...

13
General / [Solved] Ayuda adaptando Evento Medallas a L2JAdmins fissban rev 1093
« en: Junio 11, 2018, 06:17:25 pm »
Buenas, les escribo para pedirles una pequeña ayuda, estoy aprendiendo poco a poco el comportamiento del datapack L2Jadmins, para ir aprendiendo poco a poco maneras de crear scripts y mods me he tomado la tarea de traer algunos de otros datapacks y adaptarlos. Pero me he encontrado un pequeño percance con el evento de las event medals. Ya hize un script aparte para los drops globales y me funciono perfectamente, pero al intentar adaptar la quest de los gatos "Roy the cat" y "Winnie the cat" me tira el siguiente error el GameServer:

Código
------------------------------------------------------------------=[ Scripts ]
java.lang.NoSuchMethodException: net.sf.l2j.gameserver.scripts.quests.normal.Eve
ntMedalQuest.<init>()
        at java.base/java.lang.Class.getConstructor0(Unknown Source)
        at java.base/java.lang.Class.getDeclaredConstructor(Unknown Source)
        at net.sf.l2j.gameserver.data.ScriptsData.parseFile(ScriptsData.java:58)

        at net.sf.l2j.util.XmlParser.loadFile(XmlParser.java:94)
        at net.sf.l2j.util.XmlParser.loadFile(XmlParser.java:67)
        at net.sf.l2j.gameserver.data.ScriptsData.load(ScriptsData.java:43)
        at net.sf.l2j.gameserver.GameServer.<init>(GameServer.java:296)
        at net.sf.l2j.gameserver.GameServer.main(GameServer.java:356)

y revisando el script detenidamente:

Código
/*
 * Copyright (C) 2014-2018 L2jAdmins
 *
 * This file is part of L2jAdmins.
 *
 * L2jAdmins 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.
 *
 * L2jAdmins 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.scripts.quests.normal;

import net.sf.l2j.gameserver.model.actor.L2Npc;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

/**
 * @author Noname
 *
 */

import net.sf.l2j.gameserver.scripts.Script;
import net.sf.l2j.gameserver.scripts.ScriptState;
import net.sf.l2j.util.lib.Rnd;

public class EventMedalQuest extends Script
{
private final static int CAT_ROY = 6228;
private final static int CAT_WINNIE = 6229;
private final static int GLITTERING_MEDAL = 6393;

private final static int WIN_CHANCE = 50;

private final static int[] MEDALS =
{
5,
10,
20,
40
};
private final static int[] BADGES =
{
6399,
6400,
6401,
6402
};

private static final int[][] _spawns_winnie =
{
{
-44342,
-113726,
-240,
0
},
{
-44671,
-115437,
-240,
22500
},
{
-13073,
122841,
-3117,
0
},
{
-13972,
121893,
-2988,
32768
},
{
-14843,
123710,
-3117,
8192
},
{
11327,
15682,
-4584,
25000
},
{
11243,
17712,
-4574,
57344
},
{
18154,
145192,
-3054,
7400
},
{
19214,
144327,
-3097,
32768
},
{
19459,
145775,
-3086,
48000
},
{
17418,
170217,
-3507,
36000
},
{
47146,
49382,
-3059,
32000
},
{
44157,
50827,
-3059,
57344
},
{
79798,
55629,
-1560,
0
},
{
83328,
55769,
-1525,
32768
},
{
80986,
54452,
-1525,
32768
},
{
83329,
149095,
-3405,
49152
},
{
82277,
148564,
-3467,
0
},
{
81620,
148689,
-3464,
32768
},
{
81691,
145610,
-3467,
32768
},
{
114719,
-178742,
-821,
0
},
{
115708,
-182422,
-1449,
0
},
{
-80731,
151152,
-3043,
28672
},
{
-84097,
150171,
-3129,
4096
},
{
-82678,
151666,
-3129,
49152
},
{
117459,
76664,
-2695,
38000
},
{
115936,
76488,
-2711,
59000
},
{
119576,
76940,
-2275,
40960
},
{
-84516,
243015,
-3730,
34000
},
{
-86031,
243153,
-3730,
60000
},
{
147124,
27401,
-2192,
40960
},
{
147985,
25664,
-2000,
16384
},
{
111724,
221111,
-3543,
16384
},
{
107899,
218149,
-3675,
0
},
{
114920,
220080,
-3632,
32768
},
{
147924,
-58052,
-2979,
49000
},
{
147285,
-56461,
-2776,
33000
},
{
44176,
-48688,
-800,
33000
},
{
44294,
-47642,
-792,
50000
}
};

private static final int[][] _spawns_roy =
{
{
-44337,
-113669,
-224,
0
},
{
-44628,
-115409,
-240,
22500
},
{
-13073,
122801,
-3117,
0
},
{
-13949,
121934,
-2988,
32768
},
{
-14786,
123686,
-3117,
8192
},
{
11281,
15652,
-4584,
25000
},
{
11303,
17732,
-4574,
57344
},
{
18178,
145149,
-3054,
7400
},
{
19208,
144380,
-3097,
32768
},
{
19508,
145775,
-3086,
48000
},
{
17396,
170259,
-3507,
36000
},
{
47151,
49436,
-3059,
32000
},
{
44122,
50784,
-3059,
57344
},
{
79806,
55570,
-1560,
0
},
{
83328,
55824,
-1525,
32768
},
{
80986,
54504,
-1525,
32768
},
{
83332,
149160,
-3405,
49152
},
{
82277,
148598,
-3467,
0
},
{
81621,
148725,
-3467,
32768
},
{
81680,
145656,
-3467,
32768
},
{
114733,
-178691,
-821,
0
},
{
115708,
-182362,
-1449,
0
},
{
-80789,
151073,
-3043,
28672
},
{
-84049,
150176,
-3129,
4096
},
{
-82623,
151666,
-3129,
49152
},
{
117498,
76630,
-2695,
38000
},
{
115914,
76449,
-2711,
59000
},
{
119536,
76988,
-2275,
40960
},
{
-84516,
242971,
-3730,
34000
},
{
-86003,
243205,
-3730,
60000
},
{
147184,
27405,
-2192,
17000
},
{
147920,
25664,
-2000,
16384
},
{
111776,
221104,
-3543,
16384
},
{
107904,
218096,
-3675,
0
},
{
114920,
220020,
-3632,
32768
},
{
147888,
-58048,
-2979,
49000
},
{
147262,
-56450,
-2776,
33000
},
{
44176,
-48732,
-800,
33000
},
{
44319,
-47640,
-792,
50000
}
};

public EventMedalQuest(int questId, String name, String descr)
{
super(5000, "EventMedalQuest");
addStartNpc(CAT_ROY);
addStartNpc(CAT_WINNIE);
addTalkId(CAT_ROY);
addTalkId(CAT_WINNIE);
addFirstTalkId(CAT_ROY);
addFirstTalkId(CAT_WINNIE);
for (int[] _spawn : _spawns_roy)
{
addSpawn(CAT_ROY, _spawn[0], _spawn[1], _spawn[2], _spawn[3], false, 0);
}
for (int[] _spawn : _spawns_winnie)
{
addSpawn(CAT_WINNIE, _spawn[0], _spawn[1], _spawn[2], _spawn[3], false, 0);
}
}

@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = "";
ScriptState st = player.getScriptState(getName());
htmltext = event;

int level = checkLevel(st);

if (event.equalsIgnoreCase("game"))
{
if (st.getItemsCount(GLITTERING_MEDAL) < MEDALS[level])
return "8229-no.htm";
else
return "8229-game.htm";
}
else if (event.equalsIgnoreCase("heads") || event.equalsIgnoreCase("tails"))
{
if (st.getItemsCount(GLITTERING_MEDAL) < MEDALS[level])
return "8229-" + event.toLowerCase() + "-10.htm";

st.takeItems(GLITTERING_MEDAL, MEDALS[level]);

if (Rnd.get(100) > WIN_CHANCE)
{
level = 0;
}
else
{
if (level>0)
st.takeItems(BADGES[level-1], -1);
st.giveItems(BADGES[level], 1);
st.playSound("Itemsound.quest_itemget");
level++;
}
return "8229-" + event.toLowerCase() + "-" + String.valueOf(level) + ".htm";
}
else if (event.equalsIgnoreCase("talk"))
{
return String.valueOf(npc.getId()) + "-lvl-" + String.valueOf(level) + ".htm";
}
return htmltext;
}

@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
ScriptState st = player.getScriptState(getName());
if (st == null)
{
ScriptState q = player.getScriptState(getName());
st = q.setState(player);
}
return npc.getId() + ".htm";
}

public int checkLevel(ScriptState st)
{
int _lev = 0;
if (st == null)
{
return 0;
}
else if (st.getItemsCount(6402) > 0)
{
_lev = 4;
}
else if (st.getItemsCount(6401) > 0)
{
_lev = 3;
}
else if (st.getItemsCount(6400) > 0)
{
_lev = 2;
}
else if (st.getItemsCount(6399) > 0)
{
_lev = 1;
}

return _lev;
}

public static void main(String[] args)
{
new EventMedalQuest(-1, "Event Medal", "events");
}

{
}

}

El problema parece que esta en esta parte... pero no he logrado entender todavía el problema.

Código
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
ScriptState st = player.getScriptState(getName());
if (st == null)
{
ScriptState q = player.getScriptState(getName());
st = q.setState(player);
}
return npc.getId() + ".htm";
}

¿Tienen alguna idea de que puede estar causándome el problema para poder solucionarlo?, Disculpen mi ignorancia por adelantado apenas es el 2do script que intento hacer funcionar  :-\

14
Issues / Problema instalando el server Rev 1993
« en: Junio 02, 2018, 05:34:27 pm »
Buenas, tengo un pequeño problema, estoy intentando correr la Rev 1093, ya hize checkout en eclipse y aplique los 3 builds a Gameserver Gamedata y Gamemod, tome los 3 archivos rar y los descomprimi... pero al momento en que intento correr el loginregister me da un error, tienen alguna idea de si he cometido algun error instalandolo o si me falta algun paso?

Código
#_____________________________________________________________________________#
#                __   ___     _ ___       __          _                       #
#               / /  |__ \   (_)   | ____/ /___ ___  (_)___  _____            #
#              / /   __/ /  / / /| |/ __  / __ `__ \/ / __ \/ ___/            #
#             / /___/ __/  / / ___ / /_/ / / / / / / / / / (__  )             #
#            /_____/____/_/ /_/  |_\__,_/_/ /_/ /_/_/_/ /_/____/              #
#                      /___/                                                  #
#_____________________________________________________________________________#
com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initial
ize pool: Unknown database 'c4login'
        at com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(Hi
kariPool.java:569)
        at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:555)
        at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
        at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
        at net.sf.l2j.L2DatabaseFactory.<init>(L2DatabaseFactory.java:55)
        at net.sf.l2j.L2DatabaseFactory$SingletonHolder.<clinit>(L2DatabaseFacto
ry.java:109)
        at net.sf.l2j.L2DatabaseFactory.getInstance(L2DatabaseFactory.java:104)
        at net.sf.l2j.loginserver.GameServerTable.load(GameServerTable.java:98)
        at net.sf.l2j.loginserver.GameServerTable.<init>(GameServerTable.java:57
)
        at net.sf.l2j.loginserver.GameServerTable$SingletonHolder.<clinit>(GameS
erverTable.java:585)
        at net.sf.l2j.loginserver.GameServerTable.getInstance(GameServerTable.ja
va:577)
        at net.sf.l2j.tools.gsregistering.ServerRegister.lambda$main$0(ServerReg
ister.java:83)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doInt
ersectionPrivilege(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unkn
own Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown
 Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unkn
own Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown da
tabase 'c4login'
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
nstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:389)
        at com.mysql.jdbc.Util.getInstance(Util.java:372)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:980)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(My
sqlIO.java:1659)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2239)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2
270)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2069)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
nstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:389)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:325)
        at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSourc
e.java:117)
        at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSourc
e.java:123)
        at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:365)
        at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:194)
        at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:460
)
        at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:534)
        ... 24 more
Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
        at net.sf.l2j.loginserver.GameServerTable.getInstance(GameServerTable.ja
va:577)
        at net.sf.l2j.tools.gsregistering.ServerRegister.lambda$main$0(ServerReg
ister.java:83)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doInt
ersectionPrivilege(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unkn
own Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown
 Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unkn
own Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
        at net.sf.l2j.L2DatabaseFactory.getConnection(L2DatabaseFactory.java:92)

        at net.sf.l2j.loginserver.GameServerTable.load(GameServerTable.java:98)
        at net.sf.l2j.loginserver.GameServerTable.<init>(GameServerTable.java:57
)
        at net.sf.l2j.loginserver.GameServerTable$SingletonHolder.<clinit>(GameS
erverTable.java:585)
        ... 16 more
Presione una tecla para continuar . . .

15
Issues / [Solved] Droplist y Rates Drop Bug Rev 1035
« en: Mayo 29, 2018, 07:53:31 pm »
Buenas, les escribo debido a que hace un par de dias decidi instalar el server L2J fissban Rev 1035 utilizando la guia proporcionada por Reynaldo, todo fue perfectamente hasta que ya me decido probarlo un rato, durante el juego note que los drops se comportaban de una manera extraña asi que revise cada MOD y configuracion del server para verificar que nada estuviece afectando los rates, pues no, todo estaba configurado para un server X1, pero volviendo a probar sigue igual... items con rates de 1% como por ejemplo los appentice's Rod que dropean los Giant Toad caian cada 2 o 3 mob  :o, hasta que decidi revisar el Droplist dentro del juego y note algo extraño... Todos los items estaban duplicados en cada uno de los mob, pero al momento en que le di editar a uno "Dejando los mismos valores al final" resulta que los dobles desaparecen magicamente  ???, y los drop rates comienzan a trabajar correctamente "Para ese mob en especifico", pero al momento en que realizo un restart o shutdown y vuelvo a revisar la droplist todos los items duplicados reaparecen y el problema persiste.

Páginas: [1]