Jump to content
  • 0

[Help]Bypass Problem


phantoml2

Question

 

bypass -h voice .telsolozonepackage com.l2jfrozen.gameserver.handler.voicedcommandhandlers;

 

import com.l2jfrozen.gameserver.custom.SoloZoneManager;

import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

import com.l2jfrozen.gameserver.taskmanager.AttackStanceTaskManager;

import com.l2jfrozen.util.random.Rnd;

 

public class PvPZone implements IVoicedCommandHandler

{

    private static final String[] VOICED_COMMANDS =

    {

        "pvpzone",

        "telsolozone"

    };

 

    @Override

    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)

    {

        if (activeChar.isInOlympiadMode())

        {

            activeChar.sendMessage("You can not use this is Command in Olympiad!");

            return false;

        }

 

        if (activeChar.isInFunEvent())

        {

            activeChar.sendMessage("You can not use this is command in Event.");

            return false;

        }

 

        if (command.equalsIgnoreCase("pvpzone"))

        {

            SoloZoneManager.getInstance().showhtmlmenu(activeChar);

        }

        else if (command.equalsIgnoreCase("telsolozone"))

        {

            if (AttackStanceTaskManager.getInstance().get(activeChar))

            {

                activeChar.sendMessage("You can't use Command while you're in combat.");

                return false;

            }

            int[][] spawn = SoloZoneManager.getInstance().getZone().getSpawn();

            int[] loc = spawn[Rnd.get(spawn.length)];

            int driftx = Rnd.get(-80, 80);

            int drifty = Rnd.get(-80, 80);

            activeChar.teleToLocation(loc[0] + driftx, loc[1] + drifty, loc[2]);

        }

        return true;

    }

 

    @Override

    public String[] getVoicedCommandList()

    {

        return VOICED_COMMANDS;

    }

}

 

 

i use this command .pvpzone it opens me a menu i press go to pvp zone but nothing happens but if i write .telsolozone i goes me to the chaotic zone and the bypass is this bypass -h voice .telsolozone but when i add this byspass to the gk it doesn't work too neither gk neither .pvpzone command any advice?

Edited by phantoml2
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

create one more ->  else if (_command.startsWith("pvpTeleport"))

 

and inside of this bypass write your teleport method'

then your bypass

<button value=\"PvP Zone\" action=\"bypass -h voice .telsolozone\"

 

should be 

 

<button value=\"PvP Zone\" action=\"bypass -h pvpTeleport\"

thank you for your help @reborn12 fixed it big thanks to him

Problem Solved

Link to comment
Share on other sites

  • 0

bypasses seems right if you put .pvpzone will pop up the window and with telsolozone it telepor player to zone

yes but window pop up and when i press .telsolozone it goes me there but when window pop up with the .pvpzone i press to teleport me there and nothing happens

Link to comment
Share on other sites

  • 0

Show us showhtmlmenu(L2Pcinstance player) method in this package com.l2jfrozen.gameserver.custom.SoloZoneManager.

 

        NpcHtmlMessage nhm = new NpcHtmlMessage(activeChar.getObjectId());

        StringBuilder tb = new StringBuilder(2000);

 

        tb.append("<html><head></head><body><center>");

        tb.append("<center><img src=\"L2UI.SquareGray\" width=\"295\" height=\"1\"></center>");

        tb.append("<table width=300 height=20 bgcolor=000000 border=0 cellspacing=0 cellpadding=0>");

        tb.append("<tr><td align=center><font color=\"LEVEL\">PvP Zone Panel</font></td></tr></table>");

        tb.append("<center><img src=\"L2UI.SquareGray\" width=\"295\" height=\"1\"></center>");

        tb.append("<img src=\"l2salem.logo\" width=\"300\" height=\"100\"/>");

        tb.append("<center><img src=\"L2UI.SquareGray\" width=\"295\" height=\"1\"></center><br>");

        tb.append("<font color=FF0000>Change PvP Zone: </font>Hour's:" + numHours + " Minute's: " + numMins + " Second's: " + numSecs + ".");

        tb.append("<br>");

        tb.append("<center><img src=\"L2UI.SquareGray\" width=\"295\" height=\"1\"></center>");

        tb.append("<table width=300 height=20 bgcolor=000000 border=0 cellspacing=0 cellpadding=0>");

        tb.append("<tr><td align=center><font color=909090>Current PvP Zone: </font>" + getName() + "</font></td></tr></table>");

        tb.append("<center><img src=\"L2UI.SquareGray\" width=\"295\" height=\"1\"></center><br>");

        tb.append("<font color=FF0000>Next PvP Zone: </font>" + getNextName());

        tb.append("<br>");

        tb.append("<center><img src=\"L2UI.SquareGray\" width=\"295\" height=\"1\"></center>");

        tb.append("<table width=300 height=20 bgcolor=000000 border=0 cellspacing=0 cellpadding=0>");

        tb.append("<tr><td align=center><font color=\"909090\">Players Inside: </font>" + i + "</td></tr></table>");

        tb.append("<center><img src=\"L2UI.SquareGray\" width=\"295\" height=\"1\"></center><br>");

        tb.append("<br>");

        tb.append("<table width=250 height=32>");

        tb.append("<tr>");

        tb.append("<td></td><td></td>");

        // if(!(activeChar.getPvpKills() <= 1))

        tb.append("<td align=center><button value=\"PvP Zone\" action=\"bypass -h voice .telsolozone\" width=161 height=20 back=\"l2salem.161\" fore=\"l2salem.160\"></td>");

        // else

        // tb.append("<td><font color=\"FF0000\">You need 1 PvP in order to Enter in Solo Zone</td>");

        tb.append("</tr>");

        tb.append("</table>");

        tb.append("<br>");

        tb.append("<br>");

        tb.append("<br>");

        tb.append("<br>");

        tb.append("<br>");

        tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>");

        tb.append("<table bgcolor=000000 width=300");

        tb.append("<tr>");

        tb.append("<td><center><font color=\"545145\">http://L2Salem.com</font></center></td>");

        tb.append("</tr>");

        tb.append("</table>");

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

        nhm.setHtml(tb.toString());

        activeChar.sendPacket(nhm);

    }

Link to comment
Share on other sites

  • 0

value=\"PvP Zone\" action=\"bypass -h voice .telsolozone\"

 

Check RequestBypassToServer.java in clientpackets if you got this bypass voice

Link to comment
Share on other sites

  • 0

value=\"PvP Zone\" action=\"bypass -h voice .telsolozone\"

 

Check RequestBypassToServer.java in clientpackets if you got this bypass voice

 

/*

 * L2jFrozen Project - www.l2jfrozen.com

 *

 * 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.network.clientpackets;

 

import org.apache.log4j.Logger;

 

import com.l2jfrozen.Config;

import com.l2jfrozen.gameserver.ai.CtrlIntention;

import com.l2jfrozen.gameserver.communitybbs.CommunityBoard;

import com.l2jfrozen.gameserver.datatables.sql.AdminCommandAccessRights;

import com.l2jfrozen.gameserver.handler.AdminCommandHandler;

import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;

import com.l2jfrozen.gameserver.handler.custom.CustomBypassHandler;

import com.l2jfrozen.gameserver.managers.CastleManager;

import com.l2jfrozen.gameserver.model.L2Object;

import com.l2jfrozen.gameserver.model.L2World;

import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2SymbolMakerInstance;

import com.l2jfrozen.gameserver.model.actor.position.L2CharPosition;

import com.l2jfrozen.gameserver.model.entity.event.CTF;

import com.l2jfrozen.gameserver.model.entity.event.DM;

import com.l2jfrozen.gameserver.model.entity.event.L2Event;

import com.l2jfrozen.gameserver.model.entity.event.TvT;

import com.l2jfrozen.gameserver.model.entity.event.VIP;

import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad;

import com.l2jfrozen.gameserver.model.entity.siege.Castle;

import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;

import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;

import com.l2jfrozen.gameserver.network.serverpackets.SiegeInfo;

import com.l2jfrozen.gameserver.util.GMAudit;

 

public final class RequestBypassToServer extends L2GameClientPacket

{

    private static Logger LOGGER = Logger.getLogger(RequestBypassToServer.class);

    

    // S

    private String _command;

    

    @Override

    protected void readImpl()

    {

        _command = readS();

    }

    

    @Override

    protected void runImpl()

    {

        final L2PcInstance activeChar = getClient().getActiveChar();

        

        if (activeChar == null)

            return;

        

        if (!getClient().getFloodProtectors().getServerBypass().tryPerformAction(_command))

            return;

        

        try

        {

            if (_command.startsWith("admin_"))

            {

                // DaDummy: this way we LOGGER _every_ admincommand with all related info

                String command;

                

                if (_command.contains(" "))

                {

                    command = _command.substring(0, _command.indexOf(" "));

                }

                else

                {

                    command = _command;

                }

                

                final IAdminCommandHandler ach = AdminCommandHandler.getInstance().getAdminCommandHandler(command);

                

                if (ach == null)

                {

                    if (activeChar.isGM())

                    {

                        activeChar.sendMessage("The command " + command + " does not exists!");

                    }

                    

                    LOGGER.warn("No handler registered for admin command '" + command + "'");

                    return;

                }

                

                if (!AdminCommandAccessRights.getInstance().hasAccess(command, activeChar.getAccessLevel()))

                {

                    activeChar.sendMessage("You don't have the access right to use this command!");

                    if (Config.DEBUG)

                    {

                        LOGGER.warn("Character " + activeChar.getName() + " tried to use admin command " + command + ", but doesn't have access to it!");

                    }

                    return;

                }

                

                if (Config.GMAUDIT)

                {

                    GMAudit.auditGMAction(activeChar.getName() + " [" + activeChar.getObjectId() + "]", command, (activeChar.getTarget() != null ? activeChar.getTarget().getName() : "no-target"), _command.replace(command, ""));

                    

                }

                

                ach.useAdminCommand(_command, activeChar);

            }

            else if (_command.equals("come_here") && activeChar.isGM())

            {

                comeHere(activeChar);

            }

            else if (_command.startsWith("player_help "))

            {

                playerHelp(activeChar, _command.substring(12));

            }

            

            else if (_command.startsWith("siege_aden"))

            {

                Castle castle = CastleManager.getInstance().getCastleById(5);

                if(castle != null)

                activeChar.sendPacket(new SiegeInfo(castle));

            }

            else if (_command.startsWith("siege_giran"))

            {

                    Castle castle = CastleManager.getInstance().getCastleById(3);

                    if(castle != null)

                        activeChar.sendPacket(new SiegeInfo(castle));

            }

            else if (_command.startsWith("siege_goddard"))

            {

                    Castle castle = CastleManager.getInstance().getCastleById(7);

                    if(castle != null)

                        activeChar.sendPacket(new SiegeInfo(castle));

            }

            else if (_command.startsWith("siege_rune"))

            {

                    Castle castle = CastleManager.getInstance().getCastleById(8);

                    if(castle != null)

                        activeChar.sendPacket(new SiegeInfo(castle));

            }

            else if (_command.startsWith("siege_shuttgart"))

            {

                    Castle castle = CastleManager.getInstance().getCastleById(9);

                    if(castle != null)

                        activeChar.sendPacket(new SiegeInfo(castle));

            }

            else if (_command.startsWith("siege_oren"))

            {

                    Castle castle = CastleManager.getInstance().getCastleById(4);

                    if(castle != null)

                        activeChar.sendPacket(new SiegeInfo(castle));

            }

            else if (_command.startsWith("siege_dion"))

            {

                Castle castle = CastleManager.getInstance().getCastleById(2);

                if(castle != null)

                    activeChar.sendPacket(new SiegeInfo(castle));

            }

            else if (_command.startsWith("siege_gludio"))

            {

                Castle castle = CastleManager.getInstance().getCastleById(1);

                if(castle != null)

                    activeChar.sendPacket(new SiegeInfo(castle));

            }

            else if (_command.startsWith("siege_innadril"))

            {

                Castle castle = CastleManager.getInstance().getCastleById(6);

                if(castle != null)

                    activeChar.sendPacket(new SiegeInfo(castle));

            }    

            else if (_command.startsWith("npc_"))

            {

                if (!activeChar.validateBypass(_command))

                    return;

                

                final int endOfId = _command.indexOf('_', 5);

                String id;

                

                if (endOfId > 0)

                {

                    id = _command.substring(4, endOfId);

                }

                else

                {

                    id = _command.substring(4);

                }

                

                try

                {

                    final L2Object object = L2World.getInstance().findObject(Integer.parseInt(id));

                    

                    if (_command.substring(endOfId + 1).startsWith("event_participate"))

                    {

                        L2Event.inscribePlayer(activeChar);

                    }

                    else if (_command.substring(endOfId + 1).startsWith("tvt_player_join "))

                    {

                        final String teamName = _command.substring(endOfId + 1).substring(16);

                        

                        if (TvT.is_joining())

                        {

                            TvT.addPlayer(activeChar, teamName);

                        }

                        else

                        {

                            activeChar.sendMessage("The event is already started. You can not join now!");

                        }

                    }

                    

                    else if (_command.substring(endOfId + 1).startsWith("tvt_player_leave"))

                    {

                        if (TvT.is_joining())

                        {

                            TvT.removePlayer(activeChar);

                        }

                        else

                        {

                            activeChar.sendMessage("The event is already started. You can not leave now!");

                        }

                    }

                    

                    else if (_command.substring(endOfId + 1).startsWith("dmevent_player_join"))

                    {

                        if (DM.is_joining())

                            DM.addPlayer(activeChar);

                        else

                            activeChar.sendMessage("The event is already started. You can't join now!");

                    }

                    

                    else if (_command.substring(endOfId + 1).startsWith("dmevent_player_leave"))

                    {

                        if (DM.is_joining())

                            DM.removePlayer(activeChar);

                        else

                            activeChar.sendMessage("The event is already started. You can't leave now!");

                    }

                    

                    else if (_command.substring(endOfId + 1).startsWith("ctf_player_join "))

                    {

                        final String teamName = _command.substring(endOfId + 1).substring(16);

                        if (CTF.is_joining())

                            CTF.addPlayer(activeChar, teamName);

                        else

                            activeChar.sendMessage("The event is already started. You can't join now!");

                    }

                    

                    else if (_command.substring(endOfId + 1).startsWith("ctf_player_leave"))

                    {

                        if (CTF.is_joining())

                            CTF.removePlayer(activeChar);

                        else

                            activeChar.sendMessage("The event is already started. You can't leave now!");

                    }

                    

                    if (_command.substring(endOfId + 1).startsWith("vip_joinVIPTeam"))

                    {

                        VIP.addPlayerVIP(activeChar);

                    }

                    

                    if (_command.substring(endOfId + 1).startsWith("vip_joinNotVIPTeam"))

                    {

                        VIP.addPlayerNotVIP(activeChar);

                    }

                    

                    if (_command.substring(endOfId + 1).startsWith("vip_finishVIP"))

                    {

                        VIP.vipWin(activeChar);

                    }

                    

                    if (_command.substring(endOfId + 1).startsWith("event_participate"))

                    {

                        L2Event.inscribePlayer(activeChar);

                    }

                    

                    else if ((Config.ALLOW_CLASS_MASTERS && Config.ALLOW_REMOTE_CLASS_MASTERS && object instanceof L2ClassMasterInstance) || (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false)))

                    {

                        ((L2NpcInstance) object).onBypassFeedback(activeChar, _command.substring(endOfId + 1));

                    }

                    

                    activeChar.sendPacket(ActionFailed.STATIC_PACKET);

                }

                catch (final NumberFormatException nfe)

                {

                    if (Config.ENABLE_ALL_EXCEPTIONS)

                        nfe.printStackTrace();

                    

                }

            }

            // Draw a Symbol

            else if (_command.equals("Draw"))

            {

                final L2Object object = activeChar.getTarget();

                if (object instanceof L2NpcInstance)

                {

                    ((L2SymbolMakerInstance) object).onBypassFeedback(activeChar, _command);

                }

            }

            else if (_command.equals("RemoveList"))

            {

                final L2Object object = activeChar.getTarget();

                if (object instanceof L2NpcInstance)

                {

                    ((L2SymbolMakerInstance) object).onBypassFeedback(activeChar, _command);

                }

            }

            else if (_command.equals("Remove "))

            {

                final L2Object object = activeChar.getTarget();

                

                if (object instanceof L2NpcInstance)

                {

                    ((L2SymbolMakerInstance) object).onBypassFeedback(activeChar, _command);

                }

            }

            // Navigate throught Manor windows

            else if (_command.startsWith("manor_menu_select?"))

            {

                final L2Object object = activeChar.getTarget();

                if (object instanceof L2NpcInstance)

                {

                    ((L2NpcInstance) object).onBypassFeedback(activeChar, _command);

                }

            }

            else if (_command.startsWith("bbs_"))

            {

                CommunityBoard.getInstance().handleCommands(getClient(), _command);

            }

            else if (_command.startsWith("_bbs"))

            {

                CommunityBoard.getInstance().handleCommands(getClient(), _command);

            }

            else if (_command.startsWith("Quest "))

            {

                if (!activeChar.validateBypass(_command))

                    return;

                

                final L2PcInstance player = getClient().getActiveChar();

                if (player == null)

                    return;

                

                final String p = _command.substring(6).trim();

                final int idx = p.indexOf(' ');

                

                if (idx < 0)

                {

                    player.processQuestEvent(p, "");

                }

                else

                {

                    player.processQuestEvent(p.substring(0, idx), p.substring(idx).trim());

                }

            }

            

            // Jstar's Custom Bypass Caller!

            else if (_command.startsWith("custom_"))

            {

                final L2PcInstance player = getClient().getActiveChar();

                CustomBypassHandler.getInstance().handleBypass(player, _command);

            }

            else if (_command.startsWith("OlympiadArenaChange"))

            {

                Olympiad.bypassChangeArena(_command, activeChar);

            }

        }

        catch (final Exception e)

        {

            if (Config.ENABLE_ALL_EXCEPTIONS)

                e.printStackTrace();

            

            LOGGER.warn("Bad RequestBypassToServer: ", e);

        }

        // finally

        // {

        // activeChar.clearBypass();

        // }

    }

    

    /**

     * @param activeChar

     */

    private void comeHere(final L2PcInstance activeChar)

    {

        final L2Object obj = activeChar.getTarget();

        if (obj == null)

            return;

        

        if (obj instanceof L2NpcInstance)

        {

            final L2NpcInstance temp = (L2NpcInstance) obj;

            temp.setTarget(activeChar);

            temp.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(activeChar.getX(), activeChar.getY(), activeChar.getZ(), 0));

            // temp.moveTo(player.getX(),player.getY(), player.getZ(), 0 );

        }

        

    }

    

    private void playerHelp(final L2PcInstance activeChar, final String path)

    {

        if (path.contains(".."))

            return;

        

        final String filename = "data/html/help/" + path;

        final NpcHtmlMessage html = new NpcHtmlMessage(1);

        html.setFile(filename);

        activeChar.sendPacket(html);

    }

    

    @Override

    public String getType()

    {

        return "[C] 21 RequestBypassToServer";

    }

}

 

i think no what i have to do?

Link to comment
Share on other sites

  • 0

create one more ->  else if (_command.startsWith("pvpTeleport"))

 

and inside of this bypass write your teleport method'

then your bypass

<button value=\"PvP Zone\" action=\"bypass -h voice .telsolozone\"

 

should be 

 

<button value=\"PvP Zone\" action=\"bypass -h pvpTeleport\"

Edited by melron
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...