L2JMobius

The Source of Flame the door open but the bridge don't appear

exce · 12 · 674

Offline exce

  • Knight
  • ***
    • Posts: 54
as the title said the bridge does't appear after killing the boss in Nightmare Kamaloka.

https://imgur.com/a/d3EPd4h

I've tried a few things but it seems like a package problem which isn't my cup of tea.

the code:
Code: [Select]
/*
 * This file is part of the L2J Mobius project.
 *
 * 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 instances.NightmareKamaloka;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.l2jmobius.gameserver.instancemanager.InstanceManager;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.instancezone.Instance;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;

import instances.AbstractInstance;

/**
 * Nightmare Kamaloka instance zone.
 * @author St3eT
 */
public class NightmareKamaloka extends AbstractInstance
{
// NPCs
private static final int BENUSTA = 34542;
private static final int DARK_RIDER = 26102;
private static final int SIONE_ULAF = 26465;
private static final int INVISIBLE_NPC = 18919;
// Items
private static final ItemHolder BENUSTAS_REWARD_BOX = new ItemHolder(81151, 1);
private static final ItemHolder BENUSTAS_SHINING_REWARD_BOX = new ItemHolder(81452, 1);
private static final ItemHolder BENUSTAS_REWARD_BOX_110 = new ItemHolder(81741, 1);
// Misc
private static final Map<Integer, Integer> BOSS_MAP = new HashMap<>();
static
{
BOSS_MAP.put(26093, 18170002); // Mino
BOSS_MAP.put(26094, 18170004); // Sola
BOSS_MAP.put(26096, 18170006); // Ariarc
BOSS_MAP.put(26099, 18170008); // Sirra
BOSS_MAP.put(DARK_RIDER, -1); // Dark Rider
}
private static final Map<Integer, Integer> BOSS_MAP_110 = new HashMap<>();
static
{
BOSS_MAP_110.put(26461, 18170002); // Noegg
BOSS_MAP_110.put(26462, 18170004); // Kyshis
BOSS_MAP_110.put(26463, 18170006); // Ssizz Chronizel
BOSS_MAP_110.put(26464, 18170008); // Kanan Chronizel
BOSS_MAP_110.put(SIONE_ULAF, -1); // Sir Sione Ulaf
}
private static final int[] TEMPLATE_IDS =
{
258, // lv. 105
313, // lv. 110
};

public NightmareKamaloka()
{
super(TEMPLATE_IDS);
addStartNpc(BENUSTA);
addTalkId(BENUSTA);
addSpawnId(INVISIBLE_NPC);
addKillId(BOSS_MAP.keySet());
addKillId(BOSS_MAP_110.keySet());
}

@Override
public String onAdvEvent(String event, Npc npc, Player player)
{
if (event.contains("enterInstance"))
{
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
if (player.isInParty())
{
final Party party = player.getParty();
if (!party.isLeader(player))
{
player.sendPacket(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER);
return null;
}

if (player.isInCommandChannel())
{
player.sendPacket(SystemMessageId.YOU_CANNOT_ENTER_AS_YOU_DON_T_MEET_THE_REQUIREMENTS);
return null;
}

final long currentTime = System.currentTimeMillis();
final List<Player> members = party.getMembers();
for (Player member : members)
{
if (!member.isInsideRadius3D(npc, 1000))
{
player.sendMessage("Player " + member.getName() + " must come closer.");
return null;
}

for (int id : TEMPLATE_IDS)
{
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
{
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
msg.addString(member.getName());
party.broadcastToPartyMembers(member, msg);
return null;
}
}
}

for (Player member : members)
{
enterInstance(member, npc, templateId);
}
}
else if (player.isGM())
{
enterInstance(player, npc, templateId);
}
else if (!player.isGM())
{
enterInstance(player, npc, templateId);
}
}
else if ("SPAWN_BOSSES".equals(event))
{
final Instance instance = npc.getInstanceWorld();
if (isInInstance(instance))
{
instance.spawnGroup("BOSSES");
}
}
return super.onAdvEvent(event, npc, player);
}

@Override
public String onSpawn(Npc npc)
{
final Instance instance = npc.getInstanceWorld();
if (isInInstance(instance) && (npc.getId() == INVISIBLE_NPC))
{
startQuestTimer("SPAWN_BOSSES", 10000, npc, null);
}
return super.onSpawn(npc);
}

@Override
public void onInstanceCreated(Instance instance, Player player)
{
instance.getParameters().set("INITIAL_PARTY_MEMBERS", player.getParty() != null ? player.getParty().getMemberCount() : 1);
}

@Override
public String onKill(Npc npc, Player killer, boolean isSummon)
{
final Instance world = npc.getInstanceWorld();
if (isInInstance(world))
{
final int nextDoorId = world.getTemplateId() == TEMPLATE_IDS[0] ? BOSS_MAP.getOrDefault(npc.getId(), -1) : BOSS_MAP_110.getOrDefault(npc.getId(), -1);
if (nextDoorId == -1)
{
for (Player member : world.getPlayers())
{
giveItems(member, world.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110);
}
// final Party party = world.getFirstPlayer().getParty();
// final Player randomPlayer = party != null ? party.getRandomPlayer() : null;
if (getRandom(100) < 80)
{
giveItems(killer, BENUSTAS_SHINING_REWARD_BOX);
}
world.finishInstance();
}
else
{
world.openCloseDoor(nextDoorId, true);
}
}
return super.onKill(npc, killer, isSummon);
}

public static void main(String[] args)
{
new NightmareKamaloka();
}
}


Offline Black Judge

  • Heir
  • **
    • Posts: 36
as the title said the bridge does't appear after killing the boss in Nightmare Kamaloka.

https://imgur.com/a/d3EPd4h

I've tried a few things but it seems like a package problem which isn't my cup of tea.


Can you explain in more detail what kind of bridge should appear there?


Online nasseka

  • Distinguished King
  • *****
    • Posts: 1729
    • L2Unknown
I wonder why you post the whole script where there isn't fix inside?


Online gigilo1968

  • Black Sheep
  • Elder
  • ****
    • Posts: 188
    • Hi5
When kill each boss need set triggers

private static final int DOOR_1_OP = 18170104;
private static final int DOOR_2_OP = 18170204;
private static final int DOOR_3_OP = 18170304;
private static final int DOOR_4_OP = 18170404;





Offline exce

  • Knight
  • ***
    • Posts: 54
When kill boss need implemented triggers

private static final int DOOR_1_OP = 18170104;
private static final int DOOR_2_OP = 18170204;
private static final int DOOR_3_OP = 18170304;
private static final int DOOR_4_OP = 18170404;

have de code of "trigger"? can't find it here, just skills triggers

like this one
Code: [Select]
activeChar.sendPacket(new OnEventTrigger(triggerId, enable));but for doors

edit: find it.


Offline exce

  • Knight
  • ***
    • Posts: 54
When kill boss need implemented triggers

private static final int DOOR_1_OP = 18170104;
private static final int DOOR_2_OP = 18170204;
private static final int DOOR_3_OP = 18170304;
private static final int DOOR_4_OP = 18170404;

this bridge:
https://imgur.com/a/PtqmkaX

ty man, just move around the code to make it appears on others.


Offline exce

  • Knight
  • ***
    • Posts: 54
There is the code with bridge showing:
Code: [Select]
/*
 * This file is part of the L2J Mobius project.
 *
 * 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 instances.NightmareKamaloka;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.l2jmobius.gameserver.instancemanager.InstanceManager;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.instancezone.Instance;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;

import instances.AbstractInstance;

/**
 * Nightmare Kamaloka instance zone.
 * @author St3eT
 */
public class NightmareKamaloka extends AbstractInstance
{
// NPCs
private static final int BENUSTA = 34542;
private static final int DARK_RIDER = 26102;
private static final int SIONE_ULAF = 26465;
private static final int INVISIBLE_NPC = 18919;
// Items
private static final ItemHolder BENUSTAS_REWARD_BOX = new ItemHolder(81151, 1);
private static final ItemHolder BENUSTAS_SHINING_REWARD_BOX = new ItemHolder(81452, 1);
private static final ItemHolder BENUSTAS_REWARD_BOX_110 = new ItemHolder(81741, 1);
// Misc
private static final Map<Integer, Integer> BOSS_MAP = new HashMap<>();
static
{
BOSS_MAP.put(26093, 18170002); // Mino
BOSS_MAP.put(26094, 18170004); // Sola
BOSS_MAP.put(26096, 18170006); // Ariarc
BOSS_MAP.put(26099, 18170008); // Sirra
BOSS_MAP.put(DARK_RIDER, -1); // Dark Rider
}
private static final Map<Integer, Integer> BOSS_MAP_110 = new HashMap<>();
static
{
BOSS_MAP_110.put(26461, 18170002); // Noegg
BOSS_MAP_110.put(26462, 18170004); // Kyshis
BOSS_MAP_110.put(26463, 18170006); // Ssizz Chronizel
BOSS_MAP_110.put(26464, 18170008); // Kanan Chronizel
BOSS_MAP_110.put(SIONE_ULAF, -1); // Sir Sione Ulaf
}
private static final int[] TEMPLATE_IDS =
{
258, // lv. 105
313, // lv. 110
};

private static final int DOOR_1_OP = 18170104;
private static final int DOOR_2_OP = 18170204;
private static final int DOOR_3_OP = 18170304;
private static final int DOOR_4_OP = 18170404;

public NightmareKamaloka()
{
super(TEMPLATE_IDS);
addStartNpc(BENUSTA);
addTalkId(BENUSTA);
addSpawnId(INVISIBLE_NPC);
addKillId(BOSS_MAP.keySet());
addKillId(BOSS_MAP_110.keySet());
}

@Override
public String onAdvEvent(String event, Npc npc, Player player)
{
if (event.contains("enterInstance"))
{
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
if (player.isInParty())
{
final Party party = player.getParty();
if (!party.isLeader(player))
{
player.sendPacket(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER);
return null;
}

if (player.isInCommandChannel())
{
player.sendPacket(SystemMessageId.YOU_CANNOT_ENTER_AS_YOU_DON_T_MEET_THE_REQUIREMENTS);
return null;
}

final long currentTime = System.currentTimeMillis();
final List<Player> members = party.getMembers();
for (Player member : members)
{
if (!member.isInsideRadius3D(npc, 1000))
{
player.sendMessage("Player " + member.getName() + " must come closer.");
return null;
}

for (int id : TEMPLATE_IDS)
{
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
{
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
msg.addString(member.getName());
party.broadcastToPartyMembers(member, msg);
return null;
}
}
}

for (Player member : members)
{
enterInstance(member, npc, templateId);
}
}
else if (player.isGM())
{
enterInstance(player, npc, templateId);
}
else if (!player.isGM())
{
enterInstance(player, npc, templateId);
}
}
else if ("SPAWN_BOSSES".equals(event))
{
final Instance instance = npc.getInstanceWorld();
if (isInInstance(instance))
{
instance.spawnGroup("BOSSES");
}
}
return super.onAdvEvent(event, npc, player);
}

@Override
public String onSpawn(Npc npc)
{
final Instance instance = npc.getInstanceWorld();
if (isInInstance(instance) && (npc.getId() == INVISIBLE_NPC))
{
startQuestTimer("SPAWN_BOSSES", 10000, npc, null);
}
return super.onSpawn(npc);
}

@Override
public void onInstanceCreated(Instance instance, Player player)
{
instance.getParameters().set("INITIAL_PARTY_MEMBERS", player.getParty() != null ? player.getParty().getMemberCount() : 1);
}

@Override
public String onKill(Npc npc, Player killer, boolean isSummon)
{
final Instance world = npc.getInstanceWorld();
if (isInInstance(world))
{
final int nextDoorId = world.getTemplateId() == TEMPLATE_IDS[0] ? BOSS_MAP.getOrDefault(npc.getId(), -1) : BOSS_MAP_110.getOrDefault(npc.getId(), -1);
if (nextDoorId == -1)
{
for (Player member : world.getPlayers())
{
giveItems(member, world.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110);
}
final Party party = world.getFirstPlayer().getParty();
final Player randomPlayer = party != null ? party.getRandomPlayer() : null;
if ((randomPlayer != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0)))
{
giveItems(randomPlayer, BENUSTAS_SHINING_REWARD_BOX);
}
world.finishInstance();
}
else
{
world.openCloseDoor(nextDoorId, true);

switch (nextDoorId)
{
case 18170002:
{
world.broadcastPacket(new OnEventTrigger(DOOR_1_OP, true));
break;
} // Noegg
case 18170004:
{
world.broadcastPacket(new OnEventTrigger(DOOR_2_OP, true));
break;
}
case 18170006:
{
world.broadcastPacket(new OnEventTrigger(DOOR_3_OP, true));
break;
}
case 18170008:
{
world.broadcastPacket(new OnEventTrigger(DOOR_4_OP, true));
break;
}
}

}
}
return super.onKill(npc, killer, isSummon);
}

public static void main(String[] args)
{
new NightmareKamaloka();
}
}


Offline Black Judge

  • Heir
  • **
    • Posts: 36
There is the code with bridge showing:
Code: [Select]
/*
 * This file is part of the L2J Mobius project.
 *
 * 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 instances.NightmareKamaloka;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.l2jmobius.gameserver.instancemanager.InstanceManager;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.instancezone.Instance;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;

import instances.AbstractInstance;

/**
 * Nightmare Kamaloka instance zone.
 * @author St3eT
 */
public class NightmareKamaloka extends AbstractInstance
{
// NPCs
private static final int BENUSTA = 34542;
private static final int DARK_RIDER = 26102;
private static final int SIONE_ULAF = 26465;
private static final int INVISIBLE_NPC = 18919;
// Items
private static final ItemHolder BENUSTAS_REWARD_BOX = new ItemHolder(81151, 1);
private static final ItemHolder BENUSTAS_SHINING_REWARD_BOX = new ItemHolder(81452, 1);
private static final ItemHolder BENUSTAS_REWARD_BOX_110 = new ItemHolder(81741, 1);
// Misc
private static final Map<Integer, Integer> BOSS_MAP = new HashMap<>();
static
{
BOSS_MAP.put(26093, 18170002); // Mino
BOSS_MAP.put(26094, 18170004); // Sola
BOSS_MAP.put(26096, 18170006); // Ariarc
BOSS_MAP.put(26099, 18170008); // Sirra
BOSS_MAP.put(DARK_RIDER, -1); // Dark Rider
}
private static final Map<Integer, Integer> BOSS_MAP_110 = new HashMap<>();
static
{
BOSS_MAP_110.put(26461, 18170002); // Noegg
BOSS_MAP_110.put(26462, 18170004); // Kyshis
BOSS_MAP_110.put(26463, 18170006); // Ssizz Chronizel
BOSS_MAP_110.put(26464, 18170008); // Kanan Chronizel
BOSS_MAP_110.put(SIONE_ULAF, -1); // Sir Sione Ulaf
}
private static final int[] TEMPLATE_IDS =
{
258, // lv. 105
313, // lv. 110
};

private static final int DOOR_1_OP = 18170104;
private static final int DOOR_2_OP = 18170204;
private static final int DOOR_3_OP = 18170304;
private static final int DOOR_4_OP = 18170404;

public NightmareKamaloka()
{
super(TEMPLATE_IDS);
addStartNpc(BENUSTA);
addTalkId(BENUSTA);
addSpawnId(INVISIBLE_NPC);
addKillId(BOSS_MAP.keySet());
addKillId(BOSS_MAP_110.keySet());
}

@Override
public String onAdvEvent(String event, Npc npc, Player player)
{
if (event.contains("enterInstance"))
{
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
if (player.isInParty())
{
final Party party = player.getParty();
if (!party.isLeader(player))
{
player.sendPacket(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER);
return null;
}

if (player.isInCommandChannel())
{
player.sendPacket(SystemMessageId.YOU_CANNOT_ENTER_AS_YOU_DON_T_MEET_THE_REQUIREMENTS);
return null;
}

final long currentTime = System.currentTimeMillis();
final List<Player> members = party.getMembers();
for (Player member : members)
{
if (!member.isInsideRadius3D(npc, 1000))
{
player.sendMessage("Player " + member.getName() + " must come closer.");
return null;
}

for (int id : TEMPLATE_IDS)
{
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
{
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
msg.addString(member.getName());
party.broadcastToPartyMembers(member, msg);
return null;
}
}
}

for (Player member : members)
{
enterInstance(member, npc, templateId);
}
}
else if (player.isGM())
{
enterInstance(player, npc, templateId);
}
else if (!player.isGM())
{
enterInstance(player, npc, templateId);
}
}
else if ("SPAWN_BOSSES".equals(event))
{
final Instance instance = npc.getInstanceWorld();
if (isInInstance(instance))
{
instance.spawnGroup("BOSSES");
}
}
return super.onAdvEvent(event, npc, player);
}

@Override
public String onSpawn(Npc npc)
{
final Instance instance = npc.getInstanceWorld();
if (isInInstance(instance) && (npc.getId() == INVISIBLE_NPC))
{
startQuestTimer("SPAWN_BOSSES", 10000, npc, null);
}
return super.onSpawn(npc);
}

@Override
public void onInstanceCreated(Instance instance, Player player)
{
instance.getParameters().set("INITIAL_PARTY_MEMBERS", player.getParty() != null ? player.getParty().getMemberCount() : 1);
}

@Override
public String onKill(Npc npc, Player killer, boolean isSummon)
{
final Instance world = npc.getInstanceWorld();
if (isInInstance(world))
{
final int nextDoorId = world.getTemplateId() == TEMPLATE_IDS[0] ? BOSS_MAP.getOrDefault(npc.getId(), -1) : BOSS_MAP_110.getOrDefault(npc.getId(), -1);
if (nextDoorId == -1)
{
for (Player member : world.getPlayers())
{
giveItems(member, world.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110);
}
final Party party = world.getFirstPlayer().getParty();
final Player randomPlayer = party != null ? party.getRandomPlayer() : null;
if ((randomPlayer != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0)))
{
giveItems(randomPlayer, BENUSTAS_SHINING_REWARD_BOX);
}
world.finishInstance();
}
else
{
world.openCloseDoor(nextDoorId, true);

switch (nextDoorId)
{
case 18170002:
{
world.broadcastPacket(new OnEventTrigger(DOOR_1_OP, true));
break;
} // Noegg
case 18170004:
{
world.broadcastPacket(new OnEventTrigger(DOOR_2_OP, true));
break;
}
case 18170006:
{
world.broadcastPacket(new OnEventTrigger(DOOR_3_OP, true));
break;
}
case 18170008:
{
world.broadcastPacket(new OnEventTrigger(DOOR_4_OP, true));
break;
}
}

}
}
return super.onKill(npc, killer, isSummon);
}

public static void main(String[] args)
{
new NightmareKamaloka();
}
}
Are your bridges open by default? or what will happen as a trigger for the appearance of a bridge?
I don’t see any connection to RB


Online gigilo1968

  • Black Sheep
  • Elder
  • ****
    • Posts: 188
    • Hi5
When enter instance all door need make closed and set triggers

   private static final int DOOR_1_CL = 18170102;
   private static final int DOOR_2_CL = 18170202;
   private static final int DOOR_3_CL = 18170302;
   private static final int DOOR_4_CL = 18170402;

when kill each boss open door and appearance bridge triggers

   private static final int DOOR_1_OP = 18170104;
   private static final int DOOR_2_OP = 18170204;
   private static final int DOOR_3_OP = 18170304;
   private static final int DOOR_4_OP = 18170404;

Example my code for first boss when kill

Code: [Select]
                                case MINO: // 105
case NOEGG: // 110
case GLAKIAS: // 115
{
world.openCloseDoor(DOOR_1, true);
world.broadcastPacket(new OnEventTrigger(DOOR_1_CL, false));
world.broadcastPacket(new OnEventTrigger(DOOR_1_OP, true));
break;
}

P.S. and in this chronicle is one instance for all level: TEMPLATE_ID = 321;


Offline Black Judge

  • Heir
  • **
    • Posts: 36
When enter instance all door need make closed and set triggers

   private static final int DOOR_1_CL = 18170102;
   private static final int DOOR_2_CL = 18170202;
   private static final int DOOR_3_CL = 18170302;
   private static final int DOOR_4_CL = 18170402;

when kill each boss open door and appearance bridge triggers

   private static final int DOOR_1_OP = 18170104;
   private static final int DOOR_2_OP = 18170204;
   private static final int DOOR_3_OP = 18170304;
   private static final int DOOR_4_OP = 18170404;

Example my code for first boss when kill

Code: [Select]
                                case MINO: // 105
case NOEGG: // 110
case GLAKIAS: // 115
{
world.openCloseDoor(DOOR_1, true);
world.broadcastPacket(new OnEventTrigger(DOOR_1_CL, false));
world.broadcastPacket(new OnEventTrigger(DOOR_1_OP, true));
break;
}

P.S. and in this chronicle is one instance for all level: TEMPLATE_ID = 321;

this is how it should be?

Code: [Select]
private static final int DOOR_1 = 18170002;
private static final int DOOR_2 = 18170004;
private static final int DOOR_3 = 18170006;
private static final int DOOR_4 = 18170008;

private static final int DOOR_1_CL = 18170102;
private static final int DOOR_2_CL = 18170202;
private static final int DOOR_3_CL = 18170302;
private static final int DOOR_4_CL = 18170402;

private static final int DOOR_1_OP = 18170104;
private static final int DOOR_2_OP = 18170204;
private static final int DOOR_3_OP = 18170304;
private static final int DOOR_4_OP = 18170404;


Offline Black Judge

  • Heir
  • **
    • Posts: 36

P.S. and in this chronicle is one instance for all level: TEMPLATE_ID = 321;

he won’t be able to just change everything, the logic of the script is different, Benusta doesn’t appear inside, which means at least there are missing lines
Code: [Select]
private static final int BENUSTA = 34542;
private static final int INNER_BENUSTA = 34653;
so there are two TEMPLATE_ID
in its version there is no lvl 115 instance

Code: [Select]
private static final int[] TEMPLATE_IDS =
{
258, // lv. 105
};
if I'm not mistaken this is from Fafurion


Online gigilo1968

  • Black Sheep
  • Elder
  • ****
    • Posts: 188
    • Hi5