↑ ↓

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

Тема в разделе "Скрипты, сайты, шаблоны и веб-обвязки для Aion", создана пользователем Dision, 21 июн 2018.

  1. TopicStarter Overlay
    Offline

    Dision Ефрейтор Команда форума VIP

    274
    62
    61
    Кредиты:
    $15.415,48
    Репутация:
    7
    Код:
    /*
     * 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> ");
    	}
    
    }
     
    novich нравится это.
  2. Offline

    Old Рядовой

    26
    1
    29
    Кредиты:
    $220,17
    Репутация:
    1
    На каких версиях можно реализовать? Только на 5+?
     
  3. TopicStarter Overlay
    Offline

    Dision Ефрейтор Команда форума VIP

    274
    62
    61
    Кредиты:
    $15.415,48
    Репутация:
    7
    На любой