[SHARE]BugReport NPC [RUSS] - Форум


Привет Гость!
Сегодня 29.11.2024, а сейчас 18:10.
Твой IP: 3.145.177.173.
Зарегистрируйтесь
Группа: Гости.
Добро пожаловать на SQL-Manager.Ucoz.Ru! У нас есть абсолютно всё для игр: Perfect World, Lineage WarCraft 3 The Frozen Throne, World of WarCraft и др. А именно: читы, баги, хаки, боты, программы, файлы, все для сервера, гайды, советы, шаблоны и дизайны, дюпы и карты.
Все бесплатно и без хайда! Файлы проверены на вирусы.
Теперь, для перехода в группу Проверенных нужно всего лишь 15 записей на форуме и 3 дня с момента регистрации.
Так же, вы можете попасть в эту группу Купить рекламный Блок .

  • Страница 1 из 1
  • 1
[SHARE]BugReport NPC [RUSS]
Оффлайн
[SQL]Admin
Четверг, 14.05.2015, 00:44 | Сообщение # 1
Генералиссимус
Администраторы
Сообщений: 36
Награды: 0
0
Создать class в com.l2jfrozen.gameserver.model.actor.instance с именем L2BugReportInstance и вставить этот код.





Код
/*
   * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
   */
package com.l2jfrozen.gameserver.model.actor.instance;

import java.io.*;
import java.util.StringTokenizer;

import javolution.text.TextBuilder;

import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.model.L2World;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.network.L2GameClient;
import com.l2jfrozen.gameserver.network.clientpackets.Say2;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
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;

/**
   * @author squallcs
   *
   */
public class L2BugReportInstance extends L2FolkInstance
{
     private static String _type;
       
     public L2BugReportInstance(int objectId, L2NpcTemplate template)
     {
        super(objectId, template);
     }
       
     @Override
     public void onBypassFeedback(L2PcInstance player, String command)
     {
        if (command.startsWith("send_report"))
        {
           StringTokenizer st = new StringTokenizer(command);
           st.nextToken();
           String msg = null;
           String type = null;
           type = st.nextToken();
           msg = st.nextToken();
           try
           {
              while (st.hasMoreTokens())
              {
                 msg = msg + " " + st.nextToken();
              }
                
              sendReport(player, type, msg);
           }
           catch (StringIndexOutOfBoundsException e)
           {
           }
        }
     }
       
     static
     {
        new File("log/BugReports/").mkdirs();
     }
       
     private void sendReport(L2PcInstance player, String command, String msg)
     {
        String type = command;
        L2GameClient info = player.getClient().getConnection().getClient();
          
        if (type.equals("General"))
           _type = "General";
        if (type.equals("Fatal"))
           _type = "Fatal";
        if (type.equals("Misuse"))
           _type = "Misuse";
        if (type.equals("Balance"))
           _type = "Balance";
        if (type.equals("Other"))
           _type = "Other";
          
        try
        {
           String fname = "log/BugReports/" + player.getName() + ".txt";
           File file = new File(fname);
           boolean exist = file.createNewFile();
           if (!exist)
           {
              player.sendMessage("Вы уже отправили Репорт. ГМы должны проверить.");;
              return;
           }
           FileWriter fstream = new FileWriter(fname);
           BufferedWriter out = new BufferedWriter(fstream);
           out.write("Информация персонажа: " + info + "\r\nТип Репорта: " + _type + "\r\nСообщение: " + msg);
           player.sendMessage("Репорт отправлен. ГМы скоро проверят ваш репорт. Спасибо!");
             
           for (L2PcInstance allgms : L2World.getInstance().getAllGMs())
              allgms.sendPacket(new CreatureSay(0, Say2.SHOUT, "Bug Report Manager", player.getName() + " отправил Баг Репорт."));
             
           System.out.println("Персонаж: " + player.getName() + " отправил Баг Репорт.");
           out.close();
        }
        catch (Exception e)
        {
           player.sendMessage("Something went wrong try again.");
        }
     }
       
     @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 replyMSG = new TextBuilder("");
          
        replyMSG.append("<html><title>Bug Report Manager</title>");
        replyMSG.append("<body><br><br><center>");
        replyMSG.append("<table border=0 height=10 bgcolor=\"444444\" width=240>");
        replyMSG.append("<tr><td align=center><font color=\"00FFFF\">Привет " + activeChar.getName() + ".</font></td></tr>");
        replyMSG.append("<tr><td align=center><font color=\"00FFFF\">Сейчас нету ГМов в онлайне</font></td></tr>");
        replyMSG.append("<tr><td align=center><font color=\"00FFFF\">Вы нашли ошибку в сервере?</font></td></tr>");
        replyMSG.append("</table><br>");
        replyMSG.append("<img src=\"L2UI.SquareWhite\" width=280 height=1><br><br>");
        replyMSG.append("<table width=250><tr>");
        replyMSG.append("<td><font color=\"LEVEL\">Выбрать тип репорта:</font></td>");
        replyMSG.append("<td><combobox width=105 var=type list=General;Fatal;Misuse;Balance;Other></td>");
        replyMSG.append("</tr></table><br><br>");
        replyMSG.append("<edit var=\"msg\" width=250 height=50><br>");
        replyMSG.append("<br><img src=\"L2UI.SquareWhite\" width=280 height=1><br><br><br><br><br><br><br>");
        replyMSG.append("<button value=\"Отправить\" action=\"bypass -h npc_" + getObjectId() + "_send_report $type $msg\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\">");
        replyMSG.append("</center></body></html>");
          
        nhm.setHtml(replyMSG.toString());
        activeChar.sendPacket(nhm);
          
        activeChar.sendPacket(new ActionFailed());
     }
       
}





  • Страница 1 из 1
  • 1
Поиск:
 
Создать бесплатный сайт с uCoz