Skip to content

Custom Gatekeeper

Featured Replies

hello I have this code:

 

 

Index: D:\eclipse_luna\Workspace\L2jFrozen_GameServer\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2TeleporterInstance.java
===================================================================
--- D:\eclipse_luna\Workspace\L2jFrozen_GameServer\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2TeleporterInstance.java   (revision 1116)
+++ D:\eclipse_luna\Workspace\L2jFrozen_GameServer\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2TeleporterInstance.java   (working copy)

   else
   {
      LOGGER.warn("No teleport destination with id:" + val);
   }
   player.sendPacket(ActionFailed.STATIC_PACKET);
   list = null;
}
   
+@SuppressWarnings("unused")
+private void doPartyTeleport(final L2PcInstance player, final int val)
+{
+   if (player.getParty() == null)
+   {
+      player.sendMessage("You must be in party of 5-9 members to use the teleport!");
+      return;
+   }
+   
+   if (player.getObjectId() != player.getParty().getPartyLeaderOID())
+   {
+      player.sendMessage("You must be party leader to use the teleport!");
+      return;
+   }
+   
+   int NumberPartyMembers = 0;      
+   for (final L2PcInstance temp : player.getParty().getPartyMembers())
+   {
+      NumberPartyMembers++;   
+   }
+   
+   if(NumberPartyMembers < 5 && NumberPartyMembers > 9)
+   {
+      player.sendMessage("You must be in party of 5-9 members to use the teleport!");
+      return;
+   }
+   
+   L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
+   // Teleport ID must be 99999
+   if (list.getTeleId() == 99999)
+   {
+      for (final L2PcInstance temp : player.getParty().getPartyMembers())
+      {
+         temp.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), true);   
+      }
+   }
+}
   
/**
 * 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

And I also created the html: with the id 919192 as it writes:

(just to test it)

 

 

gameserver/data/hml/teleporter/919192.htm

<html>
<body>
<center>
<tr><td><font color="FF40FF">Dungeon Gatekeeper</font></td></tr>
<br>
<tr><td><font color="FF0066">______________________________</font></td></tr>
<br>
<br>
<tr><td><a action="bypass -h npc_%objectId%_goto 50146" msg="811;Saints"><font color="C00080">Saint's</font></a></td></tr>
<tr><td><br></td></tr>
<br>
<br>
<tr><td><font color="FF0066">______________________________</font></td></tr>
</body>
</html>

 

But it doesnt working it teleportes me even if I am alone (I tester it with a single character no GM) Also Plz tell me how to add an item in order to let someone teleport. Happy Chrismtass!

  • Author

ah ok thank you

I thought the id was for the gatekeeper :D ty a lot

  • Author

But I also need a code that enables the teleport only every 24 hours and they will need an item plz help me

  • Author

Hello I did the teleport id 919192 (as I changed it to this) but it doesnt work someone help me plz

It's not working because it's only a void.. And the htm is using goto, which is default action which doesn't even consider your void..

 

You have to create a new bypass which will be used inside htm, for example under partyTp

else if(currentCommand.startsWith("partyTp"))
{
   doPartyTeleport(.. , ..);
}

And lol'ed @ the code, it's so crappy

Edited by SweeTs

  • Author

I dont know that much java :3 plz tell me how to make it with html or the code :/

I already told you. And the reason I won't give you full work done is that you are trying to open a server, while you can't handle such an easy task. It's another fail server for the community.

  • Author

LoL Im not opening a server its just a project as I write and also im not a genius I just started learning so  I need some help :3

LoL Im not opening a server its just a project as I write and also im not a genius I just started learning so  I need some help :3

Take a look at the code, you can't learn anything by applying patches...



@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
if (command.equals("giveTp"))
{
if ((System.currentTimeMillis()-getLastEventTime())/1000/60/60 < 24) //check for 24 hours after instance is done
{
player.sendMessage("Next available date:"+getEventCooldown());
return;
}
 
if (player.getParty() != null)
{
  and continue your checks
 

Edited by Akken

  • 2 weeks later...

com.l2jfrozen.gameserver.model.actor.instance.L2TeleporterInstance.java
 

http://pastebin.com/qZEk59QP

 

And edit the ( player.teleToLocation(-21598, 185328, -5646); )

The use at Gatekeeper HTML

 

<a action="bypass -h npc_%objectId%_party" msg="811;Party Zone">Party Zone</a>

Edited by iSparky

Failado.

 

player.teleToLocation(-21598, 185328, -5646);

 

Only the "player" will be teleported.. Oh you ppl

 

Also, lol at those checks about party leader and party member count.. :troll:

Edited by SweeTs

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.