Jump to content

Recommended Posts

Posted
/* 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 com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.managers.TownManager;
import com.l2jfrozen.gameserver.model.L2Character;
import com.l2jfrozen.gameserver.model.zone.L2ZoneType;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfrozen.gameserver.network.serverpackets.ValidateLocation;
import com.l2jfrozen.gameserver.templates.L2NpcTemplate;

import javolution.text.TextBuilder;

public class L2SpecialGatekeeperInstance extends L2FolkInstance
{
 public L2SpecialGatekeeperInstance(int objectId, L2NpcTemplate template)
 {
   super(objectId, template);
 }

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

    if(command.startsWith("giran"))
    {
     player.teleToLocation(82698, 148638, -3473);
    }

    if(command.startsWith("aden"))
    {
     player.teleToLocation(147456, 26886, -2207);
    }

    if(command.startsWith("goddard"))
    {
     player.teleToLocation(147725, -56517, -2780);
    }

    if(command.startsWith("ti"))
    {
     player.teleToLocation(-83838, 242732, -3732);
    }

    if(command.startsWith("elv"))
    {
     player.teleToLocation(45873, 49288, -3059);
    }

    if(command.startsWith("delv"))
    {
     player.teleToLocation(12428, 16551, -4588);
    }

    if(command.startsWith("dwarf"))
    {
     player.teleToLocation(116551, -182493, -1525);
    }

    if(command.startsWith("orc"))
    {
     player.teleToLocation(-44133, -113911, -244);
    }

    if(command.startsWith("oren"))
    {
     player.teleToLocation(82321, 55139, -1529);
    }

    if(command.startsWith("dion"))
    {
     player.teleToLocation(18748, 145437, -3132);
    }

    if(command.startsWith("heine"))
    {
     player.teleToLocation(111383, 219107, -3546);
    }

    if(command.startsWith("gludio"))
    {
     player.teleToLocation(-14225, 123540, -3121);
    }

    if(command.startsWith("stut"))
    {
     player.teleToLocation(87358, -141982, -1336);
    }

    if(command.startsWith("gludin"))
    {
     player.teleToLocation(-83063, 150791, -3128);
    }

    if(command.startsWith("floran"))
    {
     player.teleToLocation(17144, 170156, -3502);
    }

    if(command.startsWith("rune"))
    {
     player.teleToLocation(44070, -50243, -796);
    }

 }

 @Override
public void onAction(L2PcInstance player)
 {
   if (!canTarget(player)) {
     return;
   }

   if (this != player.getTarget())
   {
     player.setTarget(this);

     player.sendPacket(new MyTargetSelected(getObjectId(), 0));

     player.sendPacket(new ValidateLocation(this));
   }
   else if (!canInteract(player))
   {
     player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
   }
   else
   {
     showHtmlWindow(player);
   }

   player.sendPacket(new ActionFailed());
 }

 private void showHtmlWindow(L2PcInstance activeChar)
 {
   NpcHtmlMessage nhm = new NpcHtmlMessage(5);
   TextBuilder tb = new TextBuilder("");

   tb.append("<html><head><title>Global Gatekeeper</title></head><body>");
   tb.append("<center>");
   tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">");
   tb.append("<tr>");
   tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Advanced Gatekeeper</font>");  
   tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, here you can spy who's where.</td>");
   tb.append("</tr>");
   tb.append("</table>");
   tb.append("</center>");
   tb.append("<center>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Where you gonna teleport " + activeChar.getName()+".</font><br>");  
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Talking I. : " + pewpew(2)+".</font>"); 
   tb.append("<button value=\"Talking I.\" action=\"bypass -h npc_" + getObjectId() + "_ti\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Elven V. : " + pewpew(3)+".</font>"); 
   tb.append("<button value=\"Elven V.\" action=\"bypass -h npc_" + getObjectId() + "_elv\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside D.Elven V. : " + pewpew(1)+".</font>"); 
   tb.append("<button value=\"D.Elven V.\" action=\"bypass -h npc_" + getObjectId() + "_delv\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Orc V. : " + pewpew(4)+".</font>"); 
   tb.append("<button value=\"Orc V.\" action=\"bypass -h npc_" + getObjectId() + "_orc\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Dwarven V. : " + pewpew(6)+".</font>"); 
   tb.append("<button value=\"Dwarven V.\" action=\"bypass -h npc_" + getObjectId() + "_dwarf\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Giran : " + pewpew(9)+".</font>"); 
   tb.append("<button value=\"Giran\" action=\"bypass -h npc_" + getObjectId() + "_giran\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Aden : " + pewpew(12)+".</font>"); 
   tb.append("<button value=\"Aden\" action=\"bypass -h npc_" + getObjectId() + "_aden\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Gludio : " + pewpew(7)+".</font>");  
   tb.append("<button value=\"Gludio\" action=\"bypass -h npc_" + getObjectId() + "_gludio\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Gludin : " + pewpew(5)+".</font>");  
   tb.append("<button value=\"Gludin\" action=\"bypass -h npc_" + getObjectId() + "_gludin\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Dion : " + pewpew(8)+".</font>");  
   tb.append("<button value=\"Dion\" action=\"bypass -h npc_" + getObjectId() + "_dion\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Oren : " + pewpew(10)+".</font>");  
   tb.append("<button value=\"Oren\" action=\"bypass -h npc_" + getObjectId() + "_oren\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Heine : " + pewpew(15)+".</font>");  
   tb.append("<button value=\"Heine\" action=\"bypass -h npc_" + getObjectId() + "_heine\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Rune : " + pewpew(14)+".</font>");  
   tb.append("<button value=\"Rune\" action=\"bypass -h npc_" + getObjectId() + "_rune\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Goddard : " + pewpew(13)+".</font>");  
   tb.append("<button value=\"Goddard\" action=\"bypass -h npc_" + getObjectId() + "_goddard\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Schuttgart : " + pewpew(17)+".</font>");  
   tb.append("<button value=\"Schuttgart\" action=\"bypass -h npc_" + getObjectId() + "_stut\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Floran : " + pewpew(16)+".</font>");  
   tb.append("<button value=\"Floran\" action=\"bypass -h npc_" + getObjectId() + "_floran\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>");
   tb.append("</center>");
   tb.append("<center>");
   tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center>");
   tb.append("<font color=\"FF6600\">www.private.com</font>");  
   tb.append("</center>");
   tb.append("</body></html>");

   nhm.setHtml(tb.toString());
   activeChar.sendPacket(nhm);

   activeChar.sendPacket(new ActionFailed());
 }

 public static int pewpew(int bitch)
 {
  L2ZoneType zone = TownManager.getInstance().getTown(bitch);
int i = 0;
if(zone != null)
{
for (L2Character character : zone.getCharactersInside().values())
                 if (character instanceof L2PcInstance)
                     i++;
                 return i;
}
return -1;
 }



}

is there any Developer , that can make  this gatekeeper instance to be editable in html npc.!!


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
Reply to this topic...

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