L2JLisvus

Would you like to react to this message? Create an account in a few clicks or log in to continue.

3 posters

    Item Spawn Mobs/RaidBoss

    avatar
    kallone


    Posts : 73
    Join date : 2013-05-27
    Age : 32
    Location : http://l2destruction.com/

    Item Spawn Mobs/RaidBoss Empty Item Spawn Mobs/RaidBoss

    Post  kallone 16th April 2023, 17:38

    First you will create a new .java file
    ItemSpawn.java
    net.sf.l2j.gameserver.handler.itemhandlers

    Code:
    // by KallonE v-Final Copyright 2023 KallonE
    // L2JLisvus!
    // Source File Name:  ItemSpawn.java

    package net.sf.l2j.gameserver.handler.itemhandlers;

    import java.util.logging.Logger;

    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.ThreadPoolManager;
    import net.sf.l2j.gameserver.datatables.NpcTable;
    import net.sf.l2j.gameserver.handler.IItemHandler;
    import net.sf.l2j.gameserver.idfactory.IdFactory;
    import net.sf.l2j.gameserver.model.L2ItemInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
    import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
    import net.sf.l2j.gameserver.network.serverpackets.SocialAction;
    import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
    import net.sf.l2j.gameserver.templates.L2NpcTemplate;

    /**
    * Created by KallonE
    * User: L2jlisvus
    * Date: 16.04.23
    * Time: 11:30
    * To change this template use File | Settings | File Templates.
    */
    public class ItemSpawn implements IItemHandler
    {
    protected static Logger _log = Logger.getLogger(ItemSpawn.class.getName());
    private static final int[] ITEM_IDS = { 6673 };
    public void useItem(L2PcInstance activeChar, String monsterId, L2ItemInstance item, boolean par){}
    public int[] getItemIds()
    {
    return ITEM_IDS;
    }
    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
    _log.info("use item" +item);
    L2PcInstance activeChar;
    activeChar = (L2PcInstance) playable;
    L2NpcTemplate template;
    template = NpcTable.getInstance().getTemplate(100052);
    if (activeChar.isInOlympiadMode())
    {
    return;
    }
    //TODO flood protector
    L2RaidBossInstance id = new L2RaidBossInstance(IdFactory.getInstance().getNextId(), template);
    id.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ());
    id.setHeading(activeChar.getHeading());
    id.setCurrentHpMp(id.getMaxHp(), id.getMaxMp());
    id.setIsRaid(true);
    ThreadPoolManager.getInstance().scheduleGeneral(new deleteNPC(id), 100052);
    activeChar.destroyItem("Summon", item.getObjectId(), 1, null, true);
    }

    public class deleteNPC implements Runnable
    {
    protected L2NpcInstance _npc;
    public void run()
    {
    _npc.deleteMe();
    }
    deleteNPC(L2NpcInstance npc)
    {
    _npc = npc;
    }
    }
    }

    now go to net.sf.l2j.gameserver.handler.ItemHandler.java
    Code:

    import net.sf.l2j.gameserver.handler.itemhandlers.SummonItems;
    +import net.sf.l2j.gameserver.handler.itemhandlers.ItemSpawn;


          registerItemHandler(new ScrollOfEscape());
    +              registerItemHandler(new ItemSpawn());

    -----------------------------------------

    template = NpcTable.getInstance().getTemplate(100052); -> ID NPC/MOB/BOSS


    private static final int[] ITEM_IDS = { 6673 }; -> ID Item Spawn


    Hugs

    natan55 likes this post

    avatar
    natan55


    Posts : 7
    Join date : 2021-04-04

    Item Spawn Mobs/RaidBoss Empty Re: Item Spawn Mobs/RaidBoss

    Post  natan55 28th July 2023, 04:50

    Boa noite !

    poderia me dizer onde eu altero p aumentar o tempo de delete do boss ? ele esta sumindo muito rápido.
    SCRASH0
    SCRASH0


    Posts : 203
    Join date : 2019-03-07

    Item Spawn Mobs/RaidBoss Empty Re: Item Spawn Mobs/RaidBoss

    Post  SCRASH0 31st July 2023, 01:17

    kallone wrote:First you will create a new .java file
    ItemSpawn.java
    net.sf.l2j.gameserver.handler.itemhandlers

    Code:
    // by KallonE v-Final Copyright 2023 KallonE
    // L2JLisvus!
    // Source File Name:   ItemSpawn.java

    package net.sf.l2j.gameserver.handler.itemhandlers;

    import java.util.logging.Logger;

    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.ThreadPoolManager;
    import net.sf.l2j.gameserver.datatables.NpcTable;
    import net.sf.l2j.gameserver.handler.IItemHandler;
    import net.sf.l2j.gameserver.idfactory.IdFactory;
    import net.sf.l2j.gameserver.model.L2ItemInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
    import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
    import net.sf.l2j.gameserver.network.serverpackets.SocialAction;
    import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
    import net.sf.l2j.gameserver.templates.L2NpcTemplate;

    /**
    * Created by KallonE
    * User: L2jlisvus
    * Date: 16.04.23
    * Time: 11:30
    * To change this template use File | Settings | File Templates.
    */
    public class ItemSpawn implements IItemHandler
    {
    protected static Logger _log = Logger.getLogger(ItemSpawn.class.getName());
    private static final int[] ITEM_IDS = { 6673 };
    public void useItem(L2PcInstance activeChar, String monsterId, L2ItemInstance item, boolean par){}
    public int[] getItemIds()
    {
    return ITEM_IDS;
    }
    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
    _log.info("use item" +item);
    L2PcInstance activeChar;
    activeChar = (L2PcInstance) playable;
    L2NpcTemplate template;
    template = NpcTable.getInstance().getTemplate(100052);
    if (activeChar.isInOlympiadMode())
    {
    return;
    }
    //TODO flood protector
    L2RaidBossInstance id = new L2RaidBossInstance(IdFactory.getInstance().getNextId(), template);
    id.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ());
    id.setHeading(activeChar.getHeading());
    id.setCurrentHpMp(id.getMaxHp(), id.getMaxMp());
    id.setIsRaid(true);
    ThreadPoolManager.getInstance().scheduleGeneral(new deleteNPC(id), 100052);
    activeChar.destroyItem("Summon", item.getObjectId(), 1, null, true);
    }

    public class deleteNPC implements Runnable
    {
    protected L2NpcInstance _npc;
    public void run()
    {
    _npc.deleteMe();
    }
    deleteNPC(L2NpcInstance npc)
    {
    _npc = npc;
    }
    }
    }

    now go to net.sf.l2j.gameserver.handler.ItemHandler.java
    Code:

    import net.sf.l2j.gameserver.handler.itemhandlers.SummonItems;
    +import net.sf.l2j.gameserver.handler.itemhandlers.ItemSpawn;


     registerItemHandler(new ScrollOfEscape());
    +              registerItemHandler(new ItemSpawn());

    -----------------------------------------

    template = NpcTable.getInstance().getTemplate(100052); -> ID NPC/MOB/BOSS


    private static final int[] ITEM_IDS = { 6673 };  -> ID Item Spawn


    Hugs



    Kallone o Mob está sumindo muito rápido
    avatar
    kallone


    Posts : 73
    Join date : 2013-05-27
    Age : 32
    Location : http://l2destruction.com/

    Item Spawn Mobs/RaidBoss Empty Re: Item Spawn Mobs/RaidBoss

    Post  kallone 31st July 2023, 17:34

    Atualizado!

    Code:
    // by KallonE v-Final Copyright 2023 KallonE
    // L2JLisvus!
    // Source File Name:   ItemSpawn.java

    package net.sf.l2j.gameserver.handler.itemhandlers;

    import java.util.logging.Logger;

    import net.sf.l2j.gameserver.datatables.NpcTable;
    import net.sf.l2j.gameserver.handler.IItemHandler;
    import net.sf.l2j.gameserver.idfactory.IdFactory;
    import net.sf.l2j.gameserver.model.L2ItemInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
    import net.sf.l2j.gameserver.network.serverpackets.Earthquake;
    import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
    import net.sf.l2j.gameserver.network.serverpackets.NpcSay;
    import net.sf.l2j.gameserver.network.serverpackets.PlaySound;
    import net.sf.l2j.gameserver.network.serverpackets.SocialAction;
    import net.sf.l2j.gameserver.templates.L2NpcTemplate;

    /**
    * Created by KallonE
    * User: L2jlisvus
    * Date: 16.07.23
    * Time: 11:30
    * To change this template use File | Settings | File Templates.
    */
    public class ItemSpawnBaium implements IItemHandler
    {
    protected static Logger _log = Logger.getLogger(ItemSpawn.class.getName());
    private static final int Baium = 100053;
    private static final int[] ITEM_IDS = { 7853 };
    @Override
    public int[] getItemIds()
    {
    return ITEM_IDS;
    }
    @Override
    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
    _log.info("use item:" +item );
    _log.info("Player Name:" +playable.getName());
    L2PcInstance activeChar;
    activeChar = (L2PcInstance) playable;
    L2NpcTemplate template;
    template = NpcTable.getInstance().getTemplate(Baium);
    if (activeChar.isInOlympiadMode())
    {
    return;
    }
    //TODO flood protector
    L2RaidBossInstance id = new L2RaidBossInstance(IdFactory.getInstance().getNextId(), template);
    if (id.getNpcId() == Baium)
    {
     
    id.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ());
    id.setHeading(activeChar.getHeading());
    id.setCurrentHpMp(id.getMaxHp(), id.getMaxMp());
    id.broadcastPacket(new NpcSay(id.getObjectId(), 0, id.getNpcId(), "I am the baium, how dare you attack me?"));
    id.broadcastPacket(new NpcSay(id.getObjectId(), 0, id.getNpcId(), "I will annihilate them all!!!!"));
    id.broadcastPacket(new NpcSay(id.getObjectId(), 0, id.getNpcId(), "I want your death!"));
    id.broadcastPacket(new NpcSay(id.getObjectId(), 0, id.getNpcId(), "www.L2Destruction.com"));
    id.broadcastPacket(new NpcSay(id.getObjectId(), 0, id.getNpcId(), "Scion of Destiny 75x."));

    id.setIsRaid(true);
    id.broadcastPacket(new SocialAction(id.getObjectId(), 2));
    id.broadcastPacket(new Earthquake(id.getX(), id.getY(), id.getZ(), 40, 10));
    id.broadcastPacket(new PlaySound(1, "BS01_D", 1, id.getObjectId(), id.getX(), id.getY(), id.getZ()));
    MagicSkillUse  MSU = new MagicSkillUse(activeChar, activeChar, 1034, 1, 1, 1);
    activeChar.broadcastPacket(MSU);
    activeChar.sendMessage("Congratulations "+activeChar.getName()+"! You spawn Boss *Baium*! *Kill The Boss*");
    activeChar.destroyItem("Summon", item.getObjectId(), 1, null, true);
    }
    }
    }


    Lembrando que tem que alterar conforme os ids dos mobs/npc/item de vocês ok ?
    obrigado por reportar!!

    Abraços

    Sponsored content


    Item Spawn Mobs/RaidBoss Empty Re: Item Spawn Mobs/RaidBoss

    Post  Sponsored content


      Current date/time is 19th May 2024, 14:47