Jump to content

Recommended Posts

Posted

statement activeChar.getLevel() >= 1

 

>= biger or Equal

 

< Smaller

> Bigger

<= Smaler-equal

>= Bigger-equal

== Equal (two Equal Symbols)

Posted

this statement activeChar.getLevel() >= 1 you should to be level 0 to use this command ?

lol >= equal or lower

Posted

/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/newbiegift.java@2

/*
2	 * This program is free software: you can redistribute it and/or modify it under
3	 * the terms of the GNU General Public License as published by the Free Software
4	 * Foundation, either version 3 of the License, or (at your option) any later
5	 * version.
6	 *
7	 * This program is distributed in the hope that it will be useful, but WITHOUT
8	 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9	 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
10	 * details.
11	 *
12	 * You should have received a copy of the GNU General Public License along with
13	 * this program. If not, see <http://www.gnu.org/licenses/>.
14	 */
15	package net.sf.l2j.gameserver.handler.voicedcommandhandlers;
16	
17	import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
18	import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
19	import net.sf.l2j.util.Rnd;
20	
21	/**
22	+*
23	+* @author eko
24	+*/
25	public class newbiegift implements IVoicedCommandHandler
26	{
27	        private static final String[] VOICED_COMMANDS = { "newbiegift" };
28	           
29	public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
30	{
31	        if (command.equalsIgnoreCase("newbiegift"))
32	        {
33	                if (activeChar.getLevel() >= 1 && activeChar.isNewbie())
34	                {
35	                        activeChar.sendMessage("You are allready Used that Command.");
36	                        return true;
37	                }
38	                else if (activeChar.getInventory().getItemByItemId(3434).getCount() >= 1)
39	                {
40	                        activeChar.getInventory().destroyItemByItemId("newbiegift", 3434, 1, activeChar, activeChar.getTarget());
41	                        // {ItemID, Item Ammount}
42	                int[][] items = { {8557, 1}, {8184, 1}, { 8187, 1}, { 8552, 1}, { 8185, 1}, { 8563, 1}, { 8562, 1}, { 8561, 1}, { 8560, 1} };
43	            // How many Items Aviable on the List
44	                int[] ar = items[Rnd.get(9)];
45	                activeChar.addItem(command,  ar[0], ar[1], activeChar, true);
46	                        activeChar.sendMessage("You Recived a Newbiegift!");
47	            activeChar.broadcastUserInfo();
48	                }
49	                else
50	                {
51	                        activeChar.sendMessage("Missing Coke to Create your Gift.");
52	                        return true;
53	                }
54	        }
55	        return false;
56	}
57	public String[] getVoicedCommandList()
58	{
59	        return VOICED_COMMANDS;
60	}
61	}

this is ok now:/java/net/sf/l2j/Config.java


   public static int L2JMOD_WEDDING_DIVORCE_COSTS; 
884	884	 
	885	    //Newbie Gift Config 
	886	    public static boolean  NewbieGift           = true; 
	887	     
885	888	    // Packet information 
886	889	    /** Count the amount of packets per minute ? */ 
…	…	 
1860	1863	                L2JMOD_WEDDING_DIVORCE_COSTS            = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20")); 
1861	1864	 
	1865	                //Newbie gift 
	1866	                NewbieGift              = Boolean.parseBoolean(L2JModSettings.getProperty("NewbieGift ", "True")); 
	1867	                 
1862	1868	                if (TVT_EVENT_PARTICIPATION_NPC_ID == 0) 
1863	1869	                { 

2nd part : java/net/sf/l2j/gameserver/GameServer.java

import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Wedding; 
200	200	import net.sf.l2j.gameserver.handler.voicedcommandhandlers.stats; 
	201	import net.sf.l2j.gameserver.handler.voicedcommandhandlers.newbiegift; 
201	202	import net.sf.l2j.gameserver.idfactory.IdFactory; 
202	203	import net.sf.l2j.gameserver.instancemanager.AuctionManager; 
…	…	 
587	588	 
588	589	        _log.config("UserCommandHandler: Loaded " + _userCommandHandler.size() + " handlers."); 
589	 	 
	590	                 
	591	 
	592	                 
590	593	                _voicedCommandHandler = VoicedCommandHandler.getInstance(); 
591	594	                _voicedCommandHandler.registerVoicedCommandHandler(new stats()); 
592	595	 
	596	                if(Config.NewbieGift) 
	597	                        _voicedCommandHandler.registerVoicedCommandHandler(new newbiegift()); 
	598	                 
593	599	                if(Config.L2JMOD_ALLOW_WEDDING) 
594	600	                        _voicedCommandHandler.registerVoicedCommandHandler(new Wedding()); 
	601	 
595	602	 
596	603	                _log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers."); 

Final: /java/config/l2jmods.properties


94	94	#--------------------------------------------------------------- 
	95	# Newbie Gift                     - 
	96	#--------------------------------------------------------------- 
	97	 
	98	NewbieGift=True 
	99	 
	100	#--------------------------------------------------------------- 
95	101	# Team vs. Team Event Engine (by FBIagent)                     - 
96	102	#--------------------------------------------------------------- 

 

 

What about this? :P

Posted

hehe well i dont think you have to put everywhere a config for everything, its easy to change thats why i left it hardcoded

 

anyway make it as a patch and i put it in my topic

Posted

+1 karma from me.

and thanks i need smth like this.

thanks again :)

 

yay! Abusing comes 'n' goes.

Okay, let me see..

 

if (activeChar.getLevel() >= 1 && activeChar.isNewbie())
+		{
+			activeChar.sendMessage("You are allready Used that Command.");
+			return true;
+		}

 

Since when that check defines whether the player has used the command before or not? It can be spammed soo fυcking hard and of course it won't work, since the check you have added is a non-sense level check (jeez, >= 1? A player can't be level 0 -.-) and a isNewbie() check, unrelated with how many times a user has used this command.

 

activeChar.sendMessage("Missing Coke to Create your Gift.");
+			return true;

 

Missing.. whaaa?

 

@FDB: The boolean's value has to be set on False by default. (Non retail shit, just matter of detailed configuration)

 


 

Pretty wrong-coded and kinda useless.

Anyway, keep it up, soon you may come up with something better.

Posted

yay! Abusing comes 'n' goes.

Okay, let me see..

 

if (activeChar.getLevel() >= 1 && activeChar.isNewbie())
+		{
+			activeChar.sendMessage("You are allready Used that Command.");
+			return true;
+		}

 

Since when that check defines whether the player has used the command before or not? It can be spammed soo fυcking hard and of course it won't work, since the check you have added is a non-sense level check (jeez, >= 1? A player can't be level 0 -.-) and a isNewbie() check, unrelated with how many times a user has used this command.

 

activeChar.sendMessage("Missing Coke to Create your Gift.");
+			return true;

 

Missing.. whaaa?

 

@FDB: The boolean's value has to be set on False by default. (Non retail shit, just matter of detailed configuration)

 


 

Pretty wrong-coded and kinda useless.

Anyway, keep it up, soon you may come up with something better.

this statement activeChar.getLevel() >= 1 you should to be level 0 to use this command ?

statement activeChar.getLevel() >= 1

 

>= biger or Equal

 

< Smaller

> Bigger

<= Smaler-equal

>= Bigger-equal

== Equal (two Equal Symbols)

god bless, finally 1 guy

Posted

Ohh coyote you have right if i got it enabled so the config will not work :/ thnks i will correct it on my project

 

@ eKo i will upload patches later

 

 

Posted

Ohh coyote you have right if i got it enabled so the config will not work :/ thnks i will correct it on my project

 

The Config won't work? LoL

I just pointed out a tiny tiny detail, that just has to be fixed in order for the code configuration to meet 'retail criteria'.

Posted

 

if (activeChar.getLevel() >= 1 && activeChar.isNewbie())
+		{
+			activeChar.sendMessage("You are allready Used that Command.");
+			return true;
+		}

 

Since when that check defines whether the player has used the command before or not? It can be spammed soo fυcking hard and of course it won't work, since the check you have added is a non-sense level check (jeez, >= 1? A player can't be level 0 -.-) and a isNewbie() check, unrelated with how many times a user has used this command.

 

that should be

if (activeChar.getLevel() < 1 || !activeChar.isNewbie())

that getLevel() could be to check if there is an error, its usuall to do things like

 

if (error)

activeChar.setLevel() = -1;

 

i could not find any, but maybe in the future some1 will need it

 

 

Of course the msg used is wrong

 

 

another thing that i wont to say is the use of the returns and else if, this is not too much important, but will make it a bit better. You can do

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
        if (command.equalsIgnoreCase("newbiegift"))
        {
                if (activeChar.getLevel() >= 1 && activeChar.isNewbie())
                {
                }
                [b]else[/b] if (activeChar.getInventory().getItemByItemId(3434).getCount() >= 1)
                {
                }
                else
                {
                }
                       [b]return true;[/b]
        }
        return false;
}

or

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
        if (command.equalsIgnoreCase("newbiegift"))
        {
                if (activeChar.getLevel() >= 1 && activeChar.isNewbie())
                {
                       return true
                }// if the first if was true, it will execute return, so there is no need to use else
                if (activeChar.getInventory().getItemByItemId(3434).getCount() >= 1)
                {
                       return true;
                }
                { //just to see that here goes the last code segment
                       return true;
                }
        }
        return false;
}

i repeat that this is not very important, but, its better to use it this way

Posted

that should be

if (activeChar.getLevel() < 1 || !activeChar.isNewbie())

 

How teh heck could somebody be level 0 or lower?

We are not talking about Access Level, but Character's Level.

And also, the isNewbie is supposed to be "&&" and without the exclamation mark which makes it negative.

The code should actually be

 

if (activeChar.getLevel() == 1 && activeChar.isNewbie())

 

But yet again, the check would not be able to determine whether the command has be used or not.

 

Conclusion: If set like that, the code won't work, but even if you fix this small 'symbols' issue, it will be abused and won't operate normally. So, either way the code won't work as supposed.

Posted

How teh heck could somebody be level 0 or lower?

We are not talking about Access Level, but Character's Level.

And also, the isNewbie is supposed to be "&&" and without the exclamation mark which makes it negative.

The code should actually be

 

if (activeChar.getLevel() == 1 && activeChar.isNewbie())

 

But yet again, the check would not be able to determine whether the command has be used or not.

 

Conclusion: If set like that, the code won't work, but even if you fix this small 'symbols' issue, it will be abused and won't operate normally. So, either way the code won't work as supposed.

 

seems like you didnt even read the code properly.

adenaman is right i put a few errors in it, exclamation mark which makes it negative is right since it checks if the char is the first char or the second. and Normally only the first char is a Newbie.

 

second == dosent work on L2J or at least at my pack thats why <= check if its lvl 0 or lvl 1( or did i learn java wrong at school??).

 

third the code will work only when the player has the item coke

 

anyway gonna update the code,and thanks for those answers(coyote,adaman) it helps me i am not mad more happy since its helpfull to me to get more intro l2j and fix my mistakes so this wont happen again

Guest
This topic is now closed to further replies.



  • Posts

    • WIPE ! NEW SEASON GRAND OPENING FROM TODAY ! - 23/01/2026, FRIDAY, 20:00 +3 GMT !
    • https://vpslab.cloud/ Premium DDoS Protection now included with every server.
    • # Changelog - Public Updates   This changelog tracks user-facing updates and improvements to Top.MaxCheaters.com.   ---   ## [1.2.0] - 2026-01-XX   ### ⚡ Performance Improvements - **Faster Page Loads**: Implemented intelligent caching system that makes pages load significantly faster - **My Servers Page**: Now loads instantly when revisiting (no more loading delays) - **Main Page**: Server listings and filters now load faster on repeat visits - **Premium Ads**: Pricing information loads instantly - **Overall Performance**: Site now loads 60-80% faster with reduced server load   ### 🔄 Improvements - Pages now remember recent data, reducing wait times when navigating - Automatic cache refresh ensures you always see up-to-date information - Better user experience with instant page loads on repeat visits   ---   ## [1.1.1] - 2026-01-XX   ### 🐛 Bug Fixes - **VIP Server Filter**: Fixed "VIP L2 Servers" filter to correctly show all premium tier servers (VIP, Gold VIP, and Pinned) - **Ad Pricing Display**: Fixed ad pricing on Premium Ads page to automatically update when changed in admin panel   ### 🔄 Improvements - Ad pricing now syncs automatically across all pages - More accurate server filtering by tier   ---   ## [1.1.0] - 2026-01-XX   ### ✨ New Features - **Complete Chronicle List**: All chronicle options are now available in server forms and filters, including the latest Lineage 2 chronicles - **Improved Chronicle Display**: Server rows now show cleaner, shorter chronicle names for better readability   ### 🐛 Bug Fixes - **Chronicle Filter**: Fixed issue where "Infinite Odyssey" chronicle filter was not working correctly - **Missing Chronicles**: Fixed missing chronicle options in server creation and editing forms   ### 🔄 Improvements - Chronicle filters and dropdowns now stay in sync with the latest available chronicles - Better chronicle name formatting in server listings for improved visual clarity   ---   ## [1.0.0] - Initial Release   ### Features - 🎮 Server listings with multiple tiers (Normal, VIP, Gold VIP, Pinned) - 📊 Click tracking and server statistics - 🌍 Multi-language support (English, Spanish, Portuguese, Greek, Russian) - 💳 Payment system for premium server features - 🔐 Secure authentication system - 👑 Admin panel for server management - 📱 Fully responsive design for all devices - 🔍 Advanced filtering system (by chronicle, rate, server type, date) - 📅 Server opening date tracking - 🎯 Two viewing modes: By Date and By Votes (coming soon for all users)   ---   ## About This Changelog   This changelog focuses on updates that directly impact the user experience. Internal development changes and technical improvements are not included here.   For questions or feedback, please contact support.v
  • 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..