Jump to content

[SHARE]clear inventory java code


Recommended Posts

ok paidia autos edw o code einai gia na kanei o admin delete to internoty kapiou mesa apo to game gia na min psaxnoume p.x char id ktlp ktlp

 

pame sto handelr/admincommandhandlers/AdminDelete.java

 

kai ekei mesa bazoume auto..

/*
* 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.l2jfree.gameserver.handler.admincommandhandlers;

import com.l2jfree.Config;
import com.l2jfree.gameserver.datatables.SpawnTable;
import com.l2jfree.gameserver.handler.IAdminCommandHandler;
import com.l2jfree.gameserver.instancemanager.GrandBossSpawnManager;
import com.l2jfree.gameserver.instancemanager.RaidBossSpawnManager;
import com.l2jfree.gameserver.model.L2Object;
import com.l2jfree.gameserver.model.L2ItemInstance;
import com.l2jfree.gameserver.model.L2Spawn;
import com.l2jfree.gameserver.model.actor.instance.L2NpcInstance;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.network.SystemMessageId;

/**
* This class handles following admin commands: - delete = deletes target
* 
* @version $Revision: 1.2.2.1.2.4 $ $Date: 2005/04/11 10:05:56 $
*/
public class AdminDelete implements IAdminCommandHandler
{
//private final static Log _log = LogFactory.getLog(AdminDelete.class.getName());

private static final String[] ADMIN_COMMANDS = {"admin_delete" , "admin_clean_inventory"}; 

private static final int		REQUIRED_LEVEL	= Config.GM_NPC_EDIT;

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

        if (command.equals("admin_delete")) handleDelete(activeChar);
        
                else if (command.equals("admin_clean_inventory"))
                {
                	try
                	{
                		
                		for (L2ItemInstance item : activeChar.getInventory().getItems())
               		{
                			
                			if (item == null)
                			{
                				activeChar.getInventory().destroyItem("admin cleans inventory", item, activeChar, activeChar);
                			}
                			else if (item.isEquipped() || item.getItemId() == 57 || item.getItemId() == 5575)
                			{
                				continue;
                			}
                			else if (item.isStackable())
                			{
                				int itemCount = activeChar.getInventory().getInventoryItemCount(item.getItemId(), -1);
                				activeChar.getInventory().destroyItemByItemId("admin cleans inventory", item.getItemId(), itemCount, activeChar, activeChar);        				
                			}
                			else
                			{
                				activeChar.getInventory().destroyItem("admin cleans inventory", item, activeChar, activeChar);
                			}
        
               			continue;
                			
                		}
                			
                	}
                	
                	catch (Throwable t)
                	{
                		activeChar.sendMessage("Error: Could not clean inventory.");

	return true;

}

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

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

private void handleDelete(L2PcInstance activeChar)
{
	L2Object obj = activeChar.getTarget();
	if ((obj != null) && (obj instanceof L2NpcInstance))
	{
		L2NpcInstance target = (L2NpcInstance) obj;
		target.deleteMe();

		L2Spawn spawn = target.getSpawn();
		if (spawn != null)
		{
			spawn.stopRespawn();

			if (RaidBossSpawnManager.getInstance().isDefined(spawn.getNpcId()))
				RaidBossSpawnManager.getInstance().deleteSpawn(spawn, true);
			else if (GrandBossSpawnManager.getInstance().isDefined(spawn.getNpcId()))
				GrandBossSpawnManager.getInstance().deleteSpawn(spawn, true);
			else
				SpawnTable.getInstance().deleteSpawn(spawn, true);
		}

		activeChar.sendMessage("Deleted " + target.getName() + " from " + target.getObjectId() + ".");
	}
	else
	{
		activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET);
	}
}
}

 

kai meta eimaste gg :D

Link to comment
Share on other sites

nice job spook

 

@offtopic gt oloi gia na parete posts lete 8a to dokimasw.. exete se 10 posts 8a to dokimasw..ena interlude,ena gracia, pws ta prolabenete ola ayta enas 8eos xerei...

Link to comment
Share on other sites

nice job spook

 

@offtopic gt oloi gia na parete posts lete 8a to dokimasw.. exete se 10 posts 8a to dokimasw..ena interlude,ena gracia, pws ta prolabenete ola ayta enas 8eos xerei...

 

xD AFTA einai logia metaksi filon re ... kalo share tha to dokimaso ... oute kan download den to kanoun x0ax0a0x a

 

den milao gia olous .. den eipa names xD ....min do kana moro edw mesa na me katigori xD

Link to comment
Share on other sites

kai egw dn milisa gia olous.. alla tecpa ine kai merikoi pou ontwslionoune na ta dokimasoune kai aloi isa isa gia na paroune posts..

 

//offtopic tecpa min sinexisoume tin sizitisei gt 8a ton kanoune lock gia spam :P

Link to comment
Share on other sites

dld me afto to code , dimiourgite ena command //admindelete i kati tetio? anyway nice share ..

opws leei k o code

ADMIN_COMMANDS = {"admin_delete" , "admin_clean_inventory"}; 

 

Erotima den prpei an to kanoume na ginete load auto to arxeio? se pio file vazoume to load? anyyway polu kalo share

dn xreiazete na to kaneis esu,ginete apo mono tou.

 

K btw polu xrhsimo share thanks :)

 

EDIT: Prwton dinei errors sto compile, ta eftia3a alla k pali apo ingame dn leitourgei to command :/

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • I also think this feature would bring more harm than good... another example is a dwarf rushing against your mobs so he takes priority, then he plays fake death and proceeds to grief the shit out of you. A minimum damage threshold is necessary, which would basically converge to what is the default feature (i.e. biggest damage dealer)
    • I bought the premium to watch the video and it's private. 😢
    • For some Majestic reason OP can't edit their topics anymore?    Let me update the potential offers, I got up to 2 spots to fill.   CONTACT TELEGRAM ONLY: https://t.me/asupport_g1     A credible team that SGuard represents is looking for java developers.    These positions is full time only i.e. your time is mostly dedicated within the team and team tasks, side gigs are fine, as long as you are able to combine your gig and main.  All necessary tools are provided.  The team is consistent with > 10 team members and the team is looking to expand to meet various goals. A decent Lineage 2 Essense OR Main (GOD) knowledge is needed.  Experience with l2r/l2p/l2s. mobius is fine too for referrence only. The team is friendly and goal oriented, very active and resourceful.   Requirements are standard, java knowledge is optional.  Multi language is a plus but not necessary (English/Russian), any is accepted.   Terms and conditions including compensation are reasonable and considered to be up for the industry standards. Details are negotiable with suitable candidates.   You will need to have a headset and a mic just for the initial processing, there're no team meetings or conferences after that. There's a small 30min interview process to demonstrate knowledge and just to meet each other.   The team has decided it is in their best interest to not publish their information at this time. Details will be available only for suitable candidates.   CONTACT TELEGRAM ONLY: https://t.me/asupport_g1
    • Thanks for the detailed info. I also have some ideas in mind but the execution may be hard. Thanks again!
    • There are as many approaches as stars in the sky, for all I know. You could create a class variable in MonsterInstance.java, which will hold the Object_ID of its first aggressor/dmg_dealer. From there, you will have to add a check in the RequestAttack and RequestMagicSkillUse packets and/or in some doDamage()/reduceHp() method, which will check if the damage dealer is the first aggressor, and if not - reduce the damage to 0. But you also have to be mindful about special cases, such as: - what happens when a Warlord runs around an area, provoking everything just to trigger the aggression and then just goes to town waiting for someone else to kill the said mobs so that the WL can collect free rewards? You might have to play with the DefaulAI, or the AI of monsters and hook a function that would reset the aggressor_id value under certain conditions, such as - the aggressor is not in X range or the aggressor is dead, or the aggressor is not online, or the NPC/Monster's AI is in INACTIVE state, which would indicate they are not in combat. - what happens when the aggressor is in party? should the said aggressor/dmg_dealer variable be a List/Set of players which are all eligible to deal dmg or receive rewards?  
  • Topics

×
×
  • Create New...