Noticias:

Menú Principal

Mensajes recientes

#51
L2 | Eventos / Evento Futbol (Lobillo)
Último mensaje por Swarlog - Jun 28, 2025, 11:39 PM

Pues aquí les dejo un evento que hizo mi compañero Lobillo hace ya algo de tiempo, pero para que no se pierda y puedan disfrutar de el, aquí os lo dejo. Un saludo y disfrútenlo!
#52
L2 | Eventos / Evento Navidad: Rudolph's Bles...
Último mensaje por Swarlog - Jun 28, 2025, 11:38 PM
No puedes ver este adjunto.
#53
L2 | Eventos / Evento Navidad: Saving Santa 2...
Último mensaje por Swarlog - Jun 28, 2025, 11:38 PM
No puedes ver este adjunto.

L2J-Server Beta - Core: 5717 || DP: 9317
#54
L2 | Eventos / Pack de 15 Eventos (Gracia)
Último mensaje por Swarlog - Jun 28, 2025, 11:37 PM
transport
tournament
TheFlowOfTheHorror
TheFallHarvest
NPCBuffer
Lottery
lastHero
l2day
glitmedal
CofferofShadows
clanhall
Christmas
bountyhunters
Bonus
AutoAnnouncer
arena
#55
L2 | Eventos / Evento Fifth Anniversary (l2da...
Último mensaje por Swarlog - Jun 28, 2025, 11:36 PM
/*
 * 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 events.FifthAnniversary;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;

import com.l2jserver.gameserver.Announcements;
import com.l2jserver.gameserver.datatables.EventDroplist;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.script.DateRange;
import com.l2jserver.util.Rnd;

public class FifthAnniversary extends Quest
{
private static final String EVENT_DATE = "28 03 2011-05 05 2011"; // Change date as you want
private static final DateRange EVENT_DATES = DateRange.parse(EVENT_DATE, new SimpleDateFormat("dd MM yyyy", Locale.US));
private static final String[] EVENT_ANNOUNCE = {"5th Anniversary Event is currently active."};
private static final Date EndDate = EVENT_DATES.getEndDate();
private static final Date currentDate = new Date();

//Items
private final static int letterL = 3882;
private final static int letterI = 3881;
private final static int letterN = 3883;
private final static int letterE = 3877;
private final static int letterA = 3875;
private final static int letterG = 3879;
private final static int letterII = 3888;
private final static int letter5 = 13418;
private final static int letterY = 13417;
private final static int letterR = 3885;
private final static int letterS = 3886;
private final static int letterC = 3876;
private final static int[] dropList = { letterL, letterI, letterN, letterE, letterA, letterG, letterII, letter5, letterY, letterR, letterS, letterC };
private int[] dropCount = {1,1};
private final static int dropChance = 25000; // actually 2.5%
                                                 // Goddard,Aden,Giran, Oren,Dion,Heine,Gludio,Schuttgart,Gludin,Hunters,Rune,SoDA,Dark Elf,TI,Dwarf,Orc,Kamael
private final static int[] EventSpawnX = { 147698,147443,82227,82754,15064,111067,-12965,87362,  -81037,117412,43983,-45907,12153,-84458,114750,-45656,-117195 };
private final static int[] EventSpawnY = { -56025,26942,148609,53573,143254,218933,122914,143166,150092,76642,-47758,49387,16753,244761,-178692,-113119,46837 };
private final static int[] EventSpawnZ = { -2775,-2205,-3472,-1496,-2668,-3543,-3117,-1293,      -3044,-2695,-797,-3060,-4584,-3730,-820,-240,367 };

private final static int EventNPC = 31854;

private static List<L2Npc> eventManagers = new ArrayList<L2Npc>();

private static boolean FifthAnniversaryEvent = false;

public FifthAnniversary(int questId, String name, String descr)
{
super(questId, name, descr);

        EventDroplist.getInstance().addGlobalDrop(dropList, dropCount, dropChance, EVENT_DATES);
       
        Announcements.getInstance().addEventAnnouncement(EVENT_DATES,EVENT_ANNOUNCE);

        addStartNpc(EventNPC);
addFirstTalkId(EventNPC);
addTalkId(EventNPC);
startQuestTimer("EventCheck",1800000,null,null);

if (EVENT_DATES.isWithinRange(currentDate))
FifthAnniversaryEvent = true;

if (FifthAnniversaryEvent)
{
_log.info("5th Anniversary Event - ON");

for (int i = 0; i < EventSpawnX.length; i++)
{
L2Npc eventManager = addSpawn(EventNPC,EventSpawnX[i],EventSpawnY[i],EventSpawnZ[i],0,false,0);
eventManagers.add(eventManager);
}
}
else
{
_log.info("5th Anniversary Event - OFF");

Calendar endWeek = Calendar.getInstance();
endWeek.setTime(EndDate);
endWeek.add(Calendar.DATE, 7);

if (EndDate.before(currentDate) && endWeek.getTime().after(currentDate))
{
for (int i = 0; i < EventSpawnX.length; i++)
{
L2Npc eventManager = addSpawn(EventNPC,EventSpawnX[i],EventSpawnY[i],EventSpawnZ[i],0,false,0);
eventManagers.add(eventManager);
}
}
}
}

public String onAdvEvent (String event, L2Npc npc, L2PcInstance player)
{
String htmltext = "";
QuestState st;
int prize;

if (npc == null)
{
if (event.equalsIgnoreCase("EventCheck"))
{
startQuestTimer("EventCheck",1800000,null,null);
boolean Event1 = false;

if (EVENT_DATES.isWithinRange(currentDate))
Event1 = true;

if (!FifthAnniversaryEvent && Event1)
{
FifthAnniversaryEvent = true;
_log.info("5th Anniversary Event - ON");
Announcements.getInstance().announceToAll("5th Anniversary Event is currently active. See the Event NPCs to participate!");

for (int i = 0; i < EventSpawnX.length; i++)
{
L2Npc eventManager = addSpawn(EventNPC,EventSpawnX[i],EventSpawnY[i],EventSpawnZ[i],0,false,0);
eventManagers.add(eventManager);
}
}
else if (FifthAnniversaryEvent && !Event1)
{
FifthAnniversaryEvent = false;
_log.info("5th Anniversary Event - OFF");
for (L2Npc eventManager : eventManagers)
{
eventManager.deleteMe();
}
}
}
}
else if (player != null && event.equalsIgnoreCase("LINEAGEII"))
{
    st = player.getQuestState(getName());

if ( st.getQuestItemsCount(letterL) >= 1
&& st.getQuestItemsCount(letterI) >= 1
&& st.getQuestItemsCount(letterN) >= 1
&& st.getQuestItemsCount(letterE) >= 2
&& st.getQuestItemsCount(letterA) >= 1
&& st.getQuestItemsCount(letterG) >= 1
&& st.getQuestItemsCount(letterII) >= 1)
{
st.takeItems(letterL,1);
            st.takeItems(letterI,1);
            st.takeItems(letterN,1);
            st.takeItems(letterE,2);
            st.takeItems(letterA,1);
            st.takeItems(letterG,1);
            st.takeItems(letterII,1);
           
            prize = Rnd.get(1000);
           
            if (prize <= 5)
                st.giveItems(6662,1); // 1 - Ring of Core
            else if (prize <= 10)
                st.giveItems(8752,1); // 1 - High grade Life Stone 76
            else if (prize <= 25)
                st.giveItems(8742,1); // 1 - Mid grade Life Stone 76
            else if (prize <= 50)
                st.giveItems(9157,1); // 1 - L2day Blessed SoR
            else if (prize <= 75)
                st.giveItems(9156,1); // 1 - L2day Blessed SoE
            else if (prize <= 100)
                st.giveItems(13429,1); // 1 - Teddy Bear Hat
            else if (prize <= 200)
                st.giveItems(13430,1); // 1 - Piggy Hat
            else if (prize <= 300)
                st.giveItems(13431,1); // 1 - Jester Hat
            else if (prize <= 400)
                st.giveItems(13425,1); // 1 - Small Parchement Box (1x Village Soe)
            else if (prize <= 500)
                st.giveItems(13426,1); // 1 - Small Mineral Box (1x Elemental Stone)
            else
                st.giveItems(13428,1); // 1 - Small Libation Box (1x L2Day Juice)
    }
else
htmltext = "31854-03.htm";
}
else if (player != null && event.equalsIgnoreCase("5YEARS"))
{
    st = player.getQuestState(getName());

if (st.getQuestItemsCount(letter5) >= 1
        && st.getQuestItemsCount(letterY) >= 1
        && st.getQuestItemsCount(letterE) >= 1
        && st.getQuestItemsCount(letterA) >= 1
        && st.getQuestItemsCount(letterR) >= 1
        && st.getQuestItemsCount(letterS) >= 1)
        {
            st.takeItems(letter5,1);
            st.takeItems(letterY,1);
            st.takeItems(letterE,1);
            st.takeItems(letterA,1);
            st.takeItems(letterR,1);
            st.takeItems(letterS,1);
           
            prize = Rnd.get(1000);
           
            if (prize <= 5)
                st.giveItems(6660,1); // 1 - Ring of Queen Ant
            else if (prize <= 10)
                st.giveItems(8762,1); // 1 - Top grade Life Stone 76
            else if (prize <= 25)
                st.giveItems(8752,2); // 2 - High grade Life Stones 76
            else if (prize <= 50)
                st.giveItems(9157,2); // 2 - L2day Blessed SoRs
            else if (prize <= 75)
                st.giveItems(9156,2); // 2 - L2day Blessed SoEs
            else if (prize <= 100)
                st.giveItems(13429,1); // 1 - Teddy Bear Hat
            else if (prize <= 150)
                st.giveItems(13430,1); // 1 - Piggy Hat
            else if (prize <= 200)
                st.giveItems(13431,1); // 1 - Jester Hat
            else if (prize <= 300)
                st.giveItems(13422,2); // 1 - Medium Parchement Box (2x Village Soes)
            else if (prize <= 400)
                st.giveItems(13423,2); // 1 - Medium Mineral Box (2x Elemental Stones)
            else
                st.giveItems(13424,3); // 1 - Large Libation Box (3x L2Day Juices)
        }
        else
        htmltext =  "31854-03.htm";
}
else if (player != null && event.equalsIgnoreCase("GRACIA"))
{
    st = player.getQuestState(getName());

    if (st.getQuestItemsCount(letterG) >= 1
        && st.getQuestItemsCount(letterR) >= 1
        && st.getQuestItemsCount(letterA) >= 2
        && st.getQuestItemsCount(letterC) >= 1
        && st.getQuestItemsCount(letterI) >= 1)
        {
            st.takeItems(letterG,1);
            st.takeItems(letterR,1);
            st.takeItems(letterA,2);
            st.takeItems(letterC,1);
            st.takeItems(letterI,1);
           
            prize = Rnd.get(1000);
           
            if (prize <= 5)
                st.giveItems(6661,1); // 1 - Earring of Orfen
            else if (prize <= 10)
                st.giveItems(8752,1); // 1 - High grade Life Stone 76
            else if (prize <= 25)
                st.giveItems(8742,2); // 2 - Mid grade Life Stones 76
            else if (prize <= 50)
                st.giveItems(9157,1); // 1 - L2day Blessed SoR
            else if (prize <= 75)
                st.giveItems(9156,1); // 1 - L2day Blessed SoE
            else if (prize <= 100)
                st.giveItems(13429,1); // 1 - Teddy Bear Hat
            else if (prize <= 150)
                st.giveItems(13430,1); // 1 - Piggy Hat
            else if (prize <= 200)
                st.giveItems(13431,1); // 1 - Jester Hat
            else if (prize <= 300)
                st.giveItems(13425,1); // 1 - Small Parchement Box (1x Village Soe)
            else if (prize <= 400)
                st.giveItems(13426,1); // 1 - Small Mineral Box (1x Elemental Stone)
            else
                st.giveItems(13424,2); // 1 - Medium Libation Box (2x L2Day Juices)
        }
        else
        htmltext =  "31854-03.htm";
}
else if (event.equalsIgnoreCase("chat0"))
htmltext =  "31854.htm";
else if (event.equalsIgnoreCase("chat1"))
htmltext =  "31854-02.htm";

return htmltext;
}

@Override
public String onFirstTalk(L2Npc npc,L2PcInstance player)
{
QuestState st = player.getQuestState(getName());
if (st == null)
st = newQuestState(player);

return "31854.htm";
}

public static void main(String[] args)
{
new FifthAnniversary(-1, "FifthAnniversary", "events");
}
}
#56
L2 | Eventos / Evento Fences
Último mensaje por Swarlog - Jun 28, 2025, 11:36 PM
No puedes ver este adjunto.
#57
L2 | Eventos / Phoenix Engine
Último mensaje por Swarlog - Jun 28, 2025, 11:36 PM
Aquí os dejo el motor de eventos "Phoenix Engine", adaptado para frozen, freya y h5. Incluye el core del evento, un saludo!

---> http://www.mediafire.com/download/wi82pj242t2dz1q/phoenix.rar
#58
L2 | Eventos / Evento Hitman
Último mensaje por Swarlog - Jun 28, 2025, 11:35 PM


#60
L2 | Eventos / Doble XP/SP (Sábados)
Último mensaje por Swarlog - Jun 28, 2025, 11:34 PM
Config.java
 
    public static float RATE_XP;
    public static float RATE_SP;
+    public static float SATURDAY_RATE_XP;
+    public static float SATURDAY_RATE_SP;
 
 
    RATE_XP = Float.parseFloat(server.getProperty("RateXp", "1."));
    RATE_SP = Float.parseFloat(server.getProperty("RateSp", "1."));
+    SATURDAY_RATE_XP = Float.parseFloat(server.getProperty("SaturDayXp", "2."));
+    SATURDAY_RATE_SP = Float.parseFloat(server.getProperty("SaturDaySp", "2."));
 
Config.properties
 
# =================================================================
#                              RATES
# =================================================================
 
    # Rate control
    RateXp = 1.
    RateSp = 1.
+    SaturDayXp = 2.
+    SaturDaySp = 2.
 
 
L2Npc.java
_    /**
_    * Return the Exp Reward of this L2Npc contained in the L2NpcTemplate (modified by _RATE_XP).<BR><BR>
_    */
_    public int getExpReward()
_    {   
_      return (int) (getTemplate().rewardExp * Config.RATE_XP);       
_    }
 
+    private int Savvato()
+    {
+      return Calendar.SATURDAY;
+    }
 
+    /**
+    * Return the Exp Reward of this L2Npc contained in the L2NpcTemplate (modified by +RATE_XP).<BR><BR>
+    */
+    public int getExpReward()
+    {
+        if(Savvato() != 0)
+            return (int) (getTemplate().rewardExp * Config.SATURDAY_RATE_XP);
+        else
+            return (int) (getTemplate().rewardExp * Config.RATE_XP);
+         
+    }
 
_    /**
_    * Return the SP Reward of this L2Npc contained in the L2NpcTemplate (modified by _RATE_SP).<BR><BR>
_    */
_    public int getSpReward()
_    {
_        return (int) (getTemplate().rewardSp * Config.RATE_SP);
_    }
 
+    /**
+    * Return the SP Reward of this L2Npc contained in the L2NpcTemplate (modified by +RATE_SP).<BR><BR>
+    */
+    public int getSpReward()
+    {
+        if(Savvato() != 0)
+            return (int) (getTemplate().rewardExp * Config.SATURDAY_RATE_SP);
+        else
+            return (int) (getTemplate().rewardSp * Config.RATE_SP);
+    }

Para la versión High Five:

Es valido para todas las cronicas, solo en H5 cambia el metodo de rewardExp por getRewardExp y ademas:

+    public int getExpReward()
+    {
+        if(Savvato() != 0)
+            return (int) (getTemplate().rewardExp * Config.SATURDAY_RATE_XP);
+        else
+            return (int) (getTemplate().rewardExp * Config.RATE_XP);
+       
+    }

+    public int getExpReward()
+    {
+        if(Savvato() != 0)
+            return (int) (getTemplate().rewardExp * Config.SATURDAY_RATE_XP);
+        return (int) (getTemplate().rewardExp * Config.RATE_XP);
+       
+    }