Jump to content
  • 0

Custom Gatekeeper


alextoti13

Question

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!

Link to comment
Share on other sites

Recommended Posts

  • 0

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
Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

  • 0

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...

Link to comment
Share on other sites

  • 0


@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
Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...