Jump to content

II337

Members
  • Posts

    50
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by II337

  1. I gave this server a try, but its a very big fail!

    Gms and admins are like kids  they dont know to fix  or balance things they just make it even worser.

    Today I saw the 9vs9 Event which was a big fail, Admin killed enemys team and gave them debuffs so that they loosed.

    Those kids dont even know to use % for the announce they used the trade char where everybody was spaming shit.

    The sad thing is that they using x3 online to improve people that the server is full which is not.

    This server is full of corruption.

  2. The thing is that the l2jax owner the same is like from l2divine

    and l2divine got hacked by armenian people which is opening l2undone soon

    thats why  its gonna to fail anyway.

    Dont waste your time.

  3. Where can I see the layout of different button styles for html?

    There are some like Interlude and some are green and stuff.

    Where can I find these values.

     

    For example this button with this value

    back="L2UI_CT1.Button_DF.Gauge_DF_Attribute_Wind" fore="L2UI_CT1.Button_DF.Gauge_DF_Attribute_Wind.Gauge_DF_Attribute_Wind_bg"

    Looks like this

    da41960a16b29d138f6349df62694c76.png

  4. Does someone has a preconfigured or a basic buffer with java?
    I got some problems with YANBuffer, the new H5 stable is not adapted to it,
    can someone help me to fix it,cause those method names are still based on the newer H5 builds.
     
     
    ----------
    1. ERROR in \YANModPack\YANBuffer\Yanbuffer.java (at line 51)
            public final class YANBuffer
                               ^^^^^^^^^
    The public type YANBuffer must be defined in its own file
    ----------
    2. ERROR in \YANModPack\YANBuffer\Yanbuffer.java (at line 96)
            return YANBufferData.GET_INSTANCE().getBufferNpc(npc.getNpcId());
                                                                 ^^^^^^^^
    The method getNpcId() is undefined for the type L2Npc
    ----------
    3. ERROR in \YANModPack\YANBuffer\Yanbuffer.java (at line 125)
            activeChar.clearBypass();
                       ^^^^^^^^^^^
    The method clearBypass() is undefined for the type L2PcInstance
    ----------
    4. ERROR in \YANModPack\YANBuffer\Yanbuffer.java (at line 149)
            activeChar.addBypass2(html.substring(start, finish2).trim());
                       ^^^^^^^^^^
    The method addBypass2(String) is undefined for the type L2PcInstance
    ----------
    5. ERROR in \YANModPack\YANBuffer\Yanbuffer.java (at line 153)
            activeChar.addBypass(html.substring(start, finish).trim());
                       ^^^^^^^^^
    The method addBypass(String) is undefined for the type L2PcInstance
    ----------
    6. ERROR in \YANModPack\YANBuffer\Yanbuffer.java (at line 197)
            Long amount = items.get(item.getValue().item.getItemId());
                                                         ^^^^^^^^^
    The method getItemId() is undefined for the type L2Item
    ----------
    7. ERROR in \YANModPack\YANBuffer\Yanbuffer.java (at line 202)
            items.put(item.getValue().item.getItemId(), amount + item.getValue().amo
    unt);
                                           ^^^^^^^^^
    The method getItemId() is undefined for the type L2Item
    ----------
    8. ERROR in \YANModPack\YANBuffer\Yanbuffer.java (at line 208)
            buff.skill.getEffects(playable, playable);
            ^^^^^^^^^^
    L2Skill cannot be resolved to a type
    ----------
    ----------
    9. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANBu
    ffer\YANBufferData.java (at line 43)
            import com.l2jserver.gameserver.datatables.NpcTable;
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    The import com.l2jserver.gameserver.datatables.NpcTable cannot be resolved
    ----------
    10. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 44)
            import com.l2jserver.gameserver.datatables.SkillTable;
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    The import com.l2jserver.gameserver.datatables.SkillTable cannot be resolved
    ----------
    11. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 47)
            import com.l2jserver.gameserver.model.skills.L2Skill;
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    The import com.l2jserver.gameserver.model.skills.L2Skill cannot be resolved
    ----------
    12. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 57)
            protected final L2Skill skill;
                            ^^^^^^^
    L2Skill cannot be resolved to a type
    ----------
    13. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 62)
            protected Buff(String ident, L2Skill skill, Element elem)
                                         ^^^^^^^
    L2Skill cannot be resolved to a type
    ----------
    14. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 65)
            this.skill = skill;
            ^^^^^^^^^^
    L2Skill cannot be resolved to a type
    ----------
    15. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 388)
            L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLevel);
            ^^^^^^^
    L2Skill cannot be resolved to a type
    ----------
    16. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 388)
            L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLevel);
                            ^^^^^^^^^^
    SkillTable cannot be resolved
    ----------
    17. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 432)
            L2NpcTemplate npc = NpcTable.getInstance().getTemplate(npcId);
                                ^^^^^^^^
    NpcTable cannot be resolved
    ----------
    18. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\YANBufferData.java (at line 439)
            _bufferNpcs.put(npc.getNpcId(), new BufferNpc(npc, curElem));
                                ^^^^^^^^
    The method getNpcId() is undefined for the type L2NpcTemplate
    ----------
    ----------
    19. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\util
    \ItemRequirement.java (at line 38)
            this.placeholder.addChild("id", String.valueOf(item.getItemId())).addChi
    ld("icon", item.getIcon()).addChild("name", item.getName()).addChild("amount", S
    tring.valueOf(amount));
                                                                ^^^^^^^^^
    The method getItemId() is undefined for the type L2Item
    ----------
    ----------
    20. ERROR in C:\Users\Administrator\Desktop\L2\game\data\scripts\YANModPack\YANB
    uffer\NpcAI.java (at line 49)
            String specificNpcHtml = npc.getNpcId() + ".html";
                                         ^^^^^^^^
    The method getNpcId() is undefined for the type L2Npc
    ----------
    20 problems (20 errors)
    The public type YANBuffer must be defined in its own file
    L2Skill cannot be resolved to a type
    The import com.l2jserver.gameserver.datatables.NpcTable cannot be resolved
    The import com.l2jserver.gameserver.datatables.SkillTable cannot be resolved
    The import com.l2jserver.gameserver.model.skills.L2Skill cannot be resolved
    The method getNpcId() is undefined for the type com.l2jserver.gameserver.model.a
    ctor.L2Npc
    The method clearBypass() is undefined for the type com.l2jserver.gameserver.mode
    l.actor.instance.L2PcInstance
    The method addBypass2(java.lang.String) is undefined for the type com.l2jserver.
    gameserver.model.actor.instance.L2PcInstance
    The method addBypass(java.lang.String) is undefined for the type com.l2jserver.g
    ameserver.model.actor.instance.L2PcInstance
    The method getItemId() is undefined for the type com.l2jserver.gameserver.model.
    items.L2Item
    The method getItemId() is undefined for the type com.l2jserver.gameserver.model.
    items.L2Item
    L2Skill cannot be resolved to a type
    L2Skill cannot be resolved to a type
    L2Skill cannot be resolved to a type
    L2Skill cannot be resolved to a type
    SkillTable cannot be resolved
    NpcTable cannot be resolved
    The method getNpcId() is undefined for the type com.l2jserver.gameserver.model.a
    ctor.templates.L2NpcTemplate
    The method getItemId() is undefined for the type com.l2jserver.gameserver.model.
    items.L2Item
    The method getNpcId() is undefined for the type com.l2jserver.gameserver.model.a
    ctor.L2Npc

     

  5. Alright thanks atleast, I think the leader will know more about it.

     

    Error on: C:\Users\Administrator\Desktop\L2\game\data\scripts\custom\555_NPCBUFFER\__init__.py.error.log
    Line: -1 - Column: -1
    
    
    Traceback (innermost last):
      File "custom/555_NPCBUFFER/__init__.py", line 7, in ?
    ImportError: no module named jython

    jython is not supported anymore or what?

  6. [25/11 15:30:52] Failed executing script: C:\Users\Administrator\Desktop\L2\game
    \data\scripts\custom\555_NPCBUFFER\__init__.py. See __init__.py.error.log for de
    tails.
    ----------
    1. ERROR in \custom\Services\Services.java (at line 294)
            statement.setInt(2, player.getClan().getClanId());
                                                 ^^^^^^^^^
    The method getClanId() is undefined for the type L2Clan
    ----------
    2. ERROR in \custom\Services\Services.java (at line 367)
            player.store();
                   ^^^^^
    The method store(boolean) in the type L2PcInstance is not applicable for the arg
    uments ()
    ----------
    3. ERROR in \custom\Services\Services.java (at line 490)
            statement.setInt(2, player.getClan().getClanId());
                                                 ^^^^^^^^^
    The method getClanId() is undefined for the type L2Clan
    ----------
    3 problems (3 errors)
    The method getClanId() is undefined for the type com.l2jserver.gameserver.model.
    L2Clan
    The method store(boolean) in the type com.l2jserver.gameserver.model.actor.insta
    nce.L2PcInstance is not applicable for the arguments ()
    The method getClanId() is undefined for the type com.l2jserver.gameserver.model.
    L2Clan

    Thats my current error how can I fix them?

  7. My custom NPCs are not spawning.

    I setup custom NPCs and stuff but they seem not to work.

     

    1. # Option to save GM spawn only in the custom table.
    2. # Default: False
    3. SaveGmSpawnOnCustom = True
    4.  
    5. # Default: False
    6. CustomNpcData = True
    7.  
    8. # Default: False
    9. CustomTeleportTable = True
    10.  
    11. # Default: False
    12. CustomNpcBufferTables = False
    13.  
    14. # Default: False
    15. CustomSkillsLoad = True
    16.  
    17. # Default: False
    18. CustomItemsLoad = False
    19.  
    20. # Default: False
    21. CustomMultisellLoad = False
    22.  
    23. # Default: False
    24. CustomBuyListLoad = True

     

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="../../../xsd/npcs.xsd">
    3.     <npc id="50007" displayId="31324" name="Andromeda" usingServerSideName="true" title="Wedding Manager" usingServerSideTitle="true" type="L2Npc">
    4.         <collision>
    5.             <radius normal="8" />
    6.             <height normal="23" />
    7.         </collision>
    8.     </npc>
    9.     <npc id="70010" displayId="31606" name="Catrina" usingServerSideName="true" title="TvT Event Manager" usingServerSideTitle="true" type="L2Npc">
    10.         <collision>
    11.             <radius normal="8" />
    12.             <height normal="15" />
    13.         </collision>
    14.     </npc>
    15.     <npc id="900100" displayId="20432" level="1" name="Elpy" type="L2EventMonster">
    16.         <stats str="40" int="21" dex="30" wit="20" con="43" men="20">
    17.             <vitals hp="40" hpRegen="3" mp="36" mpRegen="1" />
    18.             <attack physical="8" magical="7" />
    19.             <defence physical="25" magical="40" />
    20.         </stats>
    21.         <status undying="false" />
    22.         <collision>
    23.             <radius normal="5" />
    24.             <height normal="4.5" />
    25.         </collision>
    26.     </npc>
    27.     <npc id="900101" displayId="32365" name="Snowden" usingServerSideName="true" title="Event Manager">
    28.         <collision>
    29.             <radius normal="5" />
    30.             <height normal="12.5" />
    31.         </collision>
    32.     </npc>
    33.     <npc id="900102" displayId="13098" level="80" name="Event Treasure Chest" type="L2Monster">
    34.         <stats str="40" int="21" dex="30" wit="20" con="43" men="20">
    35.             <vitals hp="2880" mp="1524" />
    36.             <defence physical="1499" magical="1035.28" />
    37.         </stats>
    38.         <collision>
    39.             <radius normal="8.5" />
    40.             <height normal="8.5" />
    41.         </collision>
    42.     </npc>
    43.     <npc id="900103" displayId="32365" name="Start" usingServerSideName="true" title="Event Manager">
    44.         <collision>
    45.             <radius normal="5" />
    46.             <height normal="12.5" />
    47.         </collision>
    48.     </npc>
    49.         <npc id="100" displayId="31646" name="Server Information" usingServerSideName="true" title="L2Aria" usingServerSideTitle="true" type="L2Merchant">
    50.         <collision>
    51.             <radius normal="8" />
    52.             <height normal="23" />
    53.         </collision>
    54.     </npc>
    55.         </npc>
    56.         <npc id="555" displayId="32226" name="Shiela" usingServerSideName="true" title="Scheme Buffer" usingServerSideTitle="true" type="L2Npc">
    57.         <collision>
    58.             <radius normal="11" />
    59.             <height normal="22.25" />
    60.         </collision>
    61.     </npc>
    62.     </npc>
    63.         <npc id="36604" displayId="32163" name="Euphemia" usingServerSideName="true" title="Global Gatekeeper" usingServerSideTitle="true" type="L2Teleporter">
    64.         <collision>
    65.             <radius normal="13" />
    66.             <height normal="23.5" />
    67.         </collision>
    68.     </npc>
    69.     </npc>
    70.         <npc id="10002" displayId="30767" name="Lilly" usingServerSideName="true" title="GMShop" usingServerSideTitle="true" type="L2Merchant">
    71.         <collision>
    72.             <radius normal="8" />
    73.             <height normal="22" />
    74.         </collision>
    75.     </npc>
    76.     <npc id="10003" displayId="31740" name="Caradine" usingServerSideName="true" title="Service Manager" usingServerSideTitle="true" type="L2Npc">
    77.         <collision>
    78.             <radius normal="7" />
    79.             <height normal="21.2" />
    80.         </collision>
    81.     </npc>
    82.     <npc id="36600" displayId="13079" name="Simorgh" usingServerSideName="true" title="Augmenter" usingServerSideTitle="true" type="L2Trainer">
    83.         <collision>
    84.             <radius normal="22" />
    85.             <height normal="26" />
    86.         </collision>
    87.     </npc>
    88.     <npc id="36605" displayId="32478" name="Raphael" usingServerSideName="true" title="Warehouse Manager" usingServerSideTitle="true" type="L2Warehouse">
    89.         <collision>
    90.             <radius normal="10" />
    91.             <height normal="24" />
    92.         </collision>
    93.     </npc>
    94.     <npc id="900104" displayId="32365" name="Finish" usingServerSideName="true" title="Event Manager">
    95.         <collision>
    96.             <radius normal="5" />
    97.             <height normal="12.5" />
    98.         </collision>
    99.     </npc>
    100.     <npc id="1000003" displayId="32226" name="Shiela" usingServerSideName="true" title="L2J NPC Buffer" usingServerSideTitle="true" type="L2NpcBuffer">
    101.         <collision>
    102.             <radius normal="11" />
    103.             <height normal="22.25" />
    104.         </collision>
    105.     </npc>
    106. </list>
  8. /*
     * Copyright (C) 2004-2013 L2J DataPack
     * 
     * This file is part of L2J DataPack.
     * 
     * L2J DataPack 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.
     * 
     * L2J DataPack 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 ai.individual;
    
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    import ai.npc.AbstractNpcAI;
    
    
    import com.l2jserver.Config;
    import com.l2jserver.gameserver.GeoData;
    import com.l2jserver.gameserver.ai.CtrlIntention;
    import com.l2jserver.gameserver.datatables.SkillTable;
    import com.l2jserver.gameserver.instancemanager.GrandBossManager;
    import com.l2jserver.gameserver.model.L2CharPosition;
    import com.l2jserver.gameserver.model.Location;
    import com.l2jserver.gameserver.model.StatsSet;
    import com.l2jserver.gameserver.model.actor.L2Character;
    import com.l2jserver.gameserver.model.actor.L2Npc;
    import com.l2jserver.gameserver.model.actor.L2Playable;
    import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
    import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
    import com.l2jserver.gameserver.model.effects.L2Effect;
    import com.l2jserver.gameserver.model.holders.SkillHolder;
    import com.l2jserver.gameserver.model.skills.L2Skill;
    import com.l2jserver.gameserver.model.zone.type.L2BossZone;
    import com.l2jserver.gameserver.network.serverpackets.PlaySound;
    import com.l2jserver.gameserver.network.serverpackets.SocialAction;
    import com.l2jserver.gameserver.network.serverpackets.SpecialCamera;
    import com.l2jserver.gameserver.util.Util;
    
    
    /**
     * Valakas' AI.
     * @author Tryskell
     */
    public class Valakas extends AbstractNpcAI
    {
    // NPC
    private static final int VALAKAS = 29028;
    // Skills
    private static final SkillHolder VALAKAS_LAVA_SKIN = new SkillHolder(4680, 1);
    private static final SkillHolder[] VALAKAS_REGULAR_SKILLS =
    {
    new SkillHolder(4681, 1), // Valakas Trample
    new SkillHolder(4682, 1), // Valakas Trample
    new SkillHolder(4683, 1), // Valakas Dragon Breath
    new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used.
    };
    private static final SkillHolder[] VALAKAS_LOWHP_SKILLS =
    {
    new SkillHolder(4681, 1), // Valakas Trample
    new SkillHolder(4682, 1), // Valakas Trample
    new SkillHolder(4683, 1), // Valakas Dragon Breath
    new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used.
    new SkillHolder(4690, 1), // Valakas Meteor Storm
    };
    private static final SkillHolder[] VALAKAS_AOE_SKILLS =
    {
    new SkillHolder(4683, 1), // Valakas Dragon Breath
    new SkillHolder(4684, 1), // Valakas Dragon Breath
    new SkillHolder(4685, 1), // Valakas Tail Stomp
    new SkillHolder(4686, 1), // Valakas Tail Stomp
    new SkillHolder(4688, 1), // Valakas Stun
    new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used.
    new SkillHolder(4690, 1), // Valakas Meteor Storm
    };
    // Locations
    private static final Location TELEPORT_CUBE_LOCATIONS[] =
    {
    new Location(214880, -116144, -1644),
    new Location(213696, -116592, -1644),
    new Location(212112, -116688, -1644),
    new Location(211184, -115472, -1664),
    new Location(210336, -114592, -1644),
    new Location(211360, -113904, -1644),
    new Location(213152, -112352, -1644),
    new Location(214032, -113232, -1644),
    new Location(214752, -114592, -1644),
    new Location(209824, -115568, -1421),
    new Location(210528, -112192, -1403),
    new Location(213120, -111136, -1408),
    new Location(215184, -111504, -1392),
    new Location(215456, -117328, -1392),
    new Location(213200, -118160, -1424)
    };
    // Valakas status.
    private static final byte DORMANT = 0; // Valakas is spawned and no one has entered yet. Entry is unlocked.
    private static final byte WAITING = 1; // Valakas is spawned and someone has entered, triggering a 30 minute window for additional people to enter. Entry is unlocked.
    private static final byte FIGHTING = 2; // Valakas is engaged in battle, annihilating his foes. Entry is locked.
    private static final byte DEAD = 3; // Valakas has been killed. Entry is locked.
    // Misc
    private long _timeTracker = 0; // Time tracker for last attack on Valakas.
    private L2Playable _actualVictim; // Actual target of Valakas.
    private static L2BossZone ZONE;
    
    
    private Valakas(String name, String descr)
    {
    super(name, descr);
    registerMobs(VALAKAS);
    
    
    ZONE = GrandBossManager.getInstance().getZone(212852, -114842, -1632);
    
    
    final StatsSet info = GrandBossManager.getInstance().getStatsSet(VALAKAS);
    final int status = GrandBossManager.getInstance().getBossStatus(VALAKAS);
    
    
    if (status == DEAD)
    {
    // load the unlock date and time for valakas from DB
    long temp = (info.getLong("respawn_time") - System.currentTimeMillis());
    if (temp > 0)
    {
    // The time has not yet expired. Mark Valakas as currently locked (dead).
    startQuestTimer("valakas_unlock", temp, null, null);
    }
    else
    {
    // The time has expired while the server was offline. Spawn valakas in his cave as DORMANT.
    final L2Npc valakas = addSpawn(VALAKAS, -105200, -253104, -15264, 0, false, 0);
    GrandBossManager.getInstance().setBossStatus(VALAKAS, DORMANT);
    GrandBossManager.getInstance().addBoss((L2GrandBossInstance) valakas);
    
    
    valakas.setIsInvul(true);
    valakas.setRunning();
    
    
    valakas.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
    }
    }
    else
    {
    final int loc_x = info.getInteger("loc_x");
    final int loc_y = info.getInteger("loc_y");
    final int loc_z = info.getInteger("loc_z");
    final int heading = info.getInteger("heading");
    final int hp = info.getInteger("currentHP");
    final int mp = info.getInteger("currentMP");
    
    
    final L2Npc valakas = addSpawn(VALAKAS, loc_x, loc_y, loc_z, heading, false, 0);
    GrandBossManager.getInstance().addBoss((L2GrandBossInstance) valakas);
    
    
    valakas.setCurrentHpMp(hp, mp);
    valakas.setRunning();
    
    
    // Start timers.
    if (status == FIGHTING)
    {
    // stores current time for inactivity task.
    _timeTracker = System.currentTimeMillis();
    
    
    startQuestTimer("regen_task", 60000, valakas, null, true);
    startQuestTimer("skill_task", 2000, valakas, null, true);
    }
    else
    {
    valakas.setIsInvul(true);
    valakas.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
    
    
    // Start timer to lock entry after 30 minutes
    if (status == WAITING)
    {
    startQuestTimer("beginning", (Config.VALAKAS_WAIT_TIME * 60000), valakas, null);
    }
    }
    }
    }
    
    
    @Override
    public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
    {
    if (npc != null)
    {
    if (event.equalsIgnoreCase("beginning"))
    {
    // Stores current time
    _timeTracker = System.currentTimeMillis();
    
    
    // Teleport Valakas to his lair.
    npc.teleToLocation(212852, -114842, -1632);
    
    
    // Sound + socialAction.
    for (L2PcInstance plyr : ZONE.getPlayersInside())
    {
    plyr.sendPacket(new PlaySound(1, "B03_A", 0, 0, 0, 0, 0));
    plyr.sendPacket(new SocialAction(npc.getObjectId(), 3));
    }
    
    
    // Launch the cinematic, and tasks (regen + skill).
    startQuestTimer("spawn_1", 1700, npc, null); // 1700
    startQuestTimer("spawn_2", 3200, npc, null); // 1500
    startQuestTimer("spawn_3", 6500, npc, null); // 3300
    startQuestTimer("spawn_4", 9400, npc, null); // 2900
    startQuestTimer("spawn_5", 12100, npc, null); // 2700
    startQuestTimer("spawn_6", 12430, npc, null); // 330
    startQuestTimer("spawn_7", 15430, npc, null); // 3000
    startQuestTimer("spawn_8", 16830, npc, null); // 1400
    startQuestTimer("spawn_9", 23530, npc, null); // 6700 - end of cinematic
    startQuestTimer("spawn_10", 26000, npc, null); // 2500 - AI + unlock
    }
    // Regeneration && inactivity task
    else if (event.equalsIgnoreCase("regen_task"))
    {
    // Inactivity task - 15min
    if (GrandBossManager.getInstance().getBossStatus(VALAKAS) == FIGHTING)
    {
    if ((_timeTracker + 900000) < System.currentTimeMillis())
    {
    npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
    npc.teleToLocation(-105200, -253104, -15264);
    
    
    GrandBossManager.getInstance().setBossStatus(VALAKAS, DORMANT);
    npc.setCurrentHpMp(npc.getMaxHp(), npc.getMaxMp());
    
    
    // Drop all players from the zone.
    ZONE.oustAllPlayers();
    
    
    // Cancel skill_task and regen_task.
    cancelQuestTimer("regen_task", npc, null);
    cancelQuestTimer("skill_task", npc, null);
    return null;
    }
    }
    
    
    int lvl = 0;
    
    
    // Verify if "Valakas Regeneration" skill is active.
    final L2Effect[] effects = npc.getAllEffects();
    if ((effects != null) && (effects.length != 0))
    {
    for (L2Effect e : effects)
    {
    if (e.getSkill().getId() == 4629)
    {
    lvl = e.getSkill().getLevel();
    break;
    }
    }
    }
    
    
    // Current HPs are inferior to 25% ; apply lvl 4 of regen skill.
    if ((npc.getCurrentHp() < (npc.getMaxHp() / 4)) && (lvl != 4))
    {
    npc.setTarget(npc);
    npc.doCast(SkillTable.getInstance().getInfo(4691, 4));
    }
    // Current HPs are inferior to 50% ; apply lvl 3 of regen skill.
    else if ((npc.getCurrentHp() < ((npc.getMaxHp() * 2) / 4.0)) && (lvl != 3))
    {
    npc.setTarget(npc);
    npc.doCast(SkillTable.getInstance().getInfo(4691, 3));
    }
    // Current HPs are inferior to 75% ; apply lvl 2 of regen skill.
    else if ((npc.getCurrentHp() < ((npc.getMaxHp() * 3) / 4.0)) && (lvl != 2))
    {
    npc.setTarget(npc);
    npc.doCast(SkillTable.getInstance().getInfo(4691, 2));
    }
    // Apply lvl 1.
    else if (lvl != 1)
    {
    npc.setTarget(npc);
    npc.doCast(SkillTable.getInstance().getInfo(4691, 1));
    }
    }
    // Spawn cinematic, regen_task and choose of skill.
    else if (event.equalsIgnoreCase("spawn_1"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1800, 180, -1, 1500, 10000, 0, 0, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_2"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1300, 180, -5, 3000, 10000, 0, -5, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_3"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 500, 180, -8, 600, 10000, 0, 60, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_4"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 800, 180, -8, 2700, 10000, 0, 30, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_5"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 200, 250, 70, 0, 10000, 30, 80, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_6"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1100, 250, 70, 2500, 10000, 30, 80, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_7"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 700, 150, 30, 0, 10000, -10, 60, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_8"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1200, 150, 20, 2900, 10000, -10, 30, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_9"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 750, 170, -10, 3400, 4000, 10, -15, 1, 0));
    }
    else if (event.equalsIgnoreCase("spawn_10"))
    {
    GrandBossManager.getInstance().setBossStatus(VALAKAS, FIGHTING);
    npc.setIsInvul(false);
    
    
    startQuestTimer("regen_task", 60000, npc, null, true);
    startQuestTimer("skill_task", 2000, npc, null, true);
    }
    // Death cinematic, spawn of Teleport Cubes.
    else if (event.equalsIgnoreCase("die_1"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 2000, 130, -1, 0, 10000, 0, 0, 1, 1));
    }
    else if (event.equalsIgnoreCase("die_2"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1100, 210, -5, 3000, 10000, -13, 0, 1, 1));
    }
    else if (event.equalsIgnoreCase("die_3"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1300, 200, -8, 3000, 10000, 0, 15, 1, 1));
    }
    else if (event.equalsIgnoreCase("die_4"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1000, 190, 0, 500, 10000, 0, 10, 1, 1));
    }
    else if (event.equalsIgnoreCase("die_5"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1700, 120, 0, 2500, 10000, 12, 40, 1, 1));
    }
    else if (event.equalsIgnoreCase("die_6"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1700, 20, 0, 700, 10000, 10, 10, 1, 1));
    }
    else if (event.equalsIgnoreCase("die_7"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1700, 10, 0, 1000, 10000, 20, 70, 1, 1));
    }
    else if (event.equalsIgnoreCase("die_8"))
    {
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1700, 10, 0, 300, 250, 20, -20, 1, 1));
    
    
    for (Location loc : TELEPORT_CUBE_LOCATIONS)
    {
    addSpawn(31759, loc, false, 900000);
    }
    
    
    startQuestTimer("remove_players", 900000, null, null);
    }
    else if (event.equalsIgnoreCase("skill_task"))
    {
    callSkillAI(npc);
    }
    }
    else
    {
    if (event.equalsIgnoreCase("valakas_unlock"))
    {
    final L2Npc valakas = addSpawn(VALAKAS, -105200, -253104, -15264, 32768, false, 0);
    GrandBossManager.getInstance().addBoss((L2GrandBossInstance) valakas);
    GrandBossManager.getInstance().setBossStatus(VALAKAS, DORMANT);
    }
    else if (event.equalsIgnoreCase("remove_players"))
    {
    ZONE.oustAllPlayers();
    }
    }
    return super.onAdvEvent(event, npc, player);
    }
    
    
    @Override
    public String onSpawn(L2Npc npc)
    {
    npc.disableCoreAI(true);
    return super.onSpawn(npc);
    }
    
    
    @Override
    public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
    {
    if (!ZONE.isInsideZone(attacker))
    {
    attacker.doDie(attacker);
    return null;
    }
    
    
    if (npc.isInvul())
    {
    return null;
    }
    
    
    if (GrandBossManager.getInstance().getBossStatus(VALAKAS) != FIGHTING)
    {
    attacker.teleToLocation(150037, -57255, -2976);
    return null;
    }
    
    
    // Debuff strider-mounted players.
    if (attacker.getMountType() == 1)
    {
    final L2Skill skill = SkillTable.getInstance().getInfo(4258, 1);
    if (attacker.getFirstEffect(skill) == null)
    {
    npc.setTarget(attacker);
    npc.doCast(skill);
    }
    }
    _timeTracker = System.currentTimeMillis();
    
    
    return super.onAttack(npc, attacker, damage, isSummon);
    }
    
    
    @Override
    public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
    {
    // Cancel skill_task and regen_task.
    cancelQuestTimer("regen_task", npc, null);
    cancelQuestTimer("skill_task", npc, null);
    
    
    // Launch death animation.
    ZONE.broadcastPacket(new PlaySound(1, "B03_D", 0, 0, 0, 0, 0));
    ZONE.broadcastPacket(new SpecialCamera(npc.getObjectId(), 1200, 20, -10, 0, 13000, 0, 0, 1, 0));
    
    
    startQuestTimer("die_1", 300, npc, null); // 300
    startQuestTimer("die_2", 600, npc, null); // 300
    startQuestTimer("die_3", 3800, npc, null); // 3200
    startQuestTimer("die_4", 8200, npc, null); // 4400
    startQuestTimer("die_5", 8700, npc, null); // 500
    startQuestTimer("die_6", 13300, npc, null); // 4600
    startQuestTimer("die_7", 14000, npc, null); // 700
    startQuestTimer("die_8", 16500, npc, null); // 2500
    
    
    GrandBossManager.getInstance().setBossStatus(VALAKAS, DEAD);
    // Calculate Min and Max respawn times randomly.
    long respawnTime = Config.VALAKAS_SPAWN_INTERVAL + getRandom(-Config.VALAKAS_SPAWN_RANDOM, Config.VALAKAS_SPAWN_RANDOM);
    respawnTime *= 3600000;
    
    
    startQuestTimer("valakas_unlock", respawnTime, null, null);
    // also save the respawn time so that the info is maintained past reboots
    StatsSet info = GrandBossManager.getInstance().getStatsSet(VALAKAS);
    info.set("respawn_time", (System.currentTimeMillis() + respawnTime));
    GrandBossManager.getInstance().setStatsSet(VALAKAS, info);
    
    
    return super.onKill(npc, killer, isSummon);
    }
    
    
    @Override
    public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isSummon)
    {
    return null;
    }
    
    
    private void callSkillAI(L2Npc npc)
    {
    if (npc.isInvul() || npc.isCastingNow())
    {
    return;
    }
    
    
    // Pickup a target if no or dead victim. 10% luck he decides to reconsiders his target.
    if ((_actualVictim == null) || _actualVictim.isDead() || !(npc.getKnownList().knowsObject(_actualVictim)) || (getRandom(10) == 0))
    {
    _actualVictim = getRandomTarget(npc);
    }
    
    
    // If result is still null, Valakas will roam. Don't go deeper in skill AI.
    if (_actualVictim == null)
    {
    if (getRandom(10) == 0)
    {
    int x = npc.getX();
    int y = npc.getY();
    int z = npc.getZ();
    
    
    int posX = x + getRandom(-1400, 1400);
    int posY = y + getRandom(-1400, 1400);
    
    
    if (GeoData.getInstance().canMoveFromToTarget(x, y, z, posX, posY, z, npc.getInstanceId()))
    {
    npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(posX, posY, z, 0));
    }
    }
    return;
    }
    
    
    final L2Skill skill = getRandomSkill(npc).getSkill();
    
    
    // Cast the skill or follow the target.
    if (Util.checkIfInRange((skill.getCastRange() < 600) ? 600 : skill.getCastRange(), npc, _actualVictim, true))
    {
    npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
    npc.setIsCastingNow(true);
    npc.setTarget(_actualVictim);
    npc.doCast(skill);
    }
    else
    {
    npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, _actualVictim, null);
    npc.setIsCastingNow(false);
    }
    }
    
    
    /**
    * Pick a random skill.<br>
    * Valakas will mostly use utility skills. If Valakas feels surrounded, he will use AoE skills.<br>
    * Lower than 50% HPs, he will begin to use Meteor skill.
    * @param npc valakas
    * @return a skill holder
    */
    private SkillHolder getRandomSkill(L2Npc npc)
    {
    final int hpRatio = (int) ((npc.getCurrentHp() / npc.getMaxHp()) * 100);
    
    
    // Valakas Lava Skin has priority.
    if ((hpRatio < 75) && (getRandom(150) == 0) && (npc.getFirstEffect(VALAKAS_LAVA_SKIN.getSkillId()) == null))
    {
    return VALAKAS_LAVA_SKIN;
    }
    
    
    // Valakas will use mass spells if he feels surrounded.
    if (Util.getPlayersCountInRadius(1200, npc, false, false) >= 20)
    {
    return VALAKAS_AOE_SKILLS[getRandom(VALAKAS_AOE_SKILLS.length)];
    }
    
    
    if (hpRatio > 50)
    {
    return VALAKAS_REGULAR_SKILLS[getRandom(VALAKAS_REGULAR_SKILLS.length)];
    }
    
    
    return VALAKAS_LOWHP_SKILLS[getRandom(VALAKAS_LOWHP_SKILLS.length)];
    }
    
    
    /**
    * Pickup a random L2Playable from the zone, deads targets aren't included.
    * @param npc
    * @return a random L2Playable.
    */
    private L2Playable getRandomTarget(L2Npc npc)
    {
    List<L2Playable> result = new ArrayList<>();
    
    
    for (L2Character obj : npc.getKnownList().getKnownCharacters())
    {
    if ((obj == null) || obj.isPet())
    {
    continue;
    }
    else if (!obj.isDead() && obj.isPlayable())
    {
    result.add((L2Playable) obj);
    }
    }
    
    
    return (result.isEmpty()) ? null : result.get(getRandom(result.size()));
    }
    
    
    public static void main(String[] args)
    {
    new Valakas(Valakas.class.getSimpleName(), "ai");
    }
    }

    none of both :/

  9. For example here is the antharas script, I dont know which value to edit...

    /*
     * Copyright (C) 2004-2013 L2J DataPack
     * 
     * This file is part of L2J DataPack.
     * 
     * L2J DataPack 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.
     * 
     * L2J DataPack 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 ai.individual;
    
    
    import java.util.Collection;
    import java.util.List;
    import java.util.Map;
    import java.util.concurrent.ScheduledFuture;
    
    
    import javolution.util.FastList;
    import javolution.util.FastMap;
    import ai.npc.AbstractNpcAI;
    
    
    import com.l2jserver.Config;
    import com.l2jserver.gameserver.GeoData;
    import com.l2jserver.gameserver.ThreadPoolManager;
    import com.l2jserver.gameserver.ai.CtrlIntention;
    import com.l2jserver.gameserver.datatables.NpcTable;
    import com.l2jserver.gameserver.datatables.SkillTable;
    import com.l2jserver.gameserver.datatables.SpawnTable;
    import com.l2jserver.gameserver.instancemanager.GrandBossManager;
    import com.l2jserver.gameserver.model.L2CharPosition;
    import com.l2jserver.gameserver.model.L2Spawn;
    import com.l2jserver.gameserver.model.L2World;
    import com.l2jserver.gameserver.model.StatsSet;
    import com.l2jserver.gameserver.model.actor.L2Character;
    import com.l2jserver.gameserver.model.actor.L2Npc;
    import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
    import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
    import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
    import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
    import com.l2jserver.gameserver.model.skills.L2Skill;
    import com.l2jserver.gameserver.model.zone.type.L2BossZone;
    import com.l2jserver.gameserver.network.serverpackets.Earthquake;
    import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket;
    import com.l2jserver.gameserver.network.serverpackets.PlaySound;
    import com.l2jserver.gameserver.network.serverpackets.SpecialCamera;
    
    
    /**
     * Antharas' AI.
     * @author L2J_JP SANDMAN
     */
    public class Antharas extends AbstractNpcAI
    {
    // config
    private static final int FWA_ACTIVITYTIMEOFANTHARAS = 120;
    // private static final int FWA_APPTIMEOFANTHARAS = 1800000;
    private static final int FWA_INACTIVITYTIME = 900000;
    private static final boolean FWA_OLDANTHARAS = false;
    private static final boolean FWA_MOVEATRANDOM = true;
    private static final boolean FWA_DOSERVEREARTHQUAKE = true;
    private static final int FWA_LIMITOFWEAK = 45;
    private static final int FWA_LIMITOFNORMAL = 63;
    private static final int FWA_MAXMOBS = 10; // this includes Antharas itself
    private static final int FWA_INTERVALOFMOBSWEAK = 180000;
    private static final int FWA_INTERVALOFMOBSNORMAL = 150000;
    private static final int FWA_INTERVALOFMOBSSTRONG = 120000;
    private static final int FWA_PERCENTOFBEHEMOTH = 60;
    private static final int FWA_SELFDESTRUCTTIME = 15000;
    // Location of teleport cube.
    private final int _teleportCubeId = 31859;
    private final int _teleportCubeLocation[][] =
    {
    {
    177615,
    114941,
    -7709,
    0
    }
    };
    
    
    protected List<L2Spawn> _teleportCubeSpawn = new FastList<>();
    protected List<L2Npc> _teleportCube = new FastList<>();
    // Spawn data of monsters.
    protected Map<Integer, L2Spawn> _monsterSpawn = new FastMap<>();
    // Instance of monsters.
    protected List<L2Npc> _monsters = new FastList<>();
    protected L2GrandBossInstance _antharas = null;
    // Antharas Ids
    private static final int ANTHARAS_OLD_ID = 29019;
    private static final int ANTHARAS_WEAK_ID = 29066;
    private static final int ANTHARAS_NORMAL_ID = 29067;
    private static final int ANTHARAS_STRONG_ID = 29068;
    // Tasks.
    protected ScheduledFuture<?> _cubeSpawnTask = null;
    protected ScheduledFuture<?> _monsterSpawnTask = null;
    protected ScheduledFuture<?> _activityCheckTask = null;
    protected ScheduledFuture<?> _socialTask = null;
    protected ScheduledFuture<?> _mobiliseTask = null;
    protected ScheduledFuture<?> _mobsSpawnTask = null;
    protected ScheduledFuture<?> _selfDestructionTask = null;
    protected ScheduledFuture<?> _moveAtRandomTask = null;
    protected ScheduledFuture<?> _movieTask = null;
    // Antharas Status Tracking :
    private static final byte DORMANT = 0; // Antharas is spawned and no one has entered yet. Entry is unlocked
    private static final byte WAITING = 1; // Antharas is spawend and someone has entered, triggering a 30 minute window for additional people to enter
    // before he unleashes his attack. Entry is unlocked
    private static final byte FIGHTING = 2; // Antharas is engaged in battle, annihilating his foes. Entry is locked
    private static final byte DEAD = 3; // Antharas has been killed. Entry is locked
    
    
    protected static long _LastAction = 0;
    
    
    protected static L2BossZone _Zone;
    
    
    private Antharas(String name, String descr)
    {
    super(name, descr);
    registerMobs(ANTHARAS_OLD_ID, ANTHARAS_WEAK_ID, ANTHARAS_NORMAL_ID, ANTHARAS_STRONG_ID, 29069, 29070, 29071, 29072, 29073, 29074, 29075, 29076);
    init();
    }
    
    
    // Initialize
    private void init()
    {
    // Setting spawn data of monsters.
    try
    {
    _Zone = GrandBossManager.getInstance().getZone(179700, 113800, -7709);
    L2NpcTemplate template1;
    L2Spawn tempSpawn;
    
    
    // Old Antharas
    template1 = NpcTable.getInstance().getTemplate(ANTHARAS_OLD_ID);
    tempSpawn = new L2Spawn(template1);
    tempSpawn.setLocx(181323);
    tempSpawn.setLocy(114850);
    tempSpawn.setLocz(-7623);
    tempSpawn.setHeading(32542);
    tempSpawn.setAmount(1);
    tempSpawn.setRespawnDelay(FWA_ACTIVITYTIMEOFANTHARAS * 2);
    SpawnTable.getInstance().addNewSpawn(tempSpawn, false);
    _monsterSpawn.put(29019, tempSpawn);
    
    
    // Weak Antharas
    template1 = NpcTable.getInstance().getTemplate(ANTHARAS_WEAK_ID);
    tempSpawn = new L2Spawn(template1);
    tempSpawn.setLocx(181323);
    tempSpawn.setLocy(114850);
    tempSpawn.setLocz(-7623);
    tempSpawn.setHeading(32542);
    tempSpawn.setAmount(1);
    tempSpawn.setRespawnDelay(FWA_ACTIVITYTIMEOFANTHARAS * 2);
    SpawnTable.getInstance().addNewSpawn(tempSpawn, false);
    _monsterSpawn.put(29066, tempSpawn);
    
    
    // Normal Antharas
    template1 = NpcTable.getInstance().getTemplate(ANTHARAS_NORMAL_ID);
    tempSpawn = new L2Spawn(template1);
    tempSpawn.setLocx(181323);
    tempSpawn.setLocy(114850);
    tempSpawn.setLocz(-7623);
    tempSpawn.setHeading(32542);
    tempSpawn.setAmount(1);
    tempSpawn.setRespawnDelay(FWA_ACTIVITYTIMEOFANTHARAS * 2);
    SpawnTable.getInstance().addNewSpawn(tempSpawn, false);
    _monsterSpawn.put(29067, tempSpawn);
    
    
    // Strong Antharas
    template1 = NpcTable.getInstance().getTemplate(ANTHARAS_STRONG_ID);
    tempSpawn = new L2Spawn(template1);
    tempSpawn.setLocx(181323);
    tempSpawn.setLocy(114850);
    tempSpawn.setLocz(-7623);
    tempSpawn.setHeading(32542);
    tempSpawn.setAmount(1);
    tempSpawn.setRespawnDelay(FWA_ACTIVITYTIMEOFANTHARAS * 2);
    SpawnTable.getInstance().addNewSpawn(tempSpawn, false);
    _monsterSpawn.put(29068, tempSpawn);
    }
    catch (Exception e)
    {
    _log.warning(e.getMessage());
    }
    
    
    // Setting spawn data of teleport cube.
    try
    {
    L2NpcTemplate Cube = NpcTable.getInstance().getTemplate(_teleportCubeId);
    L2Spawn spawnDat;
    for (int[] element : _teleportCubeLocation)
    {
    spawnDat = new L2Spawn(Cube);
    spawnDat.setAmount(1);
    spawnDat.setLocx(element[0]);
    spawnDat.setLocy(element[1]);
    spawnDat.setLocz(element[2]);
    spawnDat.setHeading(element[3]);
    spawnDat.setRespawnDelay(60);
    spawnDat.setLocation(0);
    SpawnTable.getInstance().addNewSpawn(spawnDat, false);
    _teleportCubeSpawn.add(spawnDat);
    }
    }
    catch (Exception e)
    {
    _log.warning(e.getMessage());
    }
    int status = GrandBossManager.getInstance().getBossStatus(ANTHARAS_OLD_ID);
    if (FWA_OLDANTHARAS || (status == WAITING))
    {
    StatsSet info = GrandBossManager.getInstance().getStatsSet(ANTHARAS_OLD_ID);
    Long respawnTime = info.getLong("respawn_time");
    if ((status == DEAD) && (respawnTime <= System.currentTimeMillis()))
    {
    // the time has already expired while the server was offline. Immediately spawn antharas in his cave.
    // also, the status needs to be changed to DORMANT
    GrandBossManager.getInstance().setBossStatus(ANTHARAS_OLD_ID, DORMANT);
    status = DORMANT;
    }
    else if (status == FIGHTING)
    {
    int loc_x = info.getInteger("loc_x");
    int loc_y = info.getInteger("loc_y");
    int loc_z = info.getInteger("loc_z");
    int heading = info.getInteger("heading");
    int hp = info.getInteger("currentHP");
    int mp = info.getInteger("currentMP");
    _antharas = (L2GrandBossInstance) addSpawn(ANTHARAS_OLD_ID, loc_x, loc_y, loc_z, heading, false, 0);
    GrandBossManager.getInstance().addBoss(_antharas);
    _antharas.setCurrentHpMp(hp, mp);
    _LastAction = System.currentTimeMillis();
    // Start repeating timer to check for inactivity
    _activityCheckTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new CheckActivity(), 60000, 60000);
    }
    else if (status == DEAD)
    {
    ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas(ANTHARAS_OLD_ID), respawnTime - System.currentTimeMillis());
    }
    else
    {
    setAntharasSpawnTask();
    }
    }
    else
    {
    int statusWeak = GrandBossManager.getInstance().getBossStatus(ANTHARAS_WEAK_ID);
    int statusNormal = GrandBossManager.getInstance().getBossStatus(ANTHARAS_NORMAL_ID);
    int statusStrong = GrandBossManager.getInstance().getBossStatus(ANTHARAS_STRONG_ID);
    int antharasId = 0;
    if ((statusWeak == FIGHTING) || (statusWeak == DEAD))
    {
    antharasId = ANTHARAS_WEAK_ID;
    status = statusWeak;
    }
    else if ((statusNormal == FIGHTING) || (statusNormal == DEAD))
    {
    antharasId = ANTHARAS_NORMAL_ID;
    status = statusNormal;
    }
    else if ((statusStrong == FIGHTING) || (statusStrong == DEAD))
    {
    antharasId = ANTHARAS_STRONG_ID;
    status = statusStrong;
    }
    if ((antharasId != 0) && (status == FIGHTING))
    {
    StatsSet info = GrandBossManager.getInstance().getStatsSet(antharasId);
    int loc_x = info.getInteger("loc_x");
    int loc_y = info.getInteger("loc_y");
    int loc_z = info.getInteger("loc_z");
    int heading = info.getInteger("heading");
    int hp = info.getInteger("currentHP");
    int mp = info.getInteger("currentMP");
    _antharas = (L2GrandBossInstance) addSpawn(antharasId, loc_x, loc_y, loc_z, heading, false, 0);
    GrandBossManager.getInstance().addBoss(_antharas);
    _antharas.setCurrentHpMp(hp, mp);
    _LastAction = System.currentTimeMillis();
    // Start repeating timer to check for inactivity
    _activityCheckTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new CheckActivity(), 60000, 60000);
    }
    else if ((antharasId != 0) && (status == DEAD))
    {
    StatsSet info = GrandBossManager.getInstance().getStatsSet(antharasId);
    Long respawnTime = info.getLong("respawn_time");
    if (respawnTime <= System.currentTimeMillis())
    {
    // the time has already expired while the server was offline. Immediately spawn antharas in his cave.
    // also, the status needs to be changed to DORMANT
    GrandBossManager.getInstance().setBossStatus(antharasId, DORMANT);
    status = DORMANT;
    }
    else
    {
    ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas(antharasId), respawnTime - System.currentTimeMillis());
    }
    }
    }
    }
    
    
    // Do spawn teleport cube.
    public void spawnCube()
    {
    if (_mobsSpawnTask != null)
    {
    _mobsSpawnTask.cancel(true);
    _mobsSpawnTask = null;
    }
    if (_selfDestructionTask != null)
    {
    _selfDestructionTask.cancel(true);
    _selfDestructionTask = null;
    }
    if (_activityCheckTask != null)
    {
    _activityCheckTask.cancel(false);
    _activityCheckTask = null;
    }
    
    
    for (L2Spawn spawnDat : _teleportCubeSpawn)
    {
    _teleportCube.add(spawnDat.doSpawn());
    }
    }
    
    
    // Setting Antharas spawn task.
    public void setAntharasSpawnTask()
    {
    if (_monsterSpawnTask == null)
    {
    synchronized (this)
    {
    if (_monsterSpawnTask == null)
    {
    GrandBossManager.getInstance().setBossStatus(ANTHARAS_OLD_ID, WAITING);
    _monsterSpawnTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(1), (Config.ANTHARAS_WAIT_TIME * 60000));
    }
    }
    }
    }
    
    
    @Override
    public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
    {
    if (event.equalsIgnoreCase("waiting"))
    {
    setAntharasSpawnTask();
    }
    
    
    return super.onAdvEvent(event, npc, player);
    }
    
    
    protected void startMinionSpawns(int antharasId)
    {
    int intervalOfMobs;
    
    
    // Interval of minions is decided by the type of Antharas
    // that invaded the lair.
    switch (antharasId)
    {
    case ANTHARAS_WEAK_ID:
    intervalOfMobs = FWA_INTERVALOFMOBSWEAK;
    break;
    case ANTHARAS_NORMAL_ID:
    intervalOfMobs = FWA_INTERVALOFMOBSNORMAL;
    break;
    default:
    intervalOfMobs = FWA_INTERVALOFMOBSSTRONG;
    break;
    }
    
    
    // Spawn mobs.
    _mobsSpawnTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new MobsSpawn(), intervalOfMobs, intervalOfMobs);
    }
    
    
    // Do spawn Antharas.
    private class AntharasSpawn implements Runnable
    {
    private int _taskId = 0;
    private final Collection<L2Character> _players = _Zone.getCharactersInside();
    
    
    public AntharasSpawn(int taskId)
    {
    _taskId = taskId;
    }
    
    
    @Override
    public void run()
    {
    int npcId;
    L2Spawn antharasSpawn = null;
    
    
    switch (_taskId)
    {
    case 1: // Spawn.
    // Strength of Antharas is decided by the number of players that
    // invaded the lair.
    _monsterSpawnTask.cancel(false);
    _monsterSpawnTask = null;
    if (FWA_OLDANTHARAS)
    {
    npcId = 29019; // old
    }
    else if (_players.size() <= FWA_LIMITOFWEAK)
    {
    npcId = 29066; // weak
    }
    else if (_players.size() > FWA_LIMITOFNORMAL)
    {
    npcId = 29068; // strong
    }
    else
    {
    npcId = 29067; // normal
    }
    
    
    // Do spawn.
    antharasSpawn = _monsterSpawn.get(npcId);
    _antharas = (L2GrandBossInstance) antharasSpawn.doSpawn();
    GrandBossManager.getInstance().addBoss(_antharas);
    
    
    _monsters.add(_antharas);
    _antharas.setIsImmobilized(true);
    
    
    GrandBossManager.getInstance().setBossStatus(ANTHARAS_OLD_ID, DORMANT);
    GrandBossManager.getInstance().setBossStatus(npcId, FIGHTING);
    _LastAction = System.currentTimeMillis();
    // Start repeating timer to check for inactivity
    _activityCheckTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new CheckActivity(), 60000, 60000);
    
    
    // Setting 1st time of minions spawn task.
    if (!FWA_OLDANTHARAS)
    {
    startMinionSpawns(npcId);
    }
    
    
    // Set next task.
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    _socialTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(2), 16);
    break;
    case 2:
    // Set camera.
    broadcastPacket(new SpecialCamera(_antharas.getObjectId(), 700, 13, -19, 0, 20000, 0, 0, 1, 0));
    
    
    // Set next task.
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    _socialTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(3), 3000);
    break;
    
    
    case 3:
    // Do social.
    broadcastPacket(new SpecialCamera(_antharas.getObjectId(), 700, 13, 0, 6000, 20000, 0, 0, 1, 0));
    // Set next task.
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    _socialTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(4), 10000);
    break;
    case 4:
    broadcastPacket(new SpecialCamera(_antharas.getObjectId(), 3700, 0, -3, 0, 10000, 0, 0, 1, 0));
    // Set next task.
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    _socialTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(5), 200);
    break;
    
    
    case 5:
    // Do social.
    broadcastPacket(new SpecialCamera(_antharas.getObjectId(), 1100, 0, -3, 22000, 30000, 0, 0, 1, 0));
    // Set next task.
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    _socialTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(6), 10800);
    break;
    
    
    case 6:
    // Set camera.
    broadcastPacket(new SpecialCamera(_antharas.getObjectId(), 1100, 0, -3, 300, 7000, 0, 0, 1, 0));
    // Set next task.
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    _socialTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(7), 1900);
    break;
    
    
    case 7:
    _antharas.abortCast();
    
    
    _mobiliseTask = ThreadPoolManager.getInstance().scheduleGeneral(new SetMobilised(_antharas), 16);
    
    
    // Move at random.
    if (FWA_MOVEATRANDOM)
    {
    L2CharPosition pos = new L2CharPosition(getRandom(175000, 178500), getRandom(112400, 116000), -7707, 0);
    _moveAtRandomTask = ThreadPoolManager.getInstance().scheduleGeneral(new MoveAtRandom(_antharas, pos), 500);
    }
    
    
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    break;
    }
    }
    }
    
    
    protected void broadcastPacket(L2GameServerPacket mov)
    {
    if (_Zone != null)
    {
    for (L2Character characters : _Zone.getCharactersInside())
    {
    if (characters.isPlayer())
    {
    characters.sendPacket(mov);
    }
    }
    }
    }
    
    
    // Do spawn Behemoth or Bomber.
    private class MobsSpawn implements Runnable
    {
    public MobsSpawn()
    {
    }
    
    
    @Override
    public void run()
    {
    L2NpcTemplate template1;
    L2Spawn tempSpawn;
    boolean isBehemoth = getRandom(100) < FWA_PERCENTOFBEHEMOTH;
    try
    {
    int mobNumber = (isBehemoth ? 2 : 3);
    // Set spawn.
    for (int i = 0; i < mobNumber; i++)
    {
    if (_monsters.size() >= FWA_MAXMOBS)
    {
    break;
    }
    int npcId;
    if (isBehemoth)
    {
    npcId = 29069;
    }
    else
    {
    npcId = getRandom(29070, 29076);
    }
    template1 = NpcTable.getInstance().getTemplate(npcId);
    tempSpawn = new L2Spawn(template1);
    // allocates it at random in the lair of Antharas.
    int tried = 0;
    boolean notFound = true;
    int x = 175000;
    int y = 112400;
    int dt = ((_antharas.getX() - x) * (_antharas.getX() - x)) + ((_antharas.getY() - y) * (_antharas.getY() - y));
    while ((tried++ < 25) && notFound)
    {
    int rx = getRandom(175000, 179900);
    int ry = getRandom(112400, 116000);
    int rdt = ((_antharas.getX() - rx) * (_antharas.getX() - rx)) + ((_antharas.getY() - ry) * (_antharas.getY() - ry));
    if (GeoData.getInstance().canSeeTarget(_antharas.getX(), _antharas.getY(), -7704, rx, ry, -7704))
    {
    if (rdt < dt)
    {
    x = rx;
    y = ry;
    dt = rdt;
    if (rdt <= 900000)
    {
    notFound = false;
    }
    }
    }
    }
    tempSpawn.setLocx(x);
    tempSpawn.setLocy(y);
    tempSpawn.setLocz(-7704);
    tempSpawn.setHeading(0);
    tempSpawn.setAmount(1);
    tempSpawn.setRespawnDelay(FWA_ACTIVITYTIMEOFANTHARAS * 2);
    SpawnTable.getInstance().addNewSpawn(tempSpawn, false);
    // Do spawn.
    _monsters.add(tempSpawn.doSpawn());
    }
    }
    catch (Exception e)
    {
    _log.warning(e.getMessage());
    }
    }
    }
    
    
    @Override
    public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isSummon)
    {
    switch (npc.getNpcId())
    {
    case 29070:
    case 29071:
    case 29072:
    case 29073:
    case 29074:
    case 29075:
    case 29076:
    if ((_selfDestructionTask == null) && !npc.isDead())
    {
    _selfDestructionTask = ThreadPoolManager.getInstance().scheduleGeneral(new SelfDestructionOfBomber(npc), FWA_SELFDESTRUCTTIME);
    }
    break;
    }
    return super.onAggroRangeEnter(npc, player, isSummon);
    }
    
    
    // Do self destruction.
    private class SelfDestructionOfBomber implements Runnable
    {
    private final L2Npc _bomber;
    
    
    public SelfDestructionOfBomber(L2Npc bomber)
    {
    _bomber = bomber;
    }
    
    
    @Override
    public void run()
    {
    L2Skill skill = null;
    switch (_bomber.getNpcId())
    {
    case 29070:
    case 29071:
    case 29072:
    case 29073:
    case 29074:
    case 29075:
    skill = SkillTable.getInstance().getInfo(5097, 1);
    break;
    case 29076:
    skill = SkillTable.getInstance().getInfo(5094, 1);
    break;
    }
    
    
    _bomber.doCast(skill);
    if (_selfDestructionTask != null)
    {
    _selfDestructionTask.cancel(false);
    _selfDestructionTask = null;
    }
    }
    }
    
    
    @Override
    public String onSpellFinished(L2Npc npc, L2PcInstance player, L2Skill skill)
    {
    if (npc.isInvul())
    {
    return null;
    }
    else if ((skill != null) && ((skill.getId() == 5097) || (skill.getId() == 5094)))
    {
    switch (npc.getNpcId())
    {
    case 29070:
    case 29071:
    case 29072:
    case 29073:
    case 29074:
    case 29075:
    case 29076:
    npc.doDie(npc);
    break;
    }
    }
    return super.onSpellFinished(npc, player, skill);
    }
    
    
    // At end of activity time.
    protected class CheckActivity implements Runnable
    {
    @Override
    public void run()
    {
    Long temp = (System.currentTimeMillis() - _LastAction);
    if (temp > FWA_INACTIVITYTIME)
    {
    GrandBossManager.getInstance().setBossStatus(_antharas.getNpcId(), DORMANT);
    setUnspawn();
    }
    }
    }
    
    
    // Clean Antharas's lair.
    public void setUnspawn()
    {
    // Eliminate players.
    _Zone.oustAllPlayers();
    
    
    // Not executed tasks is canceled.
    if (_cubeSpawnTask != null)
    {
    _cubeSpawnTask.cancel(true);
    _cubeSpawnTask = null;
    }
    if (_monsterSpawnTask != null)
    {
    _monsterSpawnTask.cancel(true);
    _monsterSpawnTask = null;
    }
    if (_activityCheckTask != null)
    {
    _activityCheckTask.cancel(false);
    _activityCheckTask = null;
    }
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    if (_mobiliseTask != null)
    {
    _mobiliseTask.cancel(true);
    _mobiliseTask = null;
    }
    if (_mobsSpawnTask != null)
    {
    _mobsSpawnTask.cancel(true);
    _mobsSpawnTask = null;
    }
    if (_selfDestructionTask != null)
    {
    _selfDestructionTask.cancel(true);
    _selfDestructionTask = null;
    }
    if (_moveAtRandomTask != null)
    {
    _moveAtRandomTask.cancel(true);
    _moveAtRandomTask = null;
    }
    
    
    // Delete monsters.
    for (L2Npc mob : _monsters)
    {
    mob.getSpawn().stopRespawn();
    mob.deleteMe();
    }
    _monsters.clear();
    
    
    // Delete teleport cube.
    for (L2Npc cube : _teleportCube)
    {
    cube.getSpawn().stopRespawn();
    cube.deleteMe();
    }
    _teleportCube.clear();
    }
    
    
    // Do spawn teleport cube.
    private class CubeSpawn implements Runnable
    {
    private final int _type;
    
    
    public CubeSpawn(int type)
    {
    _type = type;
    }
    
    
    @Override
    public void run()
    {
    if (_type == 0)
    {
    spawnCube();
    _cubeSpawnTask = ThreadPoolManager.getInstance().scheduleGeneral(new CubeSpawn(1), 1800000);
    }
    else
    {
    setUnspawn();
    }
    }
    }
    
    
    // UnLock Antharas.
    private static class UnlockAntharas implements Runnable
    {
    private final int _bossId;
    
    
    public UnlockAntharas(int bossId)
    {
    _bossId = bossId;
    }
    
    
    @Override
    public void run()
    {
    GrandBossManager.getInstance().setBossStatus(_bossId, DORMANT);
    if (FWA_DOSERVEREARTHQUAKE)
    {
    for (L2PcInstance p : L2World.getInstance().getAllPlayersArray())
    {
    p.broadcastPacket(new Earthquake(185708, 114298, -8221, 20, 10));
    }
    }
    }
    }
    
    
    // Action is enabled the boss.
    private class SetMobilised implements Runnable
    {
    private final L2GrandBossInstance _boss;
    
    
    public SetMobilised(L2GrandBossInstance boss)
    {
    _boss = boss;
    }
    
    
    @Override
    public void run()
    {
    _boss.setIsImmobilized(false);
    
    
    // When it is possible to act, a social action is canceled.
    if (_socialTask != null)
    {
    _socialTask.cancel(true);
    _socialTask = null;
    }
    }
    }
    
    
    // Move at random on after Antharas appears.
    private static class MoveAtRandom implements Runnable
    {
    private final L2Npc _npc;
    private final L2CharPosition _pos;
    
    
    public MoveAtRandom(L2Npc npc, L2CharPosition pos)
    {
    _npc = npc;
    _pos = pos;
    }
    
    
    @Override
    public void run()
    {
    _npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, _pos);
    }
    }
    
    
    @Override
    public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
    {
    if ((npc.getNpcId() == 29019) || (npc.getNpcId() == 29066) || (npc.getNpcId() == 29067) || (npc.getNpcId() == 29068))
    {
    _LastAction = System.currentTimeMillis();
    if (GrandBossManager.getInstance().getBossStatus(_antharas.getNpcId()) != FIGHTING)
    {
    _Zone.oustAllPlayers();
    }
    else if (!FWA_OLDANTHARAS && (_mobsSpawnTask == null))
    {
    startMinionSpawns(npc.getNpcId());
    }
    }
    else if ((npc.getNpcId() > 29069) && (npc.getNpcId() < 29077) && (npc.getCurrentHp() <= damage))
    {
    L2Skill skill = null;
    switch (npc.getNpcId())
    {
    case 29070:
    case 29071:
    case 29072:
    case 29073:
    case 29074:
    case 29075:
    skill = SkillTable.getInstance().getInfo(5097, 1);
    break;
    case 29076:
    skill = SkillTable.getInstance().getInfo(5094, 1);
    break;
    }
    
    
    npc.doCast(skill);
    }
    return super.onAttack(npc, attacker, damage, isSummon);
    }
    
    
    @Override
    public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
    {
    if ((npc.getNpcId() == 29019) || (npc.getNpcId() == 29066) || (npc.getNpcId() == 29067) || (npc.getNpcId() == 29068))
    {
    broadcastPacket(new SpecialCamera(_antharas.getObjectId(), 1200, 20, -10, 0, 13000, 0, 0, 1, 0));
    npc.broadcastPacket(new PlaySound(1, "BS01_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
    _cubeSpawnTask = ThreadPoolManager.getInstance().scheduleGeneral(new CubeSpawn(0), 10000);
    GrandBossManager.getInstance().setBossStatus(npc.getNpcId(), DEAD);
    // Calculate Min and Max respawn times randomly.
    long respawnTime = Config.ANTHARAS_SPAWN_INTERVAL + getRandom(-Config.ANTHARAS_SPAWN_RANDOM, Config.ANTHARAS_SPAWN_RANDOM);
    respawnTime *= 3600000;
    
    
    ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas(npc.getNpcId()), respawnTime);
    // also save the respawn time so that the info is maintained past reboots
    StatsSet info = GrandBossManager.getInstance().getStatsSet(npc.getNpcId());
    info.set("respawn_time", (System.currentTimeMillis() + respawnTime));
    GrandBossManager.getInstance().setStatsSet(npc.getNpcId(), info);
    }
    else if (npc.getNpcId() == 29069)
    {
    int countHPHerb = getRandom(6, 18);
    int countMPHerb = getRandom(6, 18);
    for (int i = 0; i < countHPHerb; i++)
    {
    ((L2MonsterInstance) npc).dropItem(killer, 8602, 1);
    }
    for (int i = 0; i < countMPHerb; i++)
    {
    ((L2MonsterInstance) npc).dropItem(killer, 8605, 1);
    }
    }
    if (_monsters.contains(npc))
    {
    _monsters.remove(npc);
    }
    return super.onKill(npc, killer, isSummon);
    }
    
    
    public static void main(String[] args)
    {
    new Antharas(Antharas.class.getSimpleName(), "ai");
    }
    }
  10. I need to know how to add a sell menu for a GMShop.

    I made the button already but its not pathing me to a sell screen.

     

     

     

    html in my gmshop

    <center><button value="Sell" action="bypass -h npc_%objectId%_Buy 13128001" width=75 height=25 back="L2UI_CT1.Button_DF.Gauge_DF_Attribute_Wind.Gauge_DF_Attribute_Wind" fore="L2UI_CT1.Button_DF.Gauge_DF_Attribute_Wind.Gauge_DF_Attribute_Wind_bg"></center><br>
    <img src="L2UI_CH3.herotower_deco" width=256 height=32 align=left>

     

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock