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.


  • Posts

    • @BruT   At what age did you stop going to school? How can you be so idiotic? In many countries around the world, calling someone a 'monkey' is a crime.  There’s nothing more satisfying than seeing Mobius' desperation to defend himself by using insults and revealing who he really is. 🤣😂🤣😂🤣😂🤣😂🤣
    • slandering without any proof is also bannable offence.
    • @Moebius Bem, bem... O grande paladino, o poderoso deus-rei todo-poderoso de L2J, decidiu aparecer para soltar suas verdadeiras palavras de insultos e racismo contra os outros. Acredito que, de fato, os administradores não tolerarão isso.@Maxtor Cada palavra que você diz mostra exatamente o quanto você é um imbecil, um golpista que engana as pessoas e vende códigos fraudulentos para indivíduos inocentes. Sabe o que ainda é melhor? Aqui neste fórum, você não tem poder sobre as opiniões dos outros. Que outras palavras você tem para insultar as pessoas? Estou aqui para ver você chorar e chamar por sua mamãe. Você é um verdadeiro covarde que engana pessoas inocentes sem conhecimento. É mais fácil para você enganá-las dessa forma, não é? Talvez isso não seja novidade para todos, pois muitos podem ver que você faz isso o tempo todo com as pessoas do seu grupo do Discord. Acredito que você atrapalhou meu conselho de começar um programa de comédia na TV porque, a cada dia que passa, você é mais como um palhaço. Um palhaço golpista, é claro.  Você está caindo em um abismo sem fim, e eu estou adorando. Fraudadores e golpistas que enganam pessoas inocentes ganham prejuízo.   @BruTAgora, quanto a você... Sinceramente, não sei quem é Gabriel. Ele deve ser outro idiota como você e Mobius, enganando alguém. Vocês são todos tão tolos a ponto de acreditar que tudo o que está acontecendo é por causa de apenas uma ou duas pessoas? Claro que não. Muitas pessoas já foram vítimas dos golpes do grande mestre da fraude de código malicioso. E alguns tentaram falar e revelar gradualmente quem é o verdadeiro fraudador.   @Móbius Agora, quanto a essa informação... Tenho quase certeza de que esse cara que você diz ser eu devo ser outro idiota como você, tentando manipular algo. Seu nível de estupidez não tem limites!😂🤣😂🤣😂🤣
    • I've already answered your question multiple times, yet here we are again. Try reading the previous replies again - slowly this time.
  • Topics

×
×
  • Create New...