Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Sieges Semanales

Iniciado por Swarlog, Ago 12, 2022, 01:19 AM

Tema anterior - Siguiente tema

Swarlog

Codigo muy sencillo que mucha gente lo busca para sus server High rate o mid rate.

Este codigo lo que hace es desvincular los sieges de la seven signs del servidor y poder ponerle un tiempo de inicio en milisegundos. Para que surga efecto deben esperar al domingo, cuando el siege se inicie automaticamente entonces los milisegundos se ponen en marcha e iniciara para la siguiente semana. A lo que quiero decir con esto es que teneis que poner este codigo y esperar a que empiese un siege para que los milisegundos se pongan en marcha, un saludo.
Este codigo Funciona muy bien para H5, si alguien lo tiene para el territory war que lo suba seria de gran ayuda.

Index: com/l2jserver/gameserver/model/entity/Siege.java
===================================================================
--- java/net/sf/l2j/gameserver/model/entity/Siege.java  (revision 2968)
+++ java/net/sf/l2j/gameserver/model/entity/Siege.java  (working copy)
@@ -27,7 +27,6 @@
 import javolution.util.FastList;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.Announcements;
-import com.l2jserver.gameserver.SevenSigns;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.datatables.ClanTable;
 import com.l2jserver.gameserver.datatables.MapRegionTable;
@@ -1024,14 +1023,6 @@
            setNextSiegeDate();
        }
      
-       if (!SevenSigns.getInstance().isDateInSealValidPeriod(getCastle().getSiegeDate()))
-       {
-           // no sieges in Quest period! reschedule it to the next SealValidationPeriod
-           // This is usually caused by server being down
-           corrected = true;
-           setNextSiegeDate();
-       }
-     
        if (corrected)
            saveSiegeDate();
    }
@@ -1268,12 +1259,9 @@
            if (getCastle().getSiegeDate().get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && getCastle().getSiegeDate().get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY)
                getCastle().getSiegeDate().set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
            // set the next siege day to the next weekend
-           getCastle().getSiegeDate().add(Calendar.DAY_OF_MONTH, 7);
+           getCastle().getSiegeDate().setTimeInMillis(getCastle().getSiegeDate().getTimeInMillis() + 604800000); // 7 Dias en milisegundos
        }
      
-       if (!SevenSigns.getInstance().isDateInSealValidPeriod(getCastle().getSiegeDate()))
-           getCastle().getSiegeDate().add(Calendar.DAY_OF_MONTH, 7);
-     
        _isRegistrationOver = false; // Allow registration for next siege
    }