Jump to content

Recommended Posts

Posted

masterhandler.java clean my ta ai so later add the code please

 

/*
* 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 handlers;

import handlers.admincommandhandlers.*;
import handlers.donatorcommandhandlers.*;
import handlers.scripthandlers.*;
import handlers.voicedcommandhandlers.*;

import com.l2jserver.gameserver.handler.*;

public class MasterHandler
{
private static void loadAdminHandlers()
{
	AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminFile());
}

private static void loadDonatorHandlers()
{
	DonatorCommandHandler.getInstance().registerDonatorCommandHandler(new DonatorFile());
}

private static void loadScriptHandlers()
{
	ScriptHandler.getInstance().registerHandler(new EnterWorld());
	ScriptHandler.getInstance().registerHandler(new OnDeath());
	ScriptHandler.getInstance().registerHandler(new OnExit());
	ScriptHandler.getInstance().registerHandler(new OnKill());
	ScriptHandler.getInstance().registerHandler(new OnRess());
}

private static void loadVoicedHandlers()
{
	VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new VoicedFile());
}

public static void main(String[] args)
{
	loadAdminHandlers();
	loadDonatorHandlers();
	loadScriptHandlers();
	loadVoicedHandlers();
}
}

Posted

lol man...  

 

/*
* 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 handlers;

import handlers.admincommandhandlers.*;
import handlers.donatorcommandhandlers.*;
import handlers.scripthandlers.*;
import handlers.voicedcommandhandlers.*;

import com.l2jserver.gameserver.handler.*;

public class MasterHandler
{

private static void loadAdminHandlers()
{
	AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminFile());
}

private static void loadDonatorHandlers()
{
	DonatorCommandHandler.getInstance().registerDonatorCommandHandler(new DonatorFile());
}

private static void loadScriptHandlers()
{
	ScriptHandler.getInstance().registerHandler(new EnterWorld());
	ScriptHandler.getInstance().registerHandler(new OnDeath());
	ScriptHandler.getInstance().registerHandler(new OnExit());
	ScriptHandler.getInstance().registerHandler(new OnKill());
	ScriptHandler.getInstance().registerHandler(new OnRess());
}

private static void loadVoicedHandlers()
{
	VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new VoicedFile());
+               if (Config.REPAIR_ALLOW_REPAIR)
+	 	     VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Repair());
}

public static void main(String[] args)
{
	loadAdminHandlers();
	loadDonatorHandlers();
	loadScriptHandlers();
	loadVoicedHandlers();
}
}

Posted

+cs.Tribal®™ 's  Request

 

/*
* 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 handlers.voicedcommandhandlers;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Logger;

import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;

/**
* <B><U>User Character .repair voicecommand - SL2 L2JEmu</U></B><BR><BR>
*
* 
* <U>NOTICE:</U> Voice command .repair that when used, allows player to
* try to repair any of characters on his account, by setting spawn
* to Floran, removing all shortcuts and moving everything equipped to
* that char warehouse.<BR><BR>
*
*
* (solving client crashes on character entering world)<BR><BR>
*
*
* @author szponiasty
* @version $Revision: 0.17.2.95.2.9 $ $Date: 2010/03/03 9:07:11 $
*/

public class Repair implements IVoicedCommandHandler
{
static final Logger _log = Logger.getLogger(Repair.class.getName());

private static final String[]	 _voicedCommands	=
	{ 
	"repair", 
	"startrepair"
	};

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{		
	if (activeChar==null)
		return false;

	String repairChar=null;

	try		
	{
		if(target != null)
			if(target.length() > 1)
			  {
			   String[] cmdParams = target.split(" ");
			   repairChar=cmdParams[0];
			  }
	}
	catch (Exception e)
	{
		repairChar = null;
	}						
	// Send activeChar HTML page
	if (command.startsWith("repair"))               
	{             
		String htmContent = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/mods/repair/repair.htm");
		NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(5);
		npcHtmlMessage.setHtml(htmContent);		
		npcHtmlMessage.replace("%acc_chars%", getCharList(activeChar));
		activeChar.sendPacket(npcHtmlMessage);	
		return true;
	}
	// Command for enter repairFunction from html
	if (command.startsWith("startrepair") && (repairChar != null))
	{
		//_log.warning("Repair Attempt: Character " + repairChar);
			if (checkAcc(activeChar,repairChar))
			{
				if (checkChar(activeChar,repairChar))
				{
					String htmContent = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/mods/repair/repair-self.htm");
					NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(5);
					npcHtmlMessage.setHtml(htmContent);
					activeChar.sendPacket(npcHtmlMessage);
					return false;
				}
				else if (checkJail(activeChar,repairChar))
				{
					String htmContent = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/mods/repair/repair-jail.htm");
					NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(5);
					npcHtmlMessage.setHtml(htmContent);
					activeChar.sendPacket(npcHtmlMessage);	
					return false;
				}
+                                      else if (checkKarma(activeChar,repairChar))
+		                        {
+			                        activeChar.sendMessage("Selected Char has Karma,Cannot be repaired!");
+			                        return false;
+		                        }
				else
				{
					repairBadCharacter(repairChar);
					String htmContent = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/mods/repair/repair-done.htm");
					NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(5);
					npcHtmlMessage.setHtml(htmContent);
					activeChar.sendPacket(npcHtmlMessage);
					return true;
				}
			}
			else
			{
				String htmContent = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/mods/repair/repair-error.htm");
				NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(5);
				npcHtmlMessage.setHtml(htmContent);
				activeChar.sendPacket(npcHtmlMessage);
				return false;
			}
	}
	//_log.warning("Repair Attempt: Failed. ");
	return false;
}

private String getCharList(L2PcInstance activeChar)
{
	String result="";
	String repCharAcc=activeChar.getAccountName();
	Connection con = null;
	try
	{
		con = L2DatabaseFactory.getInstance().getConnection();
		PreparedStatement statement = con.prepareStatement("SELECT char_name FROM characters WHERE account_name=?");
		statement.setString(1, repCharAcc);
		ResultSet rset = statement.executeQuery();
		while (rset.next())
		{
			if (activeChar.getName().compareTo(rset.getString(1)) != 0)
				result += rset.getString(1)+";";
		}
		//_log.warning("Repair Attempt: Output Result for searching characters on account:"+result);
		rset.close();
		statement.close();
	}
	catch (SQLException e)
	{
		e.printStackTrace();
		return result;
	}
	finally
	{
		try
		{
			if (con != null)
				con.close();
		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
	}
	return result;	
}

private boolean checkAcc(L2PcInstance activeChar,String repairChar)
{
	boolean result=false;
	String repCharAcc="";
	Connection con = null;
	try
	{
		con = L2DatabaseFactory.getInstance().getConnection();
		PreparedStatement statement = con.prepareStatement("SELECT account_name FROM characters WHERE char_name=?");
		statement.setString(1, repairChar);
		ResultSet rset = statement.executeQuery();
		if (rset.next())
		{
			repCharAcc = rset.getString(1);
		}
		rset.close();
		statement.close();

	}
	catch (SQLException e)
	{
		e.printStackTrace();
		return result;
	}
	finally
	{
		try
		{
			if (con != null)
				con.close();
		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
	}
	if (activeChar.getAccountName().compareTo(repCharAcc)==0)
		result=true;
	return result;
}

private boolean checkJail(L2PcInstance activeChar,String repairChar)
{
	boolean result=false;
	int repCharJail = 0;
	Connection con = null;
	try
	{
		con = L2DatabaseFactory.getInstance().getConnection();
		PreparedStatement statement = con.prepareStatement("SELECT punish_level FROM characters WHERE char_name=?");
		statement.setString(1, repairChar);
		ResultSet rset = statement.executeQuery();
		if (rset.next())
		{
			repCharJail = rset.getInt(1);
		}
		rset.close();
		statement.close();

	}
	catch (SQLException e)
	{
		e.printStackTrace();
		return result;
	}
	finally
	{
		try
		{
			if (con != null)
				con.close();
		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
	}
	if (repCharJail > 1) // 0 norm, 1 chat ban, 2 jail, 3....
		result=true;
	return result;
}

+      private boolean checkKarma(L2PcInstance activeChar,String repairChar)
+	{
+		boolean result=false;
+		int repCharKarma = 0;
+		Connection con = null;
+		try
+		{
+			con = L2DatabaseFactory.getInstance().getConnection();
+			PreparedStatement statement = con.prepareStatement("SELECT karma FROM characters WHERE char_name=?");
+			statement.setString(1, repairChar);
+			ResultSet rset = statement.executeQuery();
+			if (rset.next())
+			{
+				repCharKarma = rset.getInt(1);
+			}
+			rset.close();
+			statement.close();
+		}
+		catch (SQLException e)
+		{
+			e.printStackTrace();
+			return result;
+		}
+		finally
+		{
+			try
+			{
+				if (con != null)
+					con.close();
+			}
+			catch (SQLException e)
+			{
+				e.printStackTrace();
+			}
+		}
+		if (repCharKarma > 0) 
+			result=true;
+		return result;
+	}

private boolean checkChar(L2PcInstance activeChar,String repairChar)
{
	boolean result=false;
	if (activeChar.getName().compareTo(repairChar)==0)
		result=true;
	return result;
}

private void repairBadCharacter(String charName)
{
	Connection con = null;
	try
	{
		con = L2DatabaseFactory.getInstance().getConnection();

		PreparedStatement statement;
		statement = con.prepareStatement("SELECT charId FROM characters WHERE char_name=?");
		statement.setString(1, charName);
		ResultSet rset = statement.executeQuery();

		int objId = 0;
		if (rset.next())
		{
			objId = rset.getInt(1);
		}
		rset.close();
		statement.close();
		if (objId == 0)
		{
			con.close();
			return;
		}
		statement = con.prepareStatement("UPDATE characters SET x=17867, y=170259, z=-3503 WHERE charId=?");
		statement.setInt(1, objId);
		statement.execute();
		statement.close();
		statement = con.prepareStatement("DELETE FROM character_shortcuts WHERE charId=?");
		statement.setInt(1, objId);
		statement.execute();
		statement.close();
		statement = con.prepareStatement("UPDATE items SET loc=\"WAREHOUSE\" WHERE owner_id=? AND loc=\"PAPERDOLL\"");
		statement.setInt(1, objId);
		statement.execute();
		statement.close();
	}
	catch (Exception e)
	{
		_log.warning("GameServer: could not repair character:" + e);
	}
	finally
	{
		try
		{
			if (con != null)
				con.close();
		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
	}
}

public String[] getVoicedCommandList()
{
	return _voicedCommands;
}
}

thank you mate... this is exactly what i wanted!

i hope i'll work!

Posted

still gave the error gameserver see

 

Loading Server Scripts

----------

1. ERROR in \ MasterHandler.java (at line 49)

        if (Config.REPAIR_ALLOW_REPAIR)

            ^^^^^^

Config can not be resolved

----------

1 problem (1 error) Failed executing script

 

that must be for something in config.java?

Posted

worked well in parts:

 

private static void loadVoicedHandlers()
{
	VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new VoicedFile());
-               if (Config.REPAIR_ALLOW_REPAIR)
+		    VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Repair());
}

 

see image does not appear to select the char name is only empty space and it's impossible to enter nen. what I do now?

 

shot00001be.jpg

 

 

....

Posted

still gave the error gameserver see

 

Loading Server Scripts

----------

1. ERROR in \ MasterHandler.java (at line 49)

        if (Config.REPAIR_ALLOW_REPAIR)

            ^^^^^^

Config can not be resolved

----------

1 problem (1 error) Failed executing script

 

that must be for something in config.java?

 

1.well you get error cause you havent registered Config.REPAIR_ALLOW_REPAIR in Config.java

2.Maybe you haven't other Char on this account? thats why is empty? lol man...

with the char that you load .repair he is not show in the list

  • 9 months later...
  • 3 weeks later...
  • 2 weeks 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

    • SocNet x Dolphin Anty Partnership — Reaching New Heights Together! We’re excited to announce our new partnership with the anti-detect browser Dolphin Anty! Thank you for your trust and support — it's because of you that we continue to grow, expand, and bring even more value and opportunities to our customers. This partnership with Dolphin Anty offers more convenience, security, and flexibility for your work and automation needs. Read more on Dolphin Anty’s official blog: https://dolphin-anty.com/blog/en/socnet-and-dolphin-anty/ We’re also looking for new suppliers! — Snapchat accounts — Reddit accounts with karma — LinkedIn accounts with connections Contact us via DM or support to discuss terms — we’re always open to partnership proposals! Explore our online store: ➡ Accounts: Telegram, Facebook, Reddit, Twitter (X), Instagram, YouTube, TikTok, Discord, VK, LinkedIn, GitHub, Snapchat, Gmail, and emails (Outlook, Firstmail, Rambler, Onet, Gazeta, GMX, Yahoo, Proton, Web.de), Google Voice, Google Ads ➡ Premium Subscriptions: Telegram Premium, Twitter X Premium, YouTube Premium, Spotify Premium, Netflix Premium, Discord Nitro, ChatGPT Plus/PRO, XBOX Game Pass ➡ Additional Services: Telegram Stars, proxies (IPv4, IPv6, ISP, Mobile), VPNs (Outline, WireGuard, others), VDS/RDP servers To celebrate the partnership, use promo code DOLPHIN15 for 15% off in our online store! SMM Panel Services: ➡ Use our SMM Panel to boost: Facebook, Instagram, Telegram, Spotify, SoundCloud, YouTube, Reddit, Threads, Kick, Discord, LinkedIn, Likee, VK, Twitch, Kwai, website traffic, TikTok, TrustPilot, Apple Music, TripAdvisor, Snapchat, and more. Get $1 Trial Credit for your first SMM Panel launch: Just submit a support ticket titled "Get Trial Bonus" on our website. ➡ Go to the SMM Panel (clickable) or contact support via bot. Our Key Products: ➡ Online Store: Click ➡ Telegram Store Bot: Click ➡ SMM Panel: Click Payment methods: bank cards · crypto · other popular methods Returning customers get extra discounts & promo codes! Support Contacts: ➡ Telegram: https://t.me/solomon_bog ➡ Discord: https://discord.gg/y9AStFFsrh ➡ WhatsApp: https://wa.me/79051904467 ➡ ✉ Email: solomonbog@socnet.store ➡ Telegram Channel: https://t.me/accsforyou_shop You can also use these contacts to: — consult about bulk purchases — propose partnerships (our partners: https://socnet.bgng.io/partners ) — become a supplier SocNet — Digital Goods & Premium Subscriptions Store
    • SocNet x Dolphin Anty Partnership — Reaching New Heights Together! We’re excited to announce our new partnership with the anti-detect browser Dolphin Anty! Thank you for your trust and support — it's because of you that we continue to grow, expand, and bring even more value and opportunities to our customers. This partnership with Dolphin Anty offers more convenience, security, and flexibility for your work and automation needs. Read more on Dolphin Anty’s official blog: https://dolphin-anty.com/blog/en/socnet-and-dolphin-anty/ We’re also looking for new suppliers! — Snapchat accounts — Reddit accounts with karma — LinkedIn accounts with connections Contact us via DM or support to discuss terms — we’re always open to partnership proposals! Explore our online store: ➡ Accounts: Telegram, Facebook, Reddit, Twitter (X), Instagram, YouTube, TikTok, Discord, VK, LinkedIn, GitHub, Snapchat, Gmail, and emails (Outlook, Firstmail, Rambler, Onet, Gazeta, GMX, Yahoo, Proton, Web.de), Google Voice, Google Ads ➡ Premium Subscriptions: Telegram Premium, Twitter X Premium, YouTube Premium, Spotify Premium, Netflix Premium, Discord Nitro, ChatGPT Plus/PRO, XBOX Game Pass ➡ Additional Services: Telegram Stars, proxies (IPv4, IPv6, ISP, Mobile), VPNs (Outline, WireGuard, others), VDS/RDP servers To celebrate the partnership, use promo code DOLPHIN15 for 15% off in our online store! SMM Panel Services: ➡ Use our SMM Panel to boost: Facebook, Instagram, Telegram, Spotify, SoundCloud, YouTube, Reddit, Threads, Kick, Discord, LinkedIn, Likee, VK, Twitch, Kwai, website traffic, TikTok, TrustPilot, Apple Music, TripAdvisor, Snapchat, and more. Get $1 Trial Credit for your first SMM Panel launch: Just submit a support ticket titled "Get Trial Bonus" on our website. ➡ Go to the SMM Panel (clickable) or contact support via bot. Our Key Products: ➡ Online Store: Click ➡ Telegram Store Bot: Click ➡ SMM Panel: Click Payment methods: bank cards · crypto · other popular methods Returning customers get extra discounts & promo codes! Support Contacts: ➡ Telegram: https://t.me/solomon_bog ➡ Discord: https://discord.gg/y9AStFFsrh ➡ WhatsApp: https://wa.me/79051904467 ➡ ✉ Email: solomonbog@socnet.store ➡ Telegram Channel: https://t.me/accsforyou_shop You can also use these contacts to: — consult about bulk purchases — propose partnerships (our partners: https://socnet.bgng.io/partners ) — become a supplier SocNet — Digital Goods & Premium Subscriptions Store
    • SocNet x Dolphin Anty Partnership — Reaching New Heights Together! We’re excited to announce our new partnership with the anti-detect browser Dolphin Anty! Thank you for your trust and support — it's because of you that we continue to grow, expand, and bring even more value and opportunities to our customers. This partnership with Dolphin Anty offers more convenience, security, and flexibility for your work and automation needs. Read more on Dolphin Anty’s official blog: https://dolphin-anty.com/blog/en/socnet-and-dolphin-anty/ We’re also looking for new suppliers! — Snapchat accounts — Reddit accounts with karma — LinkedIn accounts with connections Contact us via DM or support to discuss terms — we’re always open to partnership proposals! Explore our online store: ➡ Accounts: Telegram, Facebook, Reddit, Twitter (X), Instagram, YouTube, TikTok, Discord, VK, LinkedIn, GitHub, Snapchat, Gmail, and emails (Outlook, Firstmail, Rambler, Onet, Gazeta, GMX, Yahoo, Proton, Web.de), Google Voice, Google Ads ➡ Premium Subscriptions: Telegram Premium, Twitter X Premium, YouTube Premium, Spotify Premium, Netflix Premium, Discord Nitro, ChatGPT Plus/PRO, XBOX Game Pass ➡ Additional Services: Telegram Stars, proxies (IPv4, IPv6, ISP, Mobile), VPNs (Outline, WireGuard, others), VDS/RDP servers To celebrate the partnership, use promo code DOLPHIN15 for 15% off in our online store! SMM Panel Services: ➡ Use our SMM Panel to boost: Facebook, Instagram, Telegram, Spotify, SoundCloud, YouTube, Reddit, Threads, Kick, Discord, LinkedIn, Likee, VK, Twitch, Kwai, website traffic, TikTok, TrustPilot, Apple Music, TripAdvisor, Snapchat, and more. Get $1 Trial Credit for your first SMM Panel launch: Just submit a support ticket titled "Get Trial Bonus" on our website. ➡ Go to the SMM Panel (clickable) or contact support via bot. Our Key Products: ➡ Online Store: Click ➡ Telegram Store Bot: Click ➡ SMM Panel: Click Payment methods: bank cards · crypto · other popular methods Returning customers get extra discounts & promo codes! Support Contacts: ➡ Telegram: https://t.me/solomon_bog ➡ Discord: https://discord.gg/y9AStFFsrh ➡ WhatsApp: https://wa.me/79051904467 ➡ ✉ Email: solomonbog@socnet.store ➡ Telegram Channel: https://t.me/accsforyou_shop You can also use these contacts to: — consult about bulk purchases — propose partnerships (our partners: https://socnet.bgng.io/partners ) — become a supplier SocNet — Digital Goods & Premium Subscriptions Store
    • Wipe. Open Date: 2025-08-02, 18:00 GMT+2
  • 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