Jump to content

Recommended Posts

Posted

Hello Members to Mxc Create One Code to press .reward and select Hero,Noblesse.

Photo:reward.png

Add code ReqeuestBypassToServer

		
    String INSERT_DATA = "REPLACE INTO characters_custom_data (obj_Id, char_name, hero, noble, donator, hero_end_date) VALUES (?,?,?,?,?,?)";

else if (_command.startsWith("hero1"))
	    {
			if(activeChar.isInOlympiadMode())
			{
				activeChar.sendMessage("This Menu Cannot Be Used On Olympiad Games.");
			}

			if(activeChar.isHero())
			{
				activeChar.sendMessage("You Are Already A Hero!.");
			}
			else if (activeChar.getInventory().getInventoryItemCount(9595, 0) >= 25)
	    	{	
	    	     activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 16));
			     activeChar.setHero(true);
			     updateDatabase(activeChar, Config.HERO_CUSTOM_DAY * 24L * 60L * 60L * 1000L);
			     activeChar.sendMessage("You Are Now a Hero,You Are Granted With Hero Status , Skills ,mxc.");
			     activeChar.broadcastUserInfo();
			     activeChar.destroyItem("Consume", activeChar.getObjectId(), 1, null, false);
			     activeChar.getInventory().addItem("Wings", 6842, 1, activeChar, null);
				  if (!activeChar.destroyItemByItemId("Vote Reward Item", 9595, 25, activeChar, false))
					return;
	    	}
	    	else
	    	{
	    		activeChar.sendMessage("You Dont Have Vote Reward Item.");
	    	}

	    }
    	else if (_command.startsWith("nobless"))
        {
			if(activeChar.isInOlympiadMode())
			{
				activeChar.sendMessage("This Menu Cannot Be Used On Olympiad Games.");
			}

    		if(activeChar.isNoble())
			{
				activeChar.sendMessage("You Are Already A Noblesse!.");
			}
			else if (activeChar.getInventory().getInventoryItemCount(9595, 0) >= 25)
	    	{	
				activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 16));
				activeChar.setNoble(true);
				activeChar.sendMessage("You Are Now a Noble,You Are Granted With Noblesse Status , And Noblesse Skills.");
				activeChar.broadcastUserInfo();
				activeChar.destroyItem("Consume", activeChar.getObjectId(), 1, null, false);
				activeChar.getInventory().addItem("Tiara", 7694, 1, activeChar, null);
				  if (!activeChar.destroyItemByItemId("Vote Reward Item", 9595, 25, activeChar, false))
					return;
			}
			else
			{
				activeChar.sendMessage("You Dont Have Vote Reward Item.");
			}
        }
private void updateDatabase(L2PcInstance player, long heroTime)
{
	Connection con = null;
	try
	{
		if(player == null)
			return;

		con = L2DatabaseFactory.getInstance().getConnection(false);
		PreparedStatement stmt = con.prepareStatement(INSERT_DATA);

		stmt.setInt(1, player.getObjectId());
		stmt.setString(2, player.getName());
		stmt.setInt(3, 1);
		stmt.setInt(4, player.isNoble() ? 1 : 0);
		stmt.setInt(5, player.isDonator() ? 1 : 0);
		stmt.setLong(6, heroTime == 0 ? 0 : System.currentTimeMillis() + heroTime);
		stmt.execute();
		stmt.close();
		stmt = null;
	}
	catch(Exception e)
	{
		if(Config.ENABLE_ALL_EXCEPTIONS)
			e.printStackTrace();

		_log.log(Level.SEVERE, "Error: could not update database: ", e);
	}
	finally
	{
		CloseUtil.close(con);

		con = null;
	}
}

go com.l2jfrozen.gameserver.handler.VoicedCommandHandler

Paste Here code

registerVoicedCommandHandler(new votereward());

add Code VoicedCommandHandler

Name votereward

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

import javolution.text.TextBuilder;

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

public class votereward implements IVoicedCommandHandler
{
private static String[] _voicedCommands =
{
	"reward"
};


@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
	if (command.equalsIgnoreCase("reward"))
	{
		if (activeChar.getInventory().getInventoryItemCount(9595, 0) >= 1)
		{	 
		  votepanel(activeChar);
		}
		else
		{
			activeChar.sendMessage("You Dont Have Vote Reward Items.");
			activeChar.sendMessage("Try again.");
		}
	}
	return true;
}

public static void votepanel(L2PcInstance activeChar)
{
	NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
	TextBuilder replyMSG = new TextBuilder("<html><center><body><title>Reward Panel</title><br>");
	replyMSG.append("<center><font color=\"FFFF00\">"+ activeChar.getName() +"</font></center><br>");
	replyMSG.append("<center><font color=3c3c3c>__________________________________</font></center><br>");
	replyMSG.append("<table>");
	replyMSG.append("<tr>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_r_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_e_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_w_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_a_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_r_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_d_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("</tr>");
	replyMSG.append("</table>");
	replyMSG.append("<br>");
	replyMSG.append("<table>");
	replyMSG.append("<tr>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_p_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_a_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_n_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_e_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("<td><img src=\"icon.etc_alphabet_l_i00\" width=32 height=32 align=\"center\"></td>");
	replyMSG.append("</tr>");
	replyMSG.append("</table><br>");
	replyMSG.append("<center><font color=3c3c3c>__________________________________</font></center><br>");
	if(activeChar.isHero())
	{	
		replyMSG.append("<center><font color=\"00FF00\">Hero Status:</font> Enabled</center><br>");
	}
	else
	{
		replyMSG.append("<button value=\"Hero 1 Day (25 Vote Item)\" action=\"bypass -h hero1\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\">");
	}
	if(activeChar.isNoble())
	{	
		replyMSG.append("<center><font color=\"00FF00\">Noble Status:</font> Enabled</center><br>");
	}
	else
	{
		replyMSG.append("<button value=\"Noblesse (25 Vote Item)\" action=\"bypass -h nobless\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\">");
	}
	replyMSG.append("<center><font color=3c3c3c>__________________________________</font></center><br>");
	replyMSG.append("</body></html>");

	adminReply.setHtml(replyMSG.toString());
	activeChar.sendPacket(adminReply);

	adminReply = null;
	replyMSG = null;
}

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

Posted

It can be lighter. Like the half code.

True...However, i think that when you use that: activeChar.setNoble(true); It makes the database updates automatically (at least on freya client).

 

Anyway, thanks for sharing this.

Posted

True...However, i think that when you use that: activeChar.setNoble(true); It makes the database updates automatically (at least on freya client).

 

It does, at least on aCis, but.. this is broken :troll:

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

    • From Salvation onwards I think you need a patched nwindow.dll that allows such modifications, try to see if you get what you need here: https://drive.google.com/drive/u/1/folders/1LLbQFGf8KlR-O0Iv5umfF-pwZgrDh9bd
    • hello everyone! I am wanting to save the files (Ini. - Data - ) of the EP5 Client: Salvation... But they generate the error "corrupt files"... I tried several versions of L2FileEditor without good results. I need help! Thank you!
    • Opening December 6th at 19:00 (GMT +3)! Open Beta Test from November 30th!   https://l2soe.com/   🌟 Introducing L2 Saga of Eternia: A Revolution in Lineage 2 High Five! 🌟   Dear Lineage 2 enthusiasts, Prepare to witness the future of private servers! L2 Saga of Eternia is not just another High Five project—it’s a game-changing experience designed to compete with the giants of the Lineage 2 private server scene. Built for the community, by the community, we’re here to raise the bar in quality, innovation, and longevity. What Sets Us Apart? 💎 No Wipes, Ever Say goodbye to the fear of losing your progress. Our server is built to last and will never close. Stability and consistency are our promises to you. ⚔️ Weekly New Content Our dedicated development team ensures fresh challenges, events, and updates every week. From custom quests to exclusive features, there will always be something exciting to explore. 💰 No Pay-to-Win Skill and strategy matter most here. Enjoy a balanced gameplay environment where your achievements come from effort, not your wallet. 🌍 A Massive Community With 2000+ players expected, join a vibrant and active community of like-minded adventurers ready to conquer the world of Aden. 🏆 Fair and Competitive Gameplay Our systems are designed to promote healthy competition while avoiding abusive mechanics and exploits. 🔧 Professional Development From advanced bug fixes to carefully curated content, we pride ourselves on smooth performance, no lag, and unparalleled server quality. Key Features Chronicle: High Five with unique interface Rate: Dynamic x10 rates Class Balance: Carefully fine-tuned for a fair experience PvP Focused: PvP Ranking & aura display effect for 3 Top PvPers every week Custom Events: Seasonal and permanent events to keep you engaged Additional Features:   Custom Endgame Content: Introduce unique dungeons, raids, or zones unavailable in other servers. Player-Driven Economy: Implement a strong market system and avoid overinflated drops or rewards. Epic Siege Battles: Announce special large-scale sieges and PvP events. Incentives for Streamers and Clans: Attract influencers and big clans to boost server publicity. Roadmap Transparency: Share a public roadmap of planned updates to build trust and excitemen   Here you can read all the features: https://l2soe.com/features   Video preview: Join the Revolution! This is your chance to be part of something legendary. L2 Saga of Eternia is not just a server; it’s a movement to redefine what Lineage 2 can be. Whether you’re a seasoned veteran or a newcomer to the world of Aden, we invite you to experience Lineage 2 at its finest.   Official Launch Date: December 6th 2024 Website: https://l2soe.com/ Facebook: https://www.facebook.com/l2soe Discord: https://discord.com/invite/l2eternia   Let’s build the ultimate Lineage 2 experience together. See you in-game! 🎮
    • That's like a tutorial on how to run l2 on MacOS Xd but good job for the investigation. 
  • Topics

×
×
  • Create New...