Jump to content
  • 0

Question

Posted

kalispera se olous

aftos einai enas kodikas sto l2jfrozen alla exo bali merika code parapano gia na douleboune

sto community board oste na min xriazete na pigeni kapios stin poli gia na agorasi kati

alla distixos den doulebi to multisell den ksero ti einai epsaksa 5 meres na do ti simbeni

kai gt den doulebi alla den ta katafera oso kai na alaksa ton kodika.. sto html pigenei kanonika

kai sta alla para8ira doulebi kanonika alla otan balo na agoraso den doulebi

dld gia na pas se ena alo html einai aftos o codikas bypass -h custom_doShop Chat 0

kai doulebi an balo afto bypass -h custom_doShop multisell 55370

mou anigi to para8iro dialego to item pou 8elo kai ekei den to pernei kolaei

stin consola den bgazei errors. an mporei kapios kai exei tin kalosini na me boi8isi

na telioso afto 8a anebaso ena oreo community gia l2jfrozen low rate kala protimisi

 

efxaristo!!

 

edo einai o kodikas pou exo kai ta simia me kokino einai afta pou exo addari extra

-------------------------------------------------------------------------------------------------------------------------------------------------

/*
* 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.powerpak.gmshop;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.cache.HtmCache;
import com.l2jfrozen.gameserver.communitybbs.Manager.BaseBBSManager;
import com.l2jfrozen.gameserver.controllers.GameTimeController;
import com.l2jfrozen.gameserver.handler.IBBSHandler;
import com.l2jfrozen.gameserver.handler.ICustomByPassHandler;
import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;
import com.l2jfrozen.gameserver.model.L2Character;
import com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.entity.event.CTF;
import com.l2jfrozen.gameserver.model.entity.event.DM;
import com.l2jfrozen.gameserver.model.entity.event.TvT;
import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad;
import com.l2jfrozen.gameserver.model.multisell.L2Multisell;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfrozen.gameserver.network.serverpackets.SetupGauge;
import com.l2jfrozen.gameserver.powerpak.PowerPakConfig;
import com.l2jfrozen.gameserver.taskmanager.AttackStanceTaskManager;
import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
import com.l2jfrozen.gameserver.util.Broadcast;

/**
* @author L2JFrozen
*/
public class GMShop implements IVoicedCommandHandler, ICustomByPassHandler, IBBSHandler
{

    @Override
    public String[] getVoicedCommandList()
    {
        
        return new String[] {PowerPakConfig.GMSHOP_COMMAND};
    }

    private boolean checkAllowed(L2PcInstance activeChar)
    {
        String msg = null;
        if(activeChar.isSitting())
            msg = "GMShop is not available when you sit";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("ALL"))
            msg = "GMShop is not available in this area";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("CURSED") && activeChar.isCursedWeaponEquiped())
            msg = "GMShop is not available with the cursed sword";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("ATTACK") && AttackStanceTaskManager.getInstance().getAttackStanceTask(activeChar))
            msg = "GMShop is not available during the battle";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("DUNGEON") && activeChar.isIn7sDungeon())
            msg = "GMShop is not available in the catacombs and necropolis";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("RB") && activeChar.isInsideZone(L2Character.ZONE_NOSUMMONFRIEND))
                msg = "GMShop is not available in this area";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("PVP") && activeChar.isInsideZone(L2Character.ZONE_PVP))
            msg = "GMShop is not available in this area";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("PEACE") && activeChar.isInsideZone(L2Character.ZONE_PEACE))
            msg = "GMShop is not available in this area";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("SIEGE") && activeChar.isInsideZone(L2Character.ZONE_SIEGE))
            msg = "GMShop is not available in this area";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("OLYMPIAD") && (activeChar.isInOlympiadMode() ||
                activeChar.isInsideZone(L2Character.ZONE_OLY) || Olympiad.getInstance().isRegistered(activeChar) ||
                Olympiad.getInstance().isRegisteredInComp(activeChar)))
            msg = "GMShop is not available at Olympiad";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("EVENT") &&
                (activeChar._inEvent))
            msg = "GMShop is not available at the opening event";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("TVT") &&
                activeChar._inEventTvT && TvT.is_started() )
            msg = "GMShop is not available in TVT";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("CTF") &&
                activeChar._inEventCTF && CTF.is_started() )
            msg = "GMShop is not available in CTF";
        else if(PowerPakConfig.GMSHOP_EXCLUDE_ON.contains("DM") &&
                activeChar._inEventDM && DM.is_started() )
            msg = "GMShop is not available in DM";
        
        if(msg!=null)
            activeChar.sendMessage(msg);

        return msg==null;
    }

    @Override
    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
    {
        if(activeChar==null)
            return false;
        if(!checkAllowed(activeChar))
            return false;
        
         if(command.compareTo(PowerPakConfig.GMSHOP_COMMAND)==0)
            {
                NpcHtmlMessage htm = new NpcHtmlMessage(activeChar.getLastQuestNpcObject());
                String text = HtmCache.getInstance().getHtm("data/html/gmshop/gmshop.htm");
                htm.setHtml(text);
                activeChar.sendPacket(htm);
            }
            
            return false;
        }


        @Override
        public String[] getByPassCommands()
        {
            // TODO Auto-generated method stub
            return new String [] {"doShop" };
        }

    
    @Override
    public void handleCommand(String command, L2PcInstance player, String parameters)
    {
        if(player==null)
            return;
         if(parameters ==null || parameters.length()==0)
             return;
         if(!checkAllowed(player))
             return;
         
         if(!PowerPakConfig.GMSHOP_USEBBS && !PowerPakConfig.GMSHOP_USECOMMAND){
            
            L2NpcInstance gmshopnpc = null;
            
            if(player.getTarget()!=null)
                if(player.getTarget() instanceof L2NpcInstance)
                {
                    gmshopnpc = (L2NpcInstance)player.getTarget();
                    if(gmshopnpc.getTemplate().getNpcId()!=PowerPakConfig.GMSHOP_NPC)
                        gmshopnpc=null;
                }
            
            //Possible fix to Buffer - 1
            if (gmshopnpc == null)
                return;

            //Possible fix to Buffer - 2
            if (!player.isInsideRadius(gmshopnpc, L2NpcInstance.INTERACTION_DISTANCE, false, false))
                return;
            
        }//else (voice and bbs)

         if(parameters.startsWith("multisell"))
         {
             try
             {
                 L2Multisell.getInstance().SeparateAndSend(Integer.parseInt(parameters.substring(9).trim()), player, false, 0);
             }
             catch(Exception e)
             {
                 if(Config.ENABLE_ALL_EXCEPTIONS)
                    e.printStackTrace();
                 
                 player.sendMessage("This list does not exist");
             }
         }
         
     String htm = "gmshop";    
     if(parameters.startsWith("Chat"))
    {
        htm = htm + "-" + parameters.substring(parameters.indexOf(" ") + 1).trim();
    }

    if(htm.contains("-0"))
        htm = "gmshop";
    String text = HtmCache.getInstance().getHtm("data/html/gmshop/" + htm + ".htm");

    if(command.startsWith("bbs"))
    {
        text = text.replace("-h custom_do", "bbs_bbs");
        BaseBBSManager.separateAndSend(text, player);
    }
    else
        player.sendPacket(new NpcHtmlMessage(5,text));
    return;
    
}


@Override
public String[] getBBSCommands()
{
    return new String [] {"bbsShop" };
}


}

1 answer to this question

Recommended Posts

Guest
This topic is now closed to further replies.


  • Posts

    • Only 3 days left and we'll start with some events, you can check our Discord for more info!
    • Tired of frantically switching between windows trying to find that specific Warlock who should be casting saves? Forgot which server you left your Warsmith on? This mod solves these problems! What it does: Turns the boring window title into an information panel: Server Name - Character Name [Class] Real-life examples: - ServerName - HardcoreFarm [Spoilerr] (who's been spoiling for 3 months already) - ServerName - ClericHelper [Buffer] (eternal buffer on standby) - ServerName - MainChar [Gladiator] (main character who's always AFK) Why you need this: For multiboxers - to avoid confusing where the DD is and where the healer is For the forgetful - if your memory is like a goldfish For streamers - viewers immediately see who's on screen For adults - when playing at work and need to quickly hide the window DLL only - no Interface files needed Installation (more complicated than making tea): 1. Download the DLL 2. Drop it into the System folder 3. Launch the client 4. Be amazed how you lived without this before! Purchase Conditions: Price: 100$ Payment Method: USDT. How to Buy: Contact me on Telegram: @kiselevwv for a quick response. I will answer all your questions and provide additional information if needed. I guarantee functionality at the moment of sale and prompt assistance with setup after purchase.
    • I agree, l2damage crap to compare to l2java which was the father of pvp servers and till this days people playing there for good time.
    • 📝 Registration — Account Registration Creating a new player account. Usually includes: login password password confirmation email Result: a new record is created in the accounts table (loginserver). 🔑 Change Password — Password Change The player changes the password knowing the current one. Required: current password new password new password confirmation Result: the password field is updated in the accounts table. ♻️ Password Recovery — Password Reset If the player forgot the password. Implementation only via email: the player enters their login, email the system sends an email with a link or code the player opens the link / enters the code sets a new password Result: the password is updated in the accounts table.   All fields are validated (required, format, length, uniqueness, security checks).   Price: 80$   and i can rewrite script for PTS server.   Contacts:   Telegram Discord
  • 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..