Guest Elfocrash Posted April 4, 2012 Posted April 4, 2012 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 Quote
Dulens. Posted April 4, 2012 Posted April 4, 2012 Just 3 words. Fucking awsome work!! Keep your shares Nikos! :') Quote
Grim. Posted April 4, 2012 Posted April 4, 2012 Nice work.Btw it could be more advanced by selecting what buff to give in every class.GJ Quote
Guest Elfocrash Posted April 4, 2012 Posted April 4, 2012 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 Quote
Guest Elfocrash Posted April 4, 2012 Posted April 4, 2012 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 Quote
Sirocco Posted April 4, 2012 Posted April 4, 2012 Waiting more cool ideas like this one. Good job. Quote
SkySkase Posted April 5, 2012 Posted April 5, 2012 -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? Quote
An4rchy Posted April 5, 2012 Posted April 5, 2012 +# 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. Quote
Guest Elfocrash Posted April 5, 2012 Posted April 5, 2012 +# 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 Quote
SkySkase Posted April 6, 2012 Posted April 6, 2012 -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? Quote
SkySkase Posted April 6, 2012 Posted April 6, 2012 They have the same stuckType that's why. So what exacly i must Change so They can Stuck? Quote
Zake Posted April 6, 2012 Posted April 6, 2012 So what exacly i must Change so They can Stuck? the stuckType Oo Quote
Recommended Posts
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.