Jump to content
  • 0

high five [L2J] Bug Report Manager Problem


Question

Posted

Hello Maxcheaters..!

so i've got a bug report manager from here from -=DoctorNo=- Version 2.3

 

I have L2J High Five (unstable)

the problem is:
when i'm pressing the button to create the report file, it doesn't work..!

it's like the button saying to close the window... the window is closing and nothing happened... no errors, no logs... just nothing...

 

the code:

package custom.BugReport;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.StringTokenizer;
import java.util.logging.Logger;

import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.network.L2GameClient;
import com.l2jserver.gameserver.network.clientpackets.Say2;
import com.l2jserver.gameserver.network.serverpackets.CreatureSay;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;

/**
 * @author -=DoctorNo=- Version 2.3
 */
public class BugReport extends Quest
{
	private final Logger _log = Logger.getLogger(BugReport.class.getName());
	private static final int NpcId = 40000; // npc id here
	private static String htmlLoc = "data/scripts/custom/BugReport/1.html";
	
	public BugReport(int questId, String name, String descr)
	{
		super(questId, name, descr);
		addFirstTalkId(NpcId);
		addTalkId(NpcId);
		addStartNpc(NpcId);
		_log.warning("Test 1");
	}
	
	@Override
	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
	{
	_log.warning("Test 2");
		if (event.startsWith("report"))
		{
			sendReport(event, npc, player, event);
		}
		return "";
	}
	
	private void sendReport(String event, L2Npc npc, L2PcInstance player, String command)
	{
		StringTokenizer st = new StringTokenizer(command);
		st.nextToken();
		_log.warning("Test 3");
		
		String message = "";
		String _type = null; // General, Fatal, Misuse, Balance, Other
		L2GameClient info = player.getClient().getConnection().getClient();
		
		try
		{
		_log.warning("Test 4");
			_type = st.nextToken();
			while (st.hasMoreTokens())
			{
				message = message + st.nextToken() + " ";
			}
			
			if (message.equals(""))
			{
				player.sendMessage("Message box cannot be empty.");
				return;
			}
			
			String fname = "data/BugReports/" + player.getName() + ".txt";
			File file = new File(fname);
			boolean exist = file.createNewFile();
			if (!exist)
			{
				player.sendMessage("You have already sent a bug report, GMs must check it first.");
				return;
			}
			
			FileWriter fstream = new FileWriter(fname);
			BufferedWriter out = new BufferedWriter(fstream);
			out.write("Character Info: " + info + "\r\nBug Type: " + _type + "\r\nMessage: " + message);
			player.sendMessage("Report sent. GMs will check it soon. Thanks...");
			
			for (L2PcInstance allgms : L2World.getInstance().getAllGMs())
			{
				allgms.sendPacket(new CreatureSay(0, Say2.SHOUT, "Bug Report Manager", player.getName() + " sent a bug report."));
				allgms.sendPacket(new CreatureSay(0, Say2.SHOUT, "Report Type", _type + "."));
			}
			
			_log.info("Character: " + player.getName() + " sent a bug report.");
			out.close();
		}
		catch (Exception e)
		{
			player.sendMessage("Something went wrong try again.");
		}
	}
	
	@Override
	public String onFirstTalk(L2Npc npc, L2PcInstance player)
	{
	_log.warning("Test 5");
		final int npcId = npc.getId();
		if (player.getQuestState(getName()) == null)
		{
			newQuestState(player);
		}
		
		if (npcId == NpcId)
		{
			String html = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), htmlLoc);
			html = html.replaceAll("%player%", player.getName());
			
			NpcHtmlMessage npcHtml = new NpcHtmlMessage(0);
			npcHtml.setHtml(html);
			player.sendPacket(npcHtml);
		}
		return "";
	}
	
	public static void main(final String[] args)
	{
		new BugReport(-1, BugReport.class.getSimpleName(), "custom");
		System.out.println("CUSTOM: BugReport Manager loaded");
	}
}

and the action from the button on html:

action="bypass -h Quest BugReport $report $type $msg"

any Idea?!

13 answers to this question

Recommended Posts

  • 0
Posted

Instead of logging "test" stuff, log the way the command is cutted. If nothing happens, it probably means the bypass isn't correctly cutted.

 

Probably "report" instead of "$report" in your bypass should make it work.

  • 0
Posted (edited)

Are you adding the proper line inside scripts.cfg?

if not, the text wont open... cause it's reading the html from the code..!

 

Instead of logging "test" stuff, log the way the command is cutted. If nothing happens, it probably means the bypass isn't correctly cutted.

 

Probably "report" instead of "$report" in your bypass should make it work.

 

hmmm.... i think you are right... i'm gonna test it!

 

edit: the logging commands is from me to check...!

       the call report instead of $report doesn't work too!

Edited by xXObanXx
  • 0
Posted (edited)

if not, the text wont open... cause it's reading the html from the code..!

True soz, my newbie question filter didn't work properly... let me figure out what's wrong...

Post full html pls :P

U sure that what Tryskell said isn't working?

Edited by ^Wyatt
  • 0
Posted

True soz, my newbie question filter didn't work properly... let me figure out what's wrong...

Post full html pls :P

U sure that what Tryskell said isn't working?

<html>
<title>Bug Report Manager</title>
<body>
<br><br>
<center>
<table border="0" height=10 bgcolor="444444" width=240>
<tr><td align=center><font color="00FFFF">Hello %player%.</font></td></tr>
<tr><td align=center><font color="00FFFF">There are no Gms online</font></td></tr>
<tr><td align=center><font color="00FFFF">and you want to report something?</font></td></tr>
<tr><td align=center><font color="00FFFF">Now it is possible.</font></td></tr>
</table>
<br>
<img src="L2UI.SquareWhite" width=280 height=1>
<br><br>
<table width=250>
<tr>
<td><font color="LEVEL">Select Report Type:</font></td>
<td><combobox width=105 var=type list=General;Npc;Event;Balance;Other></td>
</tr>
</table>
<br><br>
<multiedit var="msg" width="250" height="50"><br>
<button value="Report It" action="bypass -h Quest BugReport $report type message" width="128" height="26" back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
<br>
<img src="L2UI.SquareWhite" width=280 height=1>
<br>
<img src="L2UI.SquareWhite" width=280 height=1>
</center>
</body></html>

pretty sure...

i've tried with the following calls:

action="bypass -h Quest BugReport report type msg"
action="bypass -h Quest BugReport report type message"
action="bypass -h Quest BugReport report _type msg"
action="bypass -h Quest BugReport report _type message"
  • 0
Posted (edited)

It's the only thing I can see that could be causing it hm....

 

U could try to change this but I don't think it can affect.

<td><combobox width=105 var=type list=General;Npc;Event;Balance;Other></td>
to

<td><combobox width="105" var="type" list="General;Npc;Event;Balance;Other"></td>
Edited by ^Wyatt
  • 0
Posted (edited)

It's the only thing I can see that could be causing it hm....

 

U could try to change this but I don't think it can affect.

<td><combobox width=105 var=type list=General;Npc;Event;Balance;Other></td>
to

<td><combobox width="105" var="type" list="General;Npc;Event;Balance;Other"></td>

nah... on html that is not a wrong code... but with " " is more "stable"

 

btw don't work too!

Edited by xXObanXx
  • 0
Posted (edited)

I have an idea... i was thinking... the call is $report $type $msg but...

few days ago i've seen that on tvt the %max% for max players is handling from this line inside the TvTEvent.java

npcHtmlMessage.replace("%max%", String.valueOf(Config.TVT_EVENT_MAX_LVL));

so... if we were put a code like this? couldn't work?

Edited by xXObanXx

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
Answer this question...

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