Skip to content

Java - How to create Your own /commands

Featured Replies

yaww to great.

Nice explation,i will use it to my pack 4sure with unique commands :)

Gratz

Ty its very useful

Greate Guide Matin..

Keep up

  • 1 month later...
  • 5 weeks later...

lol

what??

  • 2 months later...

man how to create a comend as .serversite??? :P

  • Author

man how to create a comend as .serversite??? :P

 

Its pointless to create external guide for this type of command.

 

Simply use search, and take a look at some already coded .commands

 

Nothing more.

  • 1 month later...

1st, Sorry Matim about i reply in here.

 

I got trouble when edit other voiced command .heal to /heal

 

- i created a new heal.java in the gameserver\data\scripts\handlers\usercommandhandlers.

 

- heal.java content below.

 

- And in MasterHandle.java, i try to register userHandleCommand but no success..

 

- i just trainer and dont clear all java syntax, sry about it.

 

import handlers.usercommandhandlers.*;

private static void loadUserHandlers()

{

UserCommandHandler.getInstance().registerUserCommandHandler(new heal());

}

 

- I run the server and got this error:

1. ERROR in gameserver\data\scripts\handlers
\usercommandhandlers\heal.java (at line 23)
        public class heal implements IUserCommandHandler
                     ^^^^
The type heal must implement the inherited abstract method IUserCommandHandler.u
seUserCommand(int, L2PcInstance)
2. ERROR in gameserver\data\scripts\handlers
\usercommandhandlers\heal.java (at line 33)
        if (command.equalsIgnoreCase("heal") && (activeChar.isInsideZone(L2Chara
cter.ZONE_PEACE)))
            ^^^^^^^
command cannot be resolved

 

/*
* 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 handlers.usercommandhandlers;

import com.l2jserver.gameserver.handler.IUserCommandHandler;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.actor.L2Character;

public class heal implements IUserCommandHandler
{
private static final int[] COMMAND_IDS =
{
	129
};


public boolean useUserCommand(int id,  L2PcInstance activeChar, String target)
{
	if (command.equalsIgnoreCase("heal") && (activeChar.isInsideZone(L2Character.ZONE_PEACE)))
    {
		activeChar.stopSkillEffects(176);
		activeChar.stopSkillEffects(139);
		activeChar.stopSkillEffects(420);
		activeChar.stopSkillEffects(406);
        	activeChar.getStatus().setCurrentHp(activeChar.getMaxHp());
        	activeChar.getStatus().setCurrentMp(activeChar.getMaxMp());
        	activeChar.getStatus().setCurrentCp(activeChar.getMaxCp());
    }

	return true;

}
/**
 * 
 * @see net.sf.l2j.gameserver.handler.IUserCommandHandler#getUserCommandList()
 */
public int[] getUserCommandList()
{
	return COMMAND_IDS;
}
}

  • Author

Simple use eclipse, it will provide quick fixes and hints.

Simple use eclipse, it will provide quick fixes and hints.

Mean must compile, Matim? I just wanna check understand your sentense. English not mother language... sry.

Mean must compile, Matim? I just wanna check understand your sentense. English not mother language... sry.

You should have explore some very nice advantages of using eclipse,like quick fixes(like matim says).

Try to use google and you will find out about eclipse more intresting things which will help you about java programming.

Thank for reply celko. Ill try and no spam more in here.

My opinion is better to dont edit client. thats means this way failed.  if start and edit client for 1001 things are shared in mxch then jesus christ ;p

 

 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.