Package com.l2jfrozen.gameserver.handler.admincommandhandlers

Source Code of com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminPForge

/*
* 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.handler.admincommandhandlers;

import java.util.StringTokenizer;

import javolution.text.TextBuilder;

import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.network.serverpackets.AdminForgePacket;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;

/**
* This class handles commands for gm to forge packets
*
* @author Maktakien
*/
public class AdminPForge implements IAdminCommandHandler
{
  //private static Logger _log = Logger.getLogger(AdminKick.class.getName());
  private static final String[] ADMIN_COMMANDS =
  {
      "admin_forge", "admin_forge2", "admin_forge3"
  };

  @Override
  public boolean useAdminCommand(String command, L2PcInstance activeChar)
  {
    /*
    if(!AdminCommandAccessRights.getInstance().hasAccess(command, activeChar.getAccessLevel())){
      return false;
    }
   
    if(Config.GMAUDIT)
    {
      Logger _logAudit = Logger.getLogger("gmaudit");
      LogRecord record = new LogRecord(Level.INFO, command);
      record.setParameters(new Object[]
      {
          "GM: " + activeChar.getName(), " to target [" + activeChar.getTarget() + "] "
      });
      _logAudit.log(record);
    }
    */

    if(command.equals("admin_forge"))
    {
      showMainPage(activeChar);
    }
    else if(command.startsWith("admin_forge2"))
    {
      try
      {
        StringTokenizer st = new StringTokenizer(command);
        st.nextToken();
        String format = st.nextToken();
        showPage2(activeChar, format);

        st = null;
        format = null;
      }
      catch(Exception ex)
      {
        ex.printStackTrace();
        activeChar.sendMessage("Usage: //forge2 format");
      }
    }
    else if(command.startsWith("admin_forge3"))
    {
      try
      {
        StringTokenizer st = new StringTokenizer(command);
        st.nextToken();
        String format = st.nextToken();

        boolean broadcast = false;

        if(format.toLowerCase().equals("broadcast"))
        {
          format = st.nextToken();
          broadcast = true;
        }

        AdminForgePacket sp = new AdminForgePacket();

        for(int i = 0; i < format.length(); i++)
        {
          String val = st.nextToken();

          if(val.toLowerCase().equals("$objid"))
          {
            val = String.valueOf(activeChar.getObjectId());
          }
          else if(val.toLowerCase().equals("$tobjid"))
          {
            val = String.valueOf(activeChar.getTarget().getObjectId());
          }
          else if(val.toLowerCase().equals("$bobjid"))
          {
            if(activeChar.getBoat() != null)
            {
              val = String.valueOf(activeChar.getBoat().getObjectId());
            }
          }
          else if(val.toLowerCase().equals("$clanid"))
          {
            val = String.valueOf(activeChar.getCharId());
          }
          else if(val.toLowerCase().equals("$allyid"))
          {
            val = String.valueOf(activeChar.getAllyId());
          }
          else if(val.toLowerCase().equals("$tclanid"))
          {
            val = String.valueOf(((L2PcInstance) activeChar.getTarget()).getCharId());
          }
          else if(val.toLowerCase().equals("$tallyid"))
          {
            val = String.valueOf(((L2PcInstance) activeChar.getTarget()).getAllyId());
          }
          else if(val.toLowerCase().equals("$x"))
          {
            val = String.valueOf(activeChar.getX());
          }
          else if(val.toLowerCase().equals("$y"))
          {
            val = String.valueOf(activeChar.getY());
          }
          else if(val.toLowerCase().equals("$z"))
          {
            val = String.valueOf(activeChar.getZ());
          }
          else if(val.toLowerCase().equals("$heading"))
          {
            val = String.valueOf(activeChar.getHeading());
          }
          else if(val.toLowerCase().equals("$tx"))
          {
            val = String.valueOf(activeChar.getTarget().getX());
          }
          else if(val.toLowerCase().equals("$ty"))
          {
            val = String.valueOf(activeChar.getTarget().getY());
          }
          else if(val.toLowerCase().equals("$tz"))
          {
            val = String.valueOf(activeChar.getTarget().getZ());
          }
          else if(val.toLowerCase().equals("$theading"))
          {
            val = String.valueOf(((L2PcInstance) activeChar.getTarget()).getHeading());
          }

          sp.addPart(format.getBytes()[i], val);
          val = null;
        }
        if(broadcast)
        {
          activeChar.broadcastPacket(sp);
        }
        else
        {
          activeChar.sendPacket(sp);
        }
        showPage3(activeChar, format, command);

        format = null;
        st = null;
        sp = null;
      }
      catch(Exception ex)
      {
        ex.printStackTrace();
      }
    }
    return true;
  }

  private void showMainPage(L2PcInstance activeChar)
  {
    AdminHelpPage.showHelpPage(activeChar, "pforge1.htm");
  }

  private void showPage2(L2PcInstance activeChar, String format)
  {
    NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
    adminReply.setFile("data/html/admin/pforge2.htm");
    adminReply.replace("%format%", format);
    TextBuilder replyMSG = new TextBuilder();

    for(int i = 0; i < format.length(); i++)
    {
      replyMSG.append(format.charAt(i) + " : <edit var=\"v" + i + "\" width=100><br1>");
    }

    adminReply.replace("%valueditors%", replyMSG.toString());
    replyMSG.clear();

    for(int i = 0; i < format.length(); i++)
    {
      replyMSG.append(" \\$v" + i);
    }

    adminReply.replace("%send%", replyMSG.toString());
    activeChar.sendPacket(adminReply);

    replyMSG = null;
    adminReply = null;
  }

  private void showPage3(L2PcInstance activeChar, String format, String command)
  {
    NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
    adminReply.setFile("data/html/admin/pforge3.htm");
    adminReply.replace("%format%", format);
    adminReply.replace("%command%", command);
    activeChar.sendPacket(adminReply);
    adminReply = null;
  }

  @Override
  public String[] getAdminCommandList()
  {
    return ADMIN_COMMANDS;
  }

}
TOP

Related Classes of com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminPForge

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.