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

Posted

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

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?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Hay Algun datapack de L1 OFF ? 
    • pone los link para descargarlos por fa   
    • Greetings, everyone. I am sharing a configuration designed for any code editor/console with AI agents. This setup allows for expanded context and highly specific skills depending on your project requirements. It also comes with reusable skills ready for immediate use. Current configuration covers: WEB, L2j server datapacks, and L2j dev (including skills for handling decompiled Java datapacks, etc.). I have left a LINK to the original video on which this specific configuration is based. It also contains brief guides on how to implement new skills. You can simply ask your AI agent to review the guide to get started.   https://github.com/zambo420/Supercharge-your-AI-assistant-for-WEB-and-L2-DATAPACKS-dev.-.git   # 🤖 AI Skills Starter Kit - Forum Quick Start > **Supercharge your AI assistant (Claude, Gemini, Copilot)** ## ⚡ Installation in 2 Minutes   ### 1. Download and copy Copy the `Supercharge-your-AI-assistant-for-WEB-and-L2-DATAPACKS-dev.-/` folder to your project root.   ### 2. Rename and structure ``` your-project/ ├── skills/                      # Rename skills_reutilizables → skills │   ├── skill-creator/ │   ├── react-19/               # Copy the ones you need │   ├── typescript/ │   └── setup.ps1               # Copy from templates/ ├── AGENTS.md                    # Copy from templates/AGENTS.md.template └── src/                         # Your code ```   ### 3. Edit AGENTS.md Customize with your skills:   ```markdown   ## Available Skills | Skill | Description | File | |-------|-------------|------| | `react-19` | React 19 patterns | [SKILL.md](skills/react-19/SKILL.md) |   ## Auto-invoke Skills | Action | Skill | |--------|-------| | Working with React components | `react-19` | ```   ### 4. Sync ```powershell .\skills\setup.ps1 ```   ### 5. Done! Restart your AI assistant and start working.   ---   ## 📦 Included Skills (56 Total) ### Frontend - `react-19` - React 19, hooks, RSC - `typescript` - TypeScript patterns - `tailwind-4` - TailwindCSS v4 - `vite` - Build configuration - `zustand-5` - State management - `nextjs-15` - Next.js 15 - `i18next` - Internationalization - `react-router` - React Router v7 ### Backend - `zod-4` - Validation schemas - `ioredis` - Redis caching - `jwt` - JWT authentication - `django-drf` - Django REST Framework ### Testing & AI - `playwright` - E2E testing - `pytest` - Python testing - `ai-sdk-5` - Vercel AI SDK ### Utilities - `skill-creator` - Create new skills - `java-ant-build` - Apache Ant build system - `jira-epic` - Create Jira epics - `jira-task` - Create Jira tasks ### L2J/Game Server (33 skills) - `gameserver-data` - XMLs, multisells, spawns, NPCs - `gameserver-config` - Server configuration files - `authserver-config` - Login server configuration - `client-files` - Client textures, L2Text, system - `lucera2-core` - L2J core patterns, base classes - `lucera2-handlers` - Admin/user commands, bypass - `lucera2-services` - Community Board, ACP, Buffer - `lucera2-scripts` - Quests, NPCs, bosses, events - `lucera2-network` - Network packets - `lucera2-geodata` - Pathfinding, line of sight - `lucera2-ai` - NPC AI, monster behavior - `lucera2-zones` - Zone scripts, restrictions - `lucera2-achievements` - Achievement system - `lucera2-phantoms` - Fake players (bots) - `lucera2-data` - XML/SQL parsers, holders - `lucera2-authserver` - Login server Java code - `lucera2-olympiad` - Olympiad, heroes, nobles - `lucera2-residences` - Castles, clan halls, siege - `lucera2-skills-effects` - Skill effects, conditions - `lucera2-telegram` - Telegram bot integration - `lucera2-events-pvp` - TvT, GvG, CTF events - `lucera2-seasonal-events` - Holiday events - `lucera2-npc-instances` - Custom NPC types - `lucera2-items-inventory` - Items, inventory - `lucera2-clans-alliances` - Clans, wars - `lucera2-voting-ranking` - Voting rewards - `lucera2-siege-duel` - Siege, duel mechanics - `lucera2-pets-summons` - Pets, servitors - `lucera2-promo-rewards` - Promo codes, daily rewards - `lucera2-item-handlers` - Item handlers - `lucera2-instances-dungeons` - Instance dungeons - `lucera2-minigames` - Lottery, Fishing - `lucera2-autofarm` - AutoFarm bot system - `lucera2-party-matching` - Party finder - `lucera2-cursed-weapons` - Zariche, Akamanah - `lucera2-vip-premium` - VIP/premium accounts - `lucera2-extjar-projects` - Creating .ext.jar projects ---   ## 🎯 The Magic Trick The **Auto-invoke** table is the key:   ```markdown ## Auto-invoke Skills   | Action | Skill | |--------|-------| | Creating React components | `react-19` | | Adding TypeScript types | `typescript` | | Writing E2E tests | `playwright` | ```   **Without this table, AI ignores skills.** With it, they load automatically.   ---   ## 📁 Important Files | File | Purpose | |------|---------| | `AGENTS.md` | Main agent configuration | | `skills/setup.ps1` | Syncs to .claude/.gemini/.github | | `skills/*/SKILL.md` | Each skill definition |   ---   ## 💡 Tips 1. **One place only**: Keep all skills in `skills/` 2. **Auto-invoke**: Without this table, it won't work 3. **setup.ps1**: Run after every change 4. **Restart**: AI needs restart to load changes   ---   ## 🔧 Create Your Own Skill   ```markdown --- name: my-skill description: My skill description ---   ## When to Use - When to use this skill   ## Key Patterns - Important patterns   ## Code Examples \`\`\`typescript // Code example \`\`\` ```   Add to AGENTS.md and run `.\skills\setup.ps1`.   ---   ## 🤝 Compatibility - ✅ Claude Code (Antigravity) - ✅ Gemini CLI - ✅ GitHub Copilot - ✅ Cursor - ✅ Any AI that supports AGENTS.md   ---   ## 📚 More Info See `README.md` on github for complete guide and detailed documentation.    
    • hello guys im searching these days to find something like a patch interface i dont know what it is i logged in many servers i love like those graphics the titles and names are more smooth with bold letters ..i logged in euro-pvp.com but deazel(lucera dev) told me that euro-pvp has multiprotocol with interlude and classic ... and i found a server with name l2gamepower thats only interlude and has same graphics .. can someone explain me or help me how can i have this graphics with namers titles more bold letters and in log in has a name with a patch    https://imgur.com/a/0HzBKWk
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..

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