-
Posts
27 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Dhrayn
-
Looking for classic interface for interlude without any mods (enchant,augs,etc), only visual classic (xp bar, skill bar, menu bar,etc). If anyone have this simple interface, please share with me.
-
Delete this 2?
-
Hello peoples! How to make allow teleport in towns on siege? For example, if now aden castle siege time, and allow teleport to aden?
-
Hello. I want to remove some clan halls from the manager, and set min price 10000 and max 1000000 adena for bid. Where i can find and change thats options?
-
Project Setup for a new Hi5 pvp server
Dhrayn replied to Obesession's topic in Server Development Discussion [L2J]
Only L2jSunrise. -
no siege on this saturday. Maybe it's gonna start every week only after first siege?
-
getCastle().getSiegeDate().add(Calendar.DAY_OF_MONTH, 14); if 14 change to 7 ?
-
so if i make like that, it should be every week? Giran/Aden/Dion? Or i need to delete anything more?
-
Ok stop boys. :D Now help me to make that Giran/Aden/Dion every saturday sieges.
-
melron, sou basically 1 week is 604800000 ?
-
so how to make? :D
-
Castle table screen:
-
Yea? How, because i'm also want to make Giran/Aden/Dion every 1 week on saturday.
-
How on l2jfrozen make only Giran/Aden/Dion castle sieges? If i delete from Castle.sql everything and leave only Giran/Aden/Dion, then i got error in console and can't use any castle managers npc:
-
and how it must looks like? Because i don't know what to do here.
-
Here is nothing with that: public final class L2TeleporterInstance extends L2FolkInstance { // private static Logger LOGGER = Logger.getLogger(L2TeleporterInstance.class); /** The Constant COND_ALL_FALSE. */ private static final int COND_ALL_FALSE = 0; /** The Constant COND_BUSY_BECAUSE_OF_SIEGE. */ private static final int COND_BUSY_BECAUSE_OF_SIEGE = 1; /** The Constant COND_OWNER. */ private static final int COND_OWNER = 2; /** The Constant COND_REGULAR. */ private static final int COND_REGULAR = 3; /** * Instantiates a new l2 teleporter instance. * @param objectId the object id * @param template the template */ public L2TeleporterInstance(final int objectId, final L2NpcTemplate template) { super(objectId, template); } /* * (non-Javadoc) * @see com.l2jfrozen.gameserver.model.actor.instance.L2FolkInstance#onBypassFeedback(com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance, java.lang.String) */ @Override public void onBypassFeedback(final L2PcInstance player, final String command) { player.sendPacket(ActionFailed.STATIC_PACKET); if (Olympiad.getInstance().isRegisteredInComp(player)) { player.sendMessage("You are not allowed to use a teleport while registered in olympiad game."); return; } if (player.isAio() && !Config.ALLOW_AIO_USE_GK) { player.sendMessage("Aio Buffers Can't Use Teleports"); return; } final int condition = validateCondition(player); StringTokenizer st = new StringTokenizer(command, " "); String actualCommand = st.nextToken(); // Get actual command if (actualCommand.equalsIgnoreCase("goto")) { final int npcId = getTemplate().npcId; switch (npcId) { case 31095: // case 31096: // case 31097: // case 31098: // Enter Necropolises case 31099: // case 31100: // case 31101: // case 31102: // case 31114: // case 31115: // case 31116: // Enter Catacombs case 31117: // case 31118: // case 31119: // player.setIsIn7sDungeon(true); break; case 31103: // case 31104: // case 31105: // case 31106: // Exit Necropolises case 31107: // case 31108: // case 31109: // case 31110: // case 31120: // case 31121: // case 31122: // Exit Catacombs case 31123: // case 31124: // case 31125: // player.setIsIn7sDungeon(false); break; } if (st.countTokens() <= 0) return; final int whereTo = Integer.parseInt(st.nextToken()); if (condition == COND_REGULAR) { doTeleport(player, whereTo); return; } else if (condition == COND_OWNER) { int minPrivilegeLevel = 0; // NOTE: Replace 0 with highest level when privilege level is implemented if (st.countTokens() >= 1) { minPrivilegeLevel = Integer.parseInt(st.nextToken()); } if (10 >= minPrivilegeLevel) { doTeleport(player, whereTo); } else { player.sendMessage("You don't have the sufficient access level to teleport there."); } return; } } st = null; actualCommand = null; super.onBypassFeedback(player, command); } /* * (non-Javadoc) * @see com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance#getHtmlPath(int, int) */ @Override public String getHtmlPath(final int npcId, final int val) { String pom = ""; if (val == 0) { pom = "" + npcId; } else { pom = npcId + "-" + val; } return "data/html/teleporter/" + pom + ".htm"; } /* * (non-Javadoc) * @see com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance#showChatWindow(com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance) */ @Override public void showChatWindow(final L2PcInstance player) { String filename = "data/html/teleporter/castleteleporter-no.htm"; final int condition = validateCondition(player); if (condition == COND_REGULAR) { super.showChatWindow(player); return; } else if (condition > COND_ALL_FALSE) { if (condition == COND_BUSY_BECAUSE_OF_SIEGE) { filename = "data/html/teleporter/castleteleporter-busy.htm"; // Busy because of siege } else if (condition == COND_OWNER) { filename = getHtmlPath(getNpcId(), 0); // Owner message window } } NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile(filename); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%npcname%", getName()); player.sendPacket(html); filename = null; html = null; } /** * Do teleport. * @param player the player * @param val the val */ private void doTeleport(final L2PcInstance player, final int val) { L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val); if (list != null) { // you cannot teleport to village that is in siege if (!SiegeManager.getInstance().is_teleport_to_siege_allowed() && SiegeManager.getInstance().getSiege(list.getLocX(), list.getLocY(), list.getLocZ()) != null && !player.isNoble()) { player.sendPacket(new SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE)); return; } else if (!SiegeManager.getInstance().is_teleport_to_siege_town_allowed() && TownManager.getInstance().townHasCastleInSiege(list.getLocX(), list.getLocY()) && !player.isNoble()) { player.sendPacket(new SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE)); return; } else if (!player.isGM() && !Config.FLAGED_PLAYER_CAN_USE_GK && player.getPvpFlag() > 0) { player.sendMessage("Don't run from PvP! You will be able to use the teleporter only after your flag is gone."); return; } else if (player.isAio() && !Config.ALLOW_AIO_USE_GK) { player.sendMessage("Aio Buffers are not allowed to use GateKeepers."); return; } else if (!Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK && player.getKarma() > 0) // karma { SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2); sm.addString("Go away, you're not welcome here."); player.sendPacket(sm); sm = null; return; } else if (list.getIsForNoble() && !player.isNoble()) { String filename = "data/html/teleporter/nobleteleporter-no.htm"; NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile(filename); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%npcname%", getName()); player.sendPacket(html); html = null; filename = null; return; } else if (player.isAlikeDead()) { player.sendMessage("You can't use teleport when you are dead."); return; } else if (player.isSitting()) { player.sendMessage("You can't use teleport when you are sitting."); return; } else if (list.getTeleId() == 9982 && list.getTeleId() == 9983 && list.getTeleId() == 9984 && getNpcId() == 30483 && player.getLevel() >= Config.CRUMA_TOWER_LEVEL_RESTRICT) { // Chars level XX can't enter in Cruma Tower. Retail: level 56 and above final int maxlvl = Config.CRUMA_TOWER_LEVEL_RESTRICT; String filename = "data/html/teleporter/30483-biglvl.htm"; NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile(filename); html.replace("%allowedmaxlvl%", "" + maxlvl + ""); player.sendPacket(html); filename = null; html = null; return; } // Lilith and Anakim have BossZone, so players must be allowed to enter else if (list.getTeleId() == 450) { if (Config.DEBUG) { LOGGER.debug("Teleporting player " + player.getName() + " to new location: " + list.getLocX() + ":" + list.getLocY() + ":" + list.getLocZ()); } final L2BossZone _zone = GrandBossManager.getInstance().getZone(list.getLocX(), list.getLocY(), list.getLocZ()); _zone.allowPlayerEntry(player, 300); player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), true); } else if (!list.getIsForNoble() && (Config.ALT_GAME_FREE_TELEPORT || player.reduceAdena("Teleport", list.getPrice(), this, true))) { if (Config.DEBUG) { LOGGER.debug("Teleporting player " + player.getName() + " to new location: " + list.getLocX() + ":" + list.getLocY() + ":" + list.getLocZ()); } player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), true); } else if (list.getIsForNoble() && (Config.ALT_GAME_FREE_TELEPORT || player.destroyItemByItemId("Noble Teleport", 6651, list.getPrice(), this, true))) { if (Config.DEBUG) { LOGGER.debug("Teleporting player " + player.getName() + " to new location: " + list.getLocX() + ":" + list.getLocY() + ":" + list.getLocZ()); } player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), true); } } else { LOGGER.warn("No teleport destination with id:" + val); } player.sendPacket(ActionFailed.STATIC_PACKET); list = null; } /** * Validate condition. * @param player the player * @return the int */ private int validateCondition(final L2PcInstance player) { if (CastleManager.getInstance().getCastleIndex(this) < 0) // Teleporter isn't on castle ground return COND_REGULAR; // Regular access else if (getCastle().getSiege().getIsInProgress()) // Teleporter is on castle ground and siege is in progress return COND_BUSY_BECAUSE_OF_SIEGE; // Busy because of siege else if (player.getClan() != null) // Teleporter is on castle ground and player is in a clan { if (getCastle().getOwnerId() == player.getClanId()) // Clan owns castle return COND_OWNER; // Owner } return COND_ALL_FALSE; } }
-
Hello. I want to ask how to make using gatekeeper teleports like bsoe animation?
-
Help Castle Siege and augment
Dhrayn replied to l2fire's question in Request Server Development Help [L2J]
1. Iš navicat 'castle' table ištrink visass pilis tik palik savo norimą. 2. iš gameserver/data/stats/skills/ xml failų ištrink nereikalingus augmentus pagal id. -
Good luck with your project.
-
Help .AI Loader problem
Dhrayn replied to l2fire's question in Request Server Development Help [L2J]
aš tau siūlau daryti taip. Perkelti visus epic iš grandboss datos į raidboss_spawnlist, ir tarp npc skilties visus juos pakeisti iš GrandBoss į RaidBoss, ir problema bus išpsręsta. Aš kažkada taip dariau, jokių problemų. -
I have problem with Seven Signs register. How to fix it? Adding screens:
-
Thank you!
-
Did that setup working on l2jacis?
-
Hello. I'm using l2jacis platform, and i have one question from the config. It's about Grand Bosses respawn time. # ------------------------------------------------------------ # Valakas # ------------------------------------------------------------ # Interval time of Valakas. Value is hour. ValakasSpawnInterval = 10 # Random interval. Value is hour. ValakasRandomSpawn = 2 # Delay of appearance time of Valakas. Value is minute. ValakasWaitTime = 30 This is Valakas settings. Spawn Interval this is normal respawn time yes? (10h) Second Random Spawn i'ts mean will be max +-2h? For example, Valakas will respawn from 10h to 12h? And what is the last one, Valakas Wait Time?