Jump to content

Recommended Posts

Posted

ade parte mia new idea :P den pisteyw na yparxei kati paramoio :P

[GR]dokimasmeno se l2jserver H5

[ENG]Tested in l2jserverH5

 

[ENG]create a file inside data/scripts/custom/BugReport/ with name BugReport.java and paste the code bellow

[GR]dhmiourghste ena ena file me name: BugReport.java mesa sto data/scripts/custom/BugReport/

kai kade paste ton parakatw kodika.

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 Logger _log = Logger.getLogger(BugReport.class.getName());
private static final int NpcId = 553; // npc id here
private static String htmlLoc = "data/scripts/custom/BugReport/1.htm";

public BugReport(int questId, String name, String descr)
{
	super(questId, name, descr);
	addFirstTalkId(NpcId);
	addTalkId(NpcId);
	addStartNpc(NpcId);
}

@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
	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();

	String message = "";
	String _type = null; // General, Fatal, Misuse, Balance, Other
	L2GameClient info = player.getClient().getConnection().getClient();

	try
	{
		_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)
{
	final int npcId = npc.getNpcId();
	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");
}
}

[ENG]in the same folder create one html with name: 1.htm and paste the code bellow

[GR]ston idio fakelo dhmiourghste ena htm me name:1.htm kai valte ton parakatw kodika

<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;Fatal;Misuse;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 $msg" 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><br><br><br><br><br><br>
<font color=3293F3>L2Total Team</font><br>
<img src="L2UI.SquareWhite" width=280 height=1>
</center>
</body></html>

 

[ENG]dont forget to add in scripts.cfg file

[GR]mhn ksexase sto scripts.cfg na  kanete paste afto

custom/BugReport/BugReport.java

 

[ENG]finally create an empty folder with name BugReports in data/

[GR]kai telos na dhmiourghse enan adeio fakelo me name BugReports

mesa sto data...

Den asxoli8ika kai polu, alla sta petaxta pou ekana 2-3 tests den mou evgale provlhma.

 

Version 2.3 Change log.

1. Code rework-format

2. Empty message box check added

 

jjblw0.jpg

width=1024 height=599http://i49.tinypic.com/2yxg7ld.jpg[/img]

width=1024 height=599http://i49.tinypic.com/whh6h.jpg[/img]

Posted

Polu kalo alla de nomizeis pws siga siga oi players ta pernoun ola sto piato? As kanoyn ena petition i na kanoun log in sto forum. :-P

axxaax Player : den 3erw apo forum re soz den 3erw kan ti einai forum kaneme pt..
  • 1 month later...

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
Reply to this topic...

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




  • Posts

    • Lol good joke.   If I'd be the one contacting yo then I'd say at least 50% in advance because you can basically just fuck off when things doesn't go your way, and then you as a developer just wasted days or even weeks of time with development.
    • "Just make your own game!" sounds simple until you’ve tried it. I did, with Epic Dragon World and learned the hard way that "open source" often means "free labor for resellers." The MIT license became a buffet for people to grab code, rebrand it and ghost the project. Even basic collaboration collapsed because everyone wanted their vision, not *a* vision. NCSoft’s lawyers aren’t theoretical. They’re a sword of Damocles. Even if you rebuild a client from scratch, if it feels like Lineage 2, they’ll come knocking. Ask the Chrono Trigger fangame corpses how that goes. MMOs are hospice care. The genre’s on life support, kept alive by whales and nostalgia. Look at Throne and Liberty, NCSoft’s own "successor" to L2, flopping harder than a 2004 PKer in ToI. Classic reboots (WoW, L2) are bandaids, not resurrections. This is the hobby. Optimizing old systems, reverse-engineering spaghetti code and preserving janky mechanics is the fun part. Monetizing it turns it into customer service hell. No thanks. Community? What community? The L2 scene is 90% resellers, 10% players who’ll quit the second they don’t get +16 on day one. Both asking how to install Java and why running the uncompiled server does not work.
    • Dear players, Open beta test for C3 begins today at 19:00 server time (GMT +2). 💰 All participants who find bugs during OBT will be rewarded with Coin of Luck (CoL): - 1 CoL for each staticmesh issue found — e.g., walking through textures, etc., - 2 CoL or more for server-side issues, depending on their severity., We strongly recommend reviewing the quest list - when switching to Chronicle 3, the total number of quests should match the number shown in the upper right corner of the window and correspond to the quest count from Chronicle 2. To log into the game, use the same data you use to access the Airin server. 📌 Download client: Google Drive
    • 🔥 Sale Alert! 🔥 Twitter Accounts with 50 Followers — now on SALE! Looking to launch a project or warm up your account base fast? We’ve got starter Twitter accounts with ~50 followers at a sweet price. 💰 Limited-time offer – while stock lasts! ✅ Organic-Looking ✅ Clean & Safe ✅ Perfect for boosting credibility 📦 Instant delivery
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock