Jump to content
  • 0

Give items to all players


Question

Posted

Hello guys so i need a admincommandhandler that will actually give items to all players in the server for example

//giveallplayers 57 1000

 

to give to all players 1000 adena or smt like this "YES I SEARCHED IN FORUM AND I DIDNT FOUND ANYTHING LIKE THIS"

reply only if you know pls

Recommended Posts

  • 0
Posted

Paste this

else if (command.startsWith("admin_mass_create"))
	{
		try
		{
			String val = command.substring(17);
			StringTokenizer st = new StringTokenizer(val);
			if (st.countTokens()== 2)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				String num = st.nextToken();
				int numval = Integer.parseInt(num);
				massCreate(activeChar,idval,numval);
			}
			else if (st.countTokens()== 1)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				massCreate(activeChar,idval,1);
			}
		}
		catch (StringIndexOutOfBoundsException e)
		{
			activeChar.sendMessage("Usage: //itemcreate <itemId> [amount]");
		}
		catch (NumberFormatException nfe)
		{
			activeChar.sendMessage("Specify a valid number.");
		}
	}
	return true;
}

public String[] getAdminCommandList()
{
	return ADMIN_COMMANDS;
}

private boolean checkLevel(int level)
{
	return (level >= REQUIRED_LEVEL);
}

private void createItem(L2PcInstance activeChar, int id, int num)
{
	if (num > 20)
	{
		L2Item template = ItemTable.getInstance().getTemplate(id);
		if (!template.isStackable())
		{
			activeChar.sendMessage("This item does not stack - Creation aborted.");
			return;
		}
	}

	activeChar.getInventory().addItem("Admin", id, num, activeChar, null);

	ItemList il = new ItemList(activeChar, true);
	activeChar.sendPacket(il);

	activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in your inventory.");
}
private void massCreate(L2PcInstance activeChar, int id, int num)
{
	 for (L2PcInstance _players : L2World.getInstance().getAllPlayers())
	 {
		 if (_players == activeChar) continue;
		 _players.getInventory().addItem("Admin", id, num, _players, null);

		 ItemList il = new ItemList(_players, true);
		 _players.sendPacket(il);
	 }

	activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in all chars inventory.");
}
}

  • 0
Posted

Paste this

else if (command.startsWith("admin_mass_create"))
	{
		try
		{
			String val = command.substring(17);
			StringTokenizer st = new StringTokenizer(val);
			if (st.countTokens()== 2)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				String num = st.nextToken();
				int numval = Integer.parseInt(num);
				massCreate(activeChar,idval,numval);
			}
			else if (st.countTokens()== 1)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				massCreate(activeChar,idval,1);
			}
		}
		catch (StringIndexOutOfBoundsException e)
		{
			activeChar.sendMessage("Usage: //itemcreate <itemId> [amount]");
		}
		catch (NumberFormatException nfe)
		{
			activeChar.sendMessage("Specify a valid number.");
		}
	}
	return true;
}

public String[] getAdminCommandList()
{
	return ADMIN_COMMANDS;
}

private boolean checkLevel(int level)
{
	return (level >= REQUIRED_LEVEL);
}

private void createItem(L2PcInstance activeChar, int id, int num)
{
	if (num > 20)
	{
		L2Item template = ItemTable.getInstance().getTemplate(id);
		if (!template.isStackable())
		{
			activeChar.sendMessage("This item does not stack - Creation aborted.");
			return;
		}
	}

	activeChar.getInventory().addItem("Admin", id, num, activeChar, null);

	ItemList il = new ItemList(activeChar, true);
	activeChar.sendPacket(il);

	activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in your inventory.");
}
private void massCreate(L2PcInstance activeChar, int id, int num)
{
	 for (L2PcInstance _players : L2World.getInstance().getAllPlayers())
	 {
		 if (_players == activeChar) continue;
		 _players.getInventory().addItem("Admin", id, num, _players, null);

		 ItemList il = new ItemList(_players, true);
		 _players.sendPacket(il);
	 }

	activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in all chars inventory.");
}
}

not working

  • 0
Posted

Here you are

 

/*
* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package net.sf.l2j.gameserver.handler.admincommandhandlers;

import java.util.StringTokenizer;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
import net.sf.l2j.gameserver.model.GMAudit;
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.ItemList;
import net.sf.l2j.gameserver.templates.L2Item;

/**
* This class handles following admin commands:
* - itemcreate = show menu
* - create_item <id> [num] = creates num items with respective id, if num is not specified, assumes 1.
*
* @version $Revision: 1.2.2.2.2.3 $ $Date: 2005/04/11 10:06:06 $
*/
public class AdminCreateItem implements IAdminCommandHandler
{
private static final String[] ADMIN_COMMANDS =
{
	"admin_itemcreate",
	"admin_create_item",
	"admin_mass_create"
};
private static final int REQUIRED_LEVEL = Config.GM_CREATE_ITEM;

public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
	if (!Config.ALT_PRIVILEGES_ADMIN)
	{
		if (!(checkLevel(activeChar.getAccessLevel()) && activeChar.isGM()))
			return false;
	}

	GMAudit.auditGMAction(activeChar.getName(), command, (activeChar.getTarget() != null?activeChar.getTarget().getName():"no-target"), "");

	if (command.equals("admin_itemcreate"))
	{
		AdminHelpPage.showHelpPage(activeChar, "itemcreation.htm");
	}
	else if (command.startsWith("admin_create_item"))
	{
		try
		{
			String val = command.substring(17);
			StringTokenizer st = new StringTokenizer(val);
			if (st.countTokens()== 2)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				String num = st.nextToken();
				int numval = Integer.parseInt(num);
				createItem(activeChar,idval,numval);
			}
			else if (st.countTokens()== 1)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				createItem(activeChar,idval,1);
			}
		}
		catch (StringIndexOutOfBoundsException e)
		{
			activeChar.sendMessage("Usage: //itemcreate <itemId> [amount]");
		}
		catch (NumberFormatException nfe)
		{
			activeChar.sendMessage("Specify a valid number.");
		}
		AdminHelpPage.showHelpPage(activeChar, "itemcreation.htm");
	}

	else if (command.startsWith("admin_mass_create"))
	{
		try
		{
			String val = command.substring(17);
			StringTokenizer st = new StringTokenizer(val);
			if (st.countTokens()== 2)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				String num = st.nextToken();
				int numval = Integer.parseInt(num);
				massCreate(activeChar,idval,numval);
			}
			else if (st.countTokens()== 1)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				massCreate(activeChar,idval,1);
			}
		}
		catch (StringIndexOutOfBoundsException e)
		{
			activeChar.sendMessage("Usage: //itemcreate <itemId> [amount]");
		}
		catch (NumberFormatException nfe)
		{
			activeChar.sendMessage("Specify a valid number.");
		}
	}
	return true;
	}


/**
 * @param activeChar
 * @param idval
 * @param numval
 */
private void massCreate(L2PcInstance activeChar, int idval, int numval)
{
	for (L2PcInstance _players : L2World.getInstance().getAllPlayers())
	{
		if (_players == activeChar) continue;

		_players.getInventory().addItem("Admin", idval, numval, _players, null);

		ItemList il = new ItemList(_players, true);
		_players.sendPacket(il);

		activeChar.sendMessage("You have spawned " + numval + " item(s) number " + idval + " in all chars inventory.");
	}

}


public String[] getAdminCommandList()
{
	return ADMIN_COMMANDS;
}

private boolean checkLevel(int level)
{
	return (level >= REQUIRED_LEVEL);
}

private void createItem(L2PcInstance activeChar, int id, int num)
{
	if (num > 20)
	{
		L2Item template = ItemTable.getInstance().getTemplate(id);
		if (!template.isStackable())
		{
			activeChar.sendMessage("This item does not stack - Creation aborted.");
			return;
		}
	}

	activeChar.getInventory().addItem("Admin", id, num, activeChar, null);

	ItemList il = new ItemList(activeChar, true);
	activeChar.sendPacket(il);

	activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in your inventory.");
}
}

 

 

 

Just tested in l2j interlude. It works great.

  • 0
Posted

Here you are

 

/*
* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package net.sf.l2j.gameserver.handler.admincommandhandlers;

import java.util.StringTokenizer;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
import net.sf.l2j.gameserver.model.GMAudit;
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.ItemList;
import net.sf.l2j.gameserver.templates.L2Item;

/**
* This class handles following admin commands:
* - itemcreate = show menu
* - create_item <id> [num] = creates num items with respective id, if num is not specified, assumes 1.
*
* @version $Revision: 1.2.2.2.2.3 $ $Date: 2005/04/11 10:06:06 $
*/
public class AdminCreateItem implements IAdminCommandHandler
{
private static final String[] ADMIN_COMMANDS =
{
	"admin_itemcreate",
	"admin_create_item",
	"admin_mass_create"
};
private static final int REQUIRED_LEVEL = Config.GM_CREATE_ITEM;

public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
	if (!Config.ALT_PRIVILEGES_ADMIN)
	{
		if (!(checkLevel(activeChar.getAccessLevel()) && activeChar.isGM()))
			return false;
	}

	GMAudit.auditGMAction(activeChar.getName(), command, (activeChar.getTarget() != null?activeChar.getTarget().getName():"no-target"), "");

	if (command.equals("admin_itemcreate"))
	{
		AdminHelpPage.showHelpPage(activeChar, "itemcreation.htm");
	}
	else if (command.startsWith("admin_create_item"))
	{
		try
		{
			String val = command.substring(17);
			StringTokenizer st = new StringTokenizer(val);
			if (st.countTokens()== 2)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				String num = st.nextToken();
				int numval = Integer.parseInt(num);
				createItem(activeChar,idval,numval);
			}
			else if (st.countTokens()== 1)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				createItem(activeChar,idval,1);
			}
		}
		catch (StringIndexOutOfBoundsException e)
		{
			activeChar.sendMessage("Usage: //itemcreate <itemId> [amount]");
		}
		catch (NumberFormatException nfe)
		{
			activeChar.sendMessage("Specify a valid number.");
		}
		AdminHelpPage.showHelpPage(activeChar, "itemcreation.htm");
	}

	else if (command.startsWith("admin_mass_create"))
	{
		try
		{
			String val = command.substring(17);
			StringTokenizer st = new StringTokenizer(val);
			if (st.countTokens()== 2)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				String num = st.nextToken();
				int numval = Integer.parseInt(num);
				massCreate(activeChar,idval,numval);
			}
			else if (st.countTokens()== 1)
			{
				String id = st.nextToken();
				int idval = Integer.parseInt(id);
				massCreate(activeChar,idval,1);
			}
		}
		catch (StringIndexOutOfBoundsException e)
		{
			activeChar.sendMessage("Usage: //itemcreate <itemId> [amount]");
		}
		catch (NumberFormatException nfe)
		{
			activeChar.sendMessage("Specify a valid number.");
		}
	}
	return true;
	}


/**
 * @param activeChar
 * @param idval
 * @param numval
 */
private void massCreate(L2PcInstance activeChar, int idval, int numval)
{
	for (L2PcInstance _players : L2World.getInstance().getAllPlayers())
	{
		if (_players == activeChar) continue;

		_players.getInventory().addItem("Admin", idval, numval, _players, null);

		ItemList il = new ItemList(_players, true);
		_players.sendPacket(il);

		activeChar.sendMessage("You have spawned " + numval + " item(s) number " + idval + " in all chars inventory.");
	}

}


public String[] getAdminCommandList()
{
	return ADMIN_COMMANDS;
}

private boolean checkLevel(int level)
{
	return (level >= REQUIRED_LEVEL);
}

private void createItem(L2PcInstance activeChar, int id, int num)
{
	if (num > 20)
	{
		L2Item template = ItemTable.getInstance().getTemplate(id);
		if (!template.isStackable())
		{
			activeChar.sendMessage("This item does not stack - Creation aborted.");
			return;
		}
	}

	activeChar.getInventory().addItem("Admin", id, num, activeChar, null);

	ItemList il = new ItemList(activeChar, true);
	activeChar.sendPacket(il);

	activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in your inventory.");
}
}

 

 

 

Just tested in l2j interlude. It works great.

thx this works great but only one problem, it doesnt show to players that it has spawned in their inventory :(

anyone know how to show them that they took an item?

  • 0
Posted

No problem

 

try

 

ItemList il = new ItemList(_players, true);
		_players.sendPacket(il);
		_players.sendMessage("Admin spawned " + numval + " item(s) number " + idval + " in your inventory");

  • 0
Posted

No problem

 

try

 

ItemList il = new ItemList(_players, true);
		_players.sendPacket(il);
		_players.sendMessage("Admin spawned " + numval + " item(s) number " + idval + " in your inventory");

thx works dude ;)

  • 0
Posted

i was just curious to see that and try to add it in my pack (infinity last rev)

 

but im getting error in this line :

ItemList il = new ItemList(_players, true);

could anyone helps me?

 

thats the error @ console

    [javac] import net.sf.l2j.gameserver.serverpackets.ItemList;
    [javac]                                           ^
    [javac] C:\Eclipse Workspace\l2jinfinity\L2J-Infinity_IL_GS\java\net\sf\l2j\gameserver\handler\admincommandhandlers\AdminCreateItem.java:142: cannot find symbol
    [javac] symbol  : class ItemList
    [javac] location: class net.sf.l2j.gameserver.handler.admincommandhandlers.AdminCreateItem
    [javac] 			ItemList il = new ItemList(_players, true);
    [javac] 			^
    [javac] C:\Eclipse Workspace\l2jinfinity\L2J-Infinity_IL_GS\java\net\sf\l2j\gameserver\handler\admincommandhandlers\AdminCreateItem.java:142: cannot find symbol
    [javac] symbol  : class ItemList
    [javac] location: class net.sf.l2j.gameserver.handler.admincommandhandlers.AdminCreateItem
    [javac] 			ItemList il = new ItemList(_players, true);
    [javac] 			                  ^
    [javac] C:\Eclipse Workspace\l2jinfinity\L2J-Infinity_IL_GS\java\net\sf\l2j\gameserver\handler\admincommandhandlers\AdminCreateItem.java:175: cannot find symbol
    [javac] symbol  : class ItemList
    [javac] location: class net.sf.l2j.gameserver.handler.admincommandhandlers.AdminCreateItem
    [javac] 		ItemList il = new ItemList(activeChar, true);
    [javac] 		^
    [javac] C:\Eclipse Workspace\l2jinfinity\L2J-Infinity_IL_GS\java\net\sf\l2j\gameserver\handler\admincommandhandlers\AdminCreateItem.java:175: cannot find symbol
    [javac] symbol  : class ItemList
    [javac] location: class net.sf.l2j.gameserver.handler.admincommandhandlers.AdminCreateItem
    [javac] 		ItemList il = new ItemList(activeChar, true);
    [javac] 		                  ^
    [javac] Note: C:\Eclipse Workspace\l2jinfinity\L2J-Infinity_IL_GS\java\net\sf\l2j\gameserver\GeoEngine.java uses or overrides a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] 5 errors

 

Guest
This topic is now closed to further replies.


  • Posts

    • Hi everyone, This is not an advertisement for my server. My Facebook group with 1,300 real players was hacked. I was the only owner of the group, and I don’t understand how someone could change admin rights and remove me from it. All my accounts have two-factor authentication (2FA), so there’s no way anyone could have accessed my account to give admin rights to another profile. I contacted Facebook for help and even paid $20 for faster support from Meta. They basically ignored me and said they couldn’t help or make any decisions regarding this situation. I found some information about the person who took over the group – it seems to be an admin of L2CALIGULA (FLOYD) – and it looks like my group isn’t the only one affected.   https://www.facebook.com/MdsFael/posts/pfbid02LYPDAaxmjECuKY6g1xhMsnmixUH3x1asAVt2RtVKjV8yvegQ9erVHeWAdrJyjonal   As it stands, the group still exists on Facebook and all the information is visible, but I have no control over it anymore.   l2mid group: https://www.facebook.com/groups/l2official   Can anyone explain how this is even possible and how I can prevent it in the future? Regards!    
    • I suggest logging real player data such as positions, movement, quests, skills used in real time, and general actions and save them in whatever format you like. You need to organize and verify the data. If your data are not enough you can create synthetic data based on your existins real data. later you have 2 options  You can fine tune a smaller model (for example, from hugging face). This requires time, money(compute power), and plenty of trial and error, but the benefit is that you can run it locally without relying on external services. Use existing LLMs and  instead of training you can store your data in a vector database and let the LLM query it( im not sure if RAG is the right term here). This approach is faster to set up but depends on the model  and the output you want to achieve(you will need some research there). Regardless of which approach you take  you should expose only safe actions through a service or API. This can be done with MCP(model context protocol) or a custom api ensuring the model (local or external) can only trigger controlled api calls such as movePlayer, castSkill, etc etc, which are already implemented in most sources, but you will need to implement them for your models output and behavior.    Doable? Yes by commiting  a tone of hours and i dont think java code is the problem here. Is it worth it? If you’re doing it to learn then go for it. But if your goal is to create “real fake player” experience on your server or to sell it later  its not worth it. Spend your time elsewhere   yes they can
    • in process upgrade Wolf and to Rose. price updated 🙂   p464 Elf - $10,000 p507 Wolf - $25,000 p520 Rose - $40,000 (complete in 2 weeks)   Rental agreement - p464 Elf - $5,000 + 50% of all server revenue p507 Wolf - $10,000 + 50% of all server revenue p520 Rose - $15,000 + 65% of all server revenue
    • And what model you wanna train? LLMs can't do that.
  • Topics

×
×
  • Create New...

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