Jump to content

Vote Buff .rewardme Command


Recommended Posts

Guest Elfocrash
Posted

Hello guys!

 

I see all the servers around have a vote reward system which actually rewards you with items, usually vote coins, in order to get items like gear,

scrolls and others.

By adding this code you give the opportunity to the players get rewarded with a buff you select by giving some of the vote items

Everything is configurable.

The command is .rewardme

Nothing hard to be coded,just an idea a guy gave me and i though it was cool.

 

Code:

### Eclipse Workspace Patch 1.0
#P PewPew
Index: gameserver/config/functions/l2jfrozen.properties
===================================================================
--- gameserver/config/functions/l2jfrozen.properties	(revision 930)
+++ gameserver/config/functions/l2jfrozen.properties	(working copy)
@@ -280,4 +280,23 @@
ProtectorSkillLevel = 13
ProtectorSkillTime = 600
# Npc Protector Message
-ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
\ No newline at end of file
+ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
+
+# -----------------------------------------
+# Vote Buff Config  -
+# -----------------------------------------
+# By enabling this you will give the players the opportunity
+# to get rewarded with a buff that you will choose
+VoteBuffCmdEnabled = True
+# Set the item that you reward the players by their votes
+# Default 3470 - Gold Bar
+VoteItemId = 3470
+# Set the a-beep-t needed and will be consumed in order to get the buff
+VoteItemRequired = 5
+# Set the name of the item 
+VoteItemName = Gold Bar
+# Set the Buff ID that you want to reward the players with
+# Default Active : Might
+VoteBuffId = 3132
+# Set the level of the buff
+VoteBuffLevel = 10
Index: gameserver/head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java
===================================================================
--- gameserver/head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java	(revision 930)
+++ gameserver/head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java	(working copy)
@@ -35,6 +35,7 @@
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.TvTCmd;
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.VersionCmd;
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.Voting;
+import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.VoteRewardMe;
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.Wedding;

/**
@@ -66,6 +67,11 @@

		registerVoicedCommandHandler( new Voting());

+		if(Config.VOTE_BUFF_ENABLED)
+		{
+		registerVoicedCommandHandler( new VoteRewardMe());
+		}
+		
		if(Config.BANKING_SYSTEM_ENABLED)
		{
			registerVoicedCommandHandler(new BankingCmd());
Index: gameserver/head-src/com/l2jfrozen/Config.java
===================================================================
--- gameserver/head-src/com/l2jfrozen/Config.java	(revision 930)
+++ gameserver/head-src/com/l2jfrozen/Config.java	(working copy)
@@ -2378,6 +2378,12 @@
	public static String FARM2_CUSTOM_MESSAGE;
	public static String PVP1_CUSTOM_MESSAGE;
	public static String PVP2_CUSTOM_MESSAGE;
+	public static int VOTE_ITEM_ID;
+	public static int VOTE_ITEM_A-beep-T;
+	public static int VOTE_BUFF_ID;
+	public static int VOTE_BUFF_LVL;
+	public static boolean VOTE_BUFF_ENABLED;
+	public static String VOTE_ITEM_NAME;

	//============================================================
	public static void loadL2JFrozenConfig()
@@ -2497,6 +2503,14 @@
			FARM2_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("Farm2CustomMeesage", "You have been teleported to Farm Zone 2!");
			PVP1_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP1CustomMeesage", "You have been teleported to PvP Zone 1!");
			PVP2_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP2CustomMeesage", "You have been teleported to PvP Zone 2!");
+			
+			//Vote Buff Config
+			VOTE_BUFF_ENABLED = Boolean.parseBoolean(L2JFrozenSettings.getProperty("VoteBuffCmdEnabled", "false"));
+			VOTE_ITEM_ID = Integer.parseInt(L2JFrozenSettings.getProperty("VoteItemId", "3470"));
+			VOTE_ITEM_A-beep-T = Integer.parseInt(L2JFrozenSettings.getProperty("VoteItemRequired", "5"));
+			VOTE_BUFF_ID = Integer.parseInt(L2JFrozenSettings.getProperty("VoteBuffId", "3132"));
+			VOTE_BUFF_LVL = Integer.parseInt(L2JFrozenSettings.getProperty("VoteBuffLevel", "10"));
+			VOTE_ITEM_NAME = L2JFrozenSettings.getProperty("VoteItemName", "Vote Item");
		}
		catch(Exception e)
		{
Index: gameserver/head-src/com/l2jfrozen/gameserver/handler/voicedcommandhandlers/VoteRewardMe.java
===================================================================
--- gameserver/head-src/com/l2jfrozen/gameserver/handler/voicedcommandhandlers/VoteRewardMe.java	(revision 0)
+++ gameserver/head-src/com/l2jfrozen/gameserver/handler/voicedcommandhandlers/VoteRewardMe.java	(revision 0)
@@ -0,0 +1,70 @@
+/*
+ * 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 com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;
+import com.l2jfrozen.gameserver.model.L2Effect;
+import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jfrozen.gameserver.model.PcInventory;
+import com.l2jfrozen.gameserver.model.Inventory;
+import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser;
+import com.l2jfrozen.gameserver.datatables.SkillTable;
+
+
+/**
+ * @author Elfocrash
+ */
+
+public class VoteRewardMe implements IVoicedCommandHandler
+{
+	private static final String[] VOICED_COMMANDS =
+	{
+			"rewardme"
+	};
+
+	
+	@Override
+	public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
+	{
+
+			if(activeChar.isInOlympiadMode() || activeChar.getOlympiadGameId() != -1)
+			{
+				activeChar.sendMessage("You can't use that command inside Olympiad");
+				return false;
+			}
+
+			if(activeChar.getInventory().getItemByItemId(Config.VOTE_ITEM_ID).getCount() >= Config.VOTE_ITEM_A-beep-T)
+			{
+				activeChar.getInventory().destroyItemByItemId("Consume", Config.VOTE_ITEM_ID, Config.VOTE_ITEM_A-beep-T, activeChar, null);
+				activeChar.sendMessage(Config.VOTE_ITEM_A-beep-T + " " + Config.VOTE_ITEM_NAME + "(s) have been consumed.");
+				MagicSkillUser mgc = new MagicSkillUser(activeChar, activeChar, Config.VOTE_BUFF_ID, Config.VOTE_BUFF_LVL, 1, 0);
+				SkillTable.getInstance().getInfo(Config.VOTE_BUFF_ID, Config.VOTE_BUFF_LVL).getEffects(activeChar,activeChar);
+				activeChar.broadcastPacket(mgc);
+				activeChar.sendMessage("You have been blessed with the effects of the Vote Buff!");	
+			}
+			else
+			{			
+				activeChar.sendMessage("You don't have enough " + Config.VOTE_ITEM_NAME + "(s) in order to get rewarded!");
+			}
+			return true;	
+	}
+
+	@Override
+	public String[] getVoicedCommandList()
+	{
+		return VOICED_COMMANDS;
+	}
+}

Video Preview:

 

Coded in l2jfrozen last rev.

 

PS: The -beep- in the code is actually the work {AMO UNT} without the space.Stupid smf

Guest Elfocrash
Posted

Nice work.Btw it could be more advanced by selecting what buff to give in every class.GJ

actually you have to make a custom buff that gives a variety of stats for all classes but your idea is good.It is easy to be made.

Thanks guys

Guest Elfocrash
Posted

oo good man , have for Hi5 ?

just adapt it.i think this will work just but adding the correct imports and correcting the config stuff

Posted

-beep-ing awsome work!!

Just one litle Question I want to reward agg skills but if someone use 2 skills the one doesnt stay and i can have only 1 How can i change that to more than 1?

Posted

+# Set the name of the item

+VoteItemName = Gold Bar

 

This isn't actually needed, you can skip that. Do it like this:

activeChar.sendMessage("You don't have enough " +  ItemTable.getInstance().getTemplate(Config.VOTE_ITEM_ID).getName() + "(s) in order to get rewarded!");

 

The code isn't bad and it's clean too, but just saying how to make it more simple ;) Friendly always.

 

Thanks, gj.

Guest Elfocrash
Posted

+# Set the name of the item

+VoteItemName = Gold Bar

 

This isn't actually needed, you can skip that. Do it like this:

activeChar.sendMessage("You don't have enough " +  ItemTable.getInstance().getTemplate(Config.VOTE_ITEM_ID).getName() + "(s) in order to get rewarded!");

 

The code isn't bad and it's clean too, but just saying how to make it more simple ;) Friendly always.

 

Thanks, gj.

Yeah i know that it isn't needed.I just wanted to give the opportunity to users type something else :P

Thank you

Posted

-beep-ing awsome work!!

Just one litle Question I want to reward agg skills but if someone use 2 skills the one doesnt stay and i can have only 1 How can i change that to more than 1?

Any answer on My Question?

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.




×
×
  • Create New...