Jump to content
  • 0

[TELEPORT] Cooldown in teleport


Question

Posted

Hey guys,

 

How I can made something like, when I teleport to Baium (from custom GK) it will teleport you in 2 minutes for example.

 

The code for Baium that I made is this one:

 

<td align="center" <a action="bypass -h npc_%objectId%_goto 50242">Baium</a></td>
</tr><br><tr>

 

 

 

Thanks,

 

Regards.

5 answers to this question

Recommended Posts

  • 0
Posted

so you need a countdown like oly ones?

in 45 sec you will be teleported to x,y,z

in 30 mpla mpla

you've been teleported?

 

not something hard,you have to make a new teleport instance.And then check how olympiad's countdown works,and use it there also.

  • 0
Posted

There's the problem, that I dunno how to make new instance.

 

This is the instance that I must use?

 

* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.model.actor.instance;

import java.util.List;
import java.util.logging.Logger;

import javolution.text.TextBuilder;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.model.L2World;
import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad;
import com.l2jfrozen.gameserver.model.multisell.L2Multisell;
import com.l2jfrozen.gameserver.network.SystemMessageId;
import com.l2jfrozen.gameserver.network.serverpackets.ExHeroList;
import com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
import com.l2jfrozen.gameserver.templates.L2NpcTemplate;

public class L2OlympiadManagerInstance extends L2FolkInstance
{
private static Logger _logOlymp = Logger.getLogger(L2OlympiadManagerInstance.class.getName());

private static final int GATE_PASS = Config.ALT_OLY_COMP_RITEM;

public L2OlympiadManagerInstance(int objectId, L2NpcTemplate template)
{
	super(objectId, template);
}

@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
	if(player == null)
		return;

	if(command.startsWith("OlympiadDesc"))
	{
		int val = Integer.parseInt(command.substring(13, 14));
		String suffix = command.substring(14);
		showChatWindow(player, val, suffix);
		suffix = null;
	}
	else if(command.startsWith("OlympiadNoble"))
	{
		if(!player.isNoble() || player.getClassId().getId() < 88)
			return;

		int val = Integer.parseInt(command.substring(14));
		NpcHtmlMessage reply;
		TextBuilder replyMSG;

		switch(val)
		{
			case 1:
				Olympiad.getInstance().unRegisterNoble(player);
				break;
			case 2:
				int classed = 0;
				int nonClassed = 0;
				int[] array = Olympiad.getInstance().getWaitingList();

				if(array != null)
				{
					classed = array[0];
					nonClassed = array[1];
				}

				reply = new NpcHtmlMessage(getObjectId());
				replyMSG = new TextBuilder("<html><body>");
				replyMSG.append("The number of people on the waiting list for " + "Grand Olympiad" + "<center>" + "<img src=\"L2UI.SquareWhite\" width=270 height=1><img src=\"L2UI.SquareBlank\" width=1 height=3>" + "<table width=270 border=0 bgcolor=\"000000\">" + "<tr>" + "<td align=\"left\">General</td>" + "<td align=\"right\">" + classed + "</td>" + "</tr>" + "<tr>" + "<td align=\"left\">Not class-defined</td>" + "<td align=\"right\">" + nonClassed + "</td>" + "</tr>" + "</table><br>" + "<img src=\"L2UI.SquareWhite\" width=270 height=1> <img src=\"L2UI.SquareBlank\" width=1 height=3>" + "<button value=\"Back\" action=\"bypass -h npc_" + getObjectId() + "_OlympiadDesc 2a\" " + "width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");

				replyMSG.append("</body></html>");

				reply.setHtml(replyMSG.toString());
				player.sendPacket(reply);
				break;
			case 3:
				int points = Olympiad.getInstance().getNoblePoints(player.getObjectId());
				if(points >= 0)
				{
					reply = new NpcHtmlMessage(getObjectId());
					replyMSG = new TextBuilder("<html><body>");
					replyMSG.append("There are " + points + " Grand Olympiad " + "points granted for this event.<br><br>" + "<a action=\"bypass -h npc_" + getObjectId() + "_OlympiadDesc 2a\">Return</a>");
					replyMSG.append("</body></html>");

					reply.setHtml(replyMSG.toString());
					player.sendPacket(reply);
				}
				break;
			case 4:
				if(player._active_boxes>1 && !Config.ALLOW_DUALBOX_OLY){

					boolean already_in_oly = false;

					List<String> players_in_boxes = player.active_boxes_characters;

					if(players_in_boxes!=null && players_in_boxes.size()>1)
						for(String character_name: players_in_boxes){
							L2PcInstance actual_player = L2World.getInstance().getPlayer(character_name);

							if (actual_player != null)
							{
								if (actual_player.isInOlympiadMode() || Olympiad.getInstance().isRegistered(actual_player))
								{
									already_in_oly = true;
									break;										
								}
							}
						}

					if(already_in_oly)
						player.sendMessage("Dual Box not allowed in Olympiad Event");
					else
						Olympiad.getInstance().registerNoble(player, false);
					break;
				}
				Olympiad.getInstance().registerNoble(player, false);
				break;
			case 5:
				if(player._active_boxes>1 && !Config.ALLOW_DUALBOX_OLY){

					boolean already_in_oly = false;

					List<String> players_in_boxes = player.active_boxes_characters;

					if(players_in_boxes!=null && players_in_boxes.size()>1)
						for(String character_name: players_in_boxes){
							L2PcInstance actual_player = L2World.getInstance().getPlayer(character_name);

							if (actual_player != null)
							{
								if (actual_player.isInOlympiadMode() || Olympiad.getInstance().isRegistered(actual_player))
								{
									already_in_oly = true;
									break;										
								}
							}
						}

					if(already_in_oly)
						player.sendMessage("Dual Box not allowed in Olympiad Event");
					else
						Olympiad.getInstance().registerNoble(player, true);
					break;
				}
				Olympiad.getInstance().registerNoble(player, true);
				break;
			case 6:
				int passes = Olympiad.getInstance().getNoblessePasses(player.getObjectId());
				if(passes > 0)
				{
					L2ItemInstance item = player.getInventory().addItem("Olympiad", GATE_PASS, passes, player, this);

					InventoryUpdate iu = new InventoryUpdate();
					iu.addModifiedItem(item);
					player.sendPacket(iu);
					iu = null;

					SystemMessage sm = new SystemMessage(SystemMessageId.EARNED_ITEM);
					sm.addNumber(passes);
					sm.addItemName(item.getItemId());
					player.sendPacket(sm);
					item = null;
					sm = null;
				}
				else
				{
					reply = new NpcHtmlMessage(getObjectId());
					replyMSG = new TextBuilder("<html><body>");
					replyMSG.append("Not enough olympiad points, or not currently in Valdation Period");
					replyMSG.append("</body></html>");

					reply.setHtml(replyMSG.toString());
					player.sendPacket(reply);
				}
				break;
			case 7:
				L2Multisell.getInstance().SeparateAndSend(102, player, false, getCastle().getTaxRate());
				break;
			default:
				_logOlymp.warning("Olympiad System: Couldnt send packet for request " + val);
				break;

		}
		reply = null;
		replyMSG = null;
	}
	else if(command.startsWith("Olympiad"))
	{
		int val = Integer.parseInt(command.substring(9, 10));

		NpcHtmlMessage reply = new NpcHtmlMessage(getObjectId());
		TextBuilder replyMSG = new TextBuilder("<html><body>");

		switch(val)
		{
			case 1:
				if(player.isInFunEvent())
				{
					player.sendMessage("You can't do that while in a event");
					return;
				}
				String[] matches = Olympiad.getInstance().getMatchList();
				int stad;
				int showbattle;

				replyMSG.append("Grand Olympiad Games Overview<br><br>" + "* Caution: Please note, if you watch an Olympiad " + "game, the summoning of your Servitors or Pets will be " + "cancelled. Be careful.<br>");

				if(matches == null)
				{
					replyMSG.append("<br>There are no matches at the moment");
				}
				else
				{
					for(String matche : matches)
					{
						showbattle = Integer.parseInt(matche.substring(1, 2));
						stad = Integer.parseInt(matche.substring(4, 5));
						if(showbattle == 1)
						{
							replyMSG.append("<br><a action=\"bypass -h npc_" + getObjectId() + "_Olympiad 3_" + stad + "\">" + matche + "</a>");
						}
					}
				}
				replyMSG.append("</body></html>");

				reply.setHtml(replyMSG.toString());
				player.sendPacket(reply);
				break;
			case 2:
				// for example >> Olympiad 1_88
				int classId = Integer.parseInt(command.substring(11));
				if(classId >= 88)
				{
					replyMSG.append("<center>Grand Olympiad Ranking");
					replyMSG.append("<img src=\"L2UI.SquareWhite\" width=270 height=1><img src=\"L2UI.SquareBlank\" width=1 height=3>");

					List<String> names = Olympiad.getInstance().getClassLeaderBoard(classId);
					if(names.size() != 0)
					{
						replyMSG.append("<table width=270 border=0 bgcolor=\"000000\">");

						int index = 1;

						for(String name : names)
						{
							replyMSG.append("<tr>");
							replyMSG.append("<td align=\"left\">" + index + "</td>");
							replyMSG.append("<td align=\"right\">" + name + "</td>");
							replyMSG.append("</tr>");
							index++;
						}

						replyMSG.append("</table>");
					}

					replyMSG.append("<img src=\"L2UI.SquareWhite\" width=270 height=1> <img src=\"L2UI.SquareBlank\" width=1 height=3>");
					replyMSG.append("</center>");
					replyMSG.append("</body></html>");

					reply.setHtml(replyMSG.toString());
					player.sendPacket(reply);
				}
				break;
			case 3:
				int id = Integer.parseInt(command.substring(11));
				if(player.isInFunEvent())
				{
					player.sendMessage("You can't do that while in a event");
				}
				else
				{
					Olympiad.getInstance().addSpectator(id, player);
				}
				break;
			case 4:
				player.sendPacket(new ExHeroList());
				break;
			default:
				_logOlymp.warning("Olympiad System: Couldnt send packet for request " + val);
				break;
		}
		reply = null;
		replyMSG = null;
	}
	else
	{
		super.onBypassFeedback(player, command);
	}
}

private void showChatWindow(L2PcInstance player, int val, String suffix)
{
	String filename = Olympiad.OLYMPIAD_HTML_FILE;

	filename += "noble_desc" + val;
	filename += suffix != null ? suffix + ".htm" : ".htm";

	if(filename.equals(Olympiad.OLYMPIAD_HTML_FILE + "noble_desc0.htm"))
	{
		filename = Olympiad.OLYMPIAD_HTML_FILE + "noble_main.htm";
	}

	showChatWindow(player, filename);
	filename = null;
}
}

 

I want to ask you something also, i wanna make.. let call it farm 1, with boss 1 in catacombs, its possible to do something like antharas/valakas/baium? I mean, when someone is hitting the raidboss no one can teleport inside the catacomb.

 

 

  • 0
Posted

Forget this, it's stupid try to do something like that when you dont have any skills with java coding.

 

Thanks anyways guys,

 

Regards.

Guest
This topic is now closed to further replies.


  • Posts

    • Looking a datapack developer for 'Essence' - needs to be good with Mobius structure,  Project is using old fork (I think base from crusader). Write Discord to PM.
    • We are not back on 2005, life in our days is harder than before, in complection with other things yes, L2 has not the same look.
    • ⚔️ L2 Nexus — Full-Stack Development for Lineage 2 Servers   One team for everything. Website, admin panel, launcher, server development, hosting, protection — built together, working together.   ━━━━━━━━━━━━━━━━━━━━━   SERVICES:   🌐 Server Website Registration, player cabinet, donate shop, statistics, voting, news. Integrated with your server — live data from game DB.   🛡️ Admin Panel (CMS) — 60 Modules Web panel for GM team: bans, kicks, item management, payments, analytics. Battle Pass, marketplace, anti-bot, churn prediction, Discord/Telegram bots.   🚀 Custom Launcher Electron launcher with delta patcher, CDN delivery, news feed, integrity check, multi-server support. Fully branded.   ⚔️ Java Development Custom modules for L2J / aCis / Lucera / L2Off (PTS). Events, NPCs, instances, balance, quests, skills — any complexity.   🛡️ Hosting & DDoS Protection Server setup, OVH Game DDoS, Cloudflare, monitoring 24/7.   ━━━━━━━━━━━━━━━━━━━━━   PRICING (Website + CMS):   Core — €1,000 (one-time) Website + player cabinet + tickets + live status. 30 days support.   Business — €2,500 (one-time) ⭐ + Donate shop, payment systems, admin panel, RBAC, analytics, bots. Custom design. 90 days priority support.   Enterprise — €5,000+ (custom) + Battle Pass, marketplace, anti-bot, churn, economy, backups, Wiki, API. Managed hosting, SLA 99.9%. 12 months support.   ━━━━━━━━━━━━━━━━━━━━━   JAVA DEVELOPMENT:   • PvP Events .............. from €200 • Custom NPCs ............. from €80 • Donate & Economy ........ from €150 • Instance Zones .......... from €300 • Balance & Skills ........ from €100 • Quests .................. from €250 • Olympiad & Sieges ....... from €200 • PTS Extenders ........... from €150 • Bug Fixes ............... from €50/hr • Custom Systems .......... from €500   ━━━━━━━━━━━━━━━━━━━━━   Platforms: L2J · aCis · Lucera · L2Off/PTS Chronicles: Interlude · High Five · Classic · Essence 📍 Live CMS demo available — message us on Telegram   Telegram: @l2nexus Website: https://l2-nexus.com
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..