• SiteAnalyzer, технический и SEO-анализ сайтов

Админ команда для просмотра инвентаря, складов, почты, эквипа офф-лайн персонажей

  • Автор темы Автор темы Dision
  • Дата начала Дата начала

Dision

Ефрейтор
Команда форума
VIP
Код:
/*
 * M.O.G. Devs Team
 * www.mmorpg-onlinegames.ru
 * Teg's {/aiononline, /eveonline}
 */
package admincommands.mog;

import java.util.List;

import com.mog.gameserver.dao.InventoryDAO;
import com.mog.gameserver.model.gameobjects.Item;
import com.mog.gameserver.model.gameobjects.player.Player;
import com.mog.gameserver.model.items.storage.Storage;
import com.mog.gameserver.model.items.storage.StorageType;
import com.mog.gameserver.utils.ChatUtil;
import com.mog.gameserver.utils.PacketSendUtility;
import com.mog.gameserver.utils.chathandlers.AdminCommand;
import com.mog.gameserver.utils.commons.database.dao.DAOManager;

/**
 * @author Dision
 */
public class PlayerInfoOffline extends AdminCommand {

	public PlayerInfoOffline() {
		super("plinfoff");
	}

	@Override
	public void execute(Player admin, String... params) {
		if (params == null || params.length < 1) {
			PacketSendUtility.sendMessage(admin, "\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 //playerinfo <playerid> <item> ");
			return;
		}

		int playerObjId = Integer.parseInt(params[0]);
		Storage cube = DAOManager.getDAO(InventoryDAO.class).loadStorage(playerObjId, StorageType.CUBE);
		Storage storage = DAOManager.getDAO(InventoryDAO.class).loadStorage(playerObjId, StorageType.REGULAR_WAREHOUSE);
		Storage account = DAOManager.getDAO(InventoryDAO.class).loadStorage(playerObjId, StorageType.ACCOUNT_WAREHOUSE);
		Storage legion = DAOManager.getDAO(InventoryDAO.class).loadStorage(playerObjId, StorageType.LEGION_WAREHOUSE);
		Storage mail = DAOManager.getDAO(InventoryDAO.class).loadStorage(playerObjId, StorageType.MAILBOX);
		List<Item> equip = DAOManager.getDAO(InventoryDAO.class).loadEquipment(playerObjId);
		if (params.length < 2)
			return;

		
		if (params[1].equals("item")) {
			StringBuilder strbld = new StringBuilder("Инвентарь:\n");
			List<Item> invItems = cube.getItemsWithKinah();
			if (invItems.isEmpty())
				strbld.append("Пусто\n");
			else {			   
				for (Item item : invItems) {			   
					strbld.append("	" + item.getItemCount() + "(s) of " + ChatUtil.item(item.getItemTemplate().getTemplateId()) + "\n");
				}
			}
			invItems.clear();
			List<Item> storageItems = storage.getItemsWithKinah();
			if (storageItems.isEmpty())
				strbld.append("Пусто\n");
			else {
				strbld.append("Склад:\n");
				for (Item item : storageItems) {				   
					strbld.append("	" + item.getItemCount() + "(s) of " + ChatUtil.item(item.getItemTemplate().getTemplateId()) + "\n");
				}
			}
			storageItems.clear();
			List<Item> accountItems = account.getItemsWithKinah();
			if (accountItems.isEmpty())
				strbld.append("\u041f\u0443\u0441\u0442\u043e\n");
			else {
				strbld.append("Склад аккаунта:\n");
				for (Item item : accountItems) {				   
					strbld.append("	" + item.getItemCount() + "(s) of " + ChatUtil.item(item.getItemTemplate().getTemplateId()) + "\n");
				}
			}
			accountItems.clear();
			List<Item> legionItems = legion.getItemsWithKinah();
			if (legionItems.isEmpty())
				strbld.append("Пусто\n");
			else {
				strbld.append("Склад легиона:\n");
				for (Item item : legionItems) {				   
					strbld.append("	" + item.getItemCount() + "(s) of " + ChatUtil.item(item.getItemTemplate().getTemplateId()) + "\n");
				}
			}
			legionItems.clear();
			List<Item> mailItems = mail.getItemsWithKinah();
			if (mailItems.isEmpty())
				strbld.append("Пусто\n");
			else {
				strbld.append("Почта:\n");
				for (Item item : mailItems) {				   
					strbld.append("	" + item.getItemCount() + "(s) of " + ChatUtil.item(item.getItemTemplate().getTemplateId()) + "\n");
				}
			}
			mailItems.clear();
			List<Item> equipItems = equip;
			if (equipItems.isEmpty())
				strbld.append("Пусто\n");
			else {
				strbld.append("Надето:\n");
				for (Item item : equipItems) {				   
					strbld.append("	" + item.getItemCount() + "(s) of " + ChatUtil.item(item.getItemTemplate().getTemplateId()) + "\n");
				}
			}
			equipItems.clear();
			showAllLines(admin, strbld.toString());
		}
	}

	private void showAllLines(Player admin, String str) {
		int index = 0;
		String[] strarray = str.split("\n");

		while (index < strarray.length - 20) {
			StringBuilder strbld = new StringBuilder();
			for (int i = 0; i < 20; i++, index++) {
				strbld.append(strarray[index]);
				if (i < 20 - 1)
					strbld.append("\n");
			}
			PacketSendUtility.sendMessage(admin, strbld.toString());
		}
		int odd = strarray.length - index;
		StringBuilder strbld = new StringBuilder();
		for (int i = 0; i < odd; i++, index++)
			strbld.append(strarray[index] + "\n");
		PacketSendUtility.sendMessage(admin, strbld.toString());
	}

	@Override
	public void onFail(Player player, String message) {
		PacketSendUtility.sendMessage(player, "\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 //playerinfo <playerid> <item> ");
	}

}
 
Назад
Сверху