Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Выдача предмета всем персам
#11
james Написал:Бери как пример тот метод который через админку спавнит предметы игрокам, там скорее всего есть проверка есть ли персонаж онлайн, можно просто убрать проверку!

Вообще я думаю идея сама по себе плохая, так как все твинки игроков тоже получит предметы которые ты заспавнишь :confused:

1. у меня все по 1-му ИП.
2. убрать проверку на онлайн это эпик фейл.
Ответ
#12
Вот к примеру у нас добавление в зависимости от онлайн персонаж или нет, написан для XML-RPC - думаю поправишь под себя (L2J основа)

Код:
/**
* Добавляет персонажу заданный итем
* @param playerName имя игрока
* @param itemId ID предмета
* @param count количество предмета
* @return {@code OK} если добавление состоялось удачно, {@code FAIL} если по каким-то причинам добавление не состоялось
*/
public String addItem(String playerName, int itemId, int count)
{
    L2ItemInstance item = ItemTable.getInstance().createItem(ProcessType.DONATION, itemId, count, null);
    try
    {
        L2PcInstance player = L2World.getInstance().getPlayer(playerName);
        if (player == null)
        {
            item.setOwnerId(CharNameTable.getInstance().getIdByName(playerName));
            item.setLocation(L2ItemInstance.ItemLocation.INVENTORY);
            item.updateDatabase();
            L2World.getInstance().removeObject(item);
            return json(MessageType.OK);
        }
        else
        {
            player.addItem(ProcessType.DONATION, item, null, true);
            return json(MessageType.OK);
        }
    }
    catch (Exception e)
    {
        return json(MessageType.FAILED);
    }
}
Ответ
#13
У себя в AdminCreateItem.java
Есть интересный кусок кода:
Код:
case admin_create_item_all:
                try
                {
                    if(wordList.length < 2)
                    {
                        activeChar.sendMessage("USAGE: create_item [id] [count]");
                        return false;
                    }
                    int item_id = Integer.parseInt(wordList[1]);
                    long item_count = wordList.length < 3 ? 1 : Long.parseLong(wordList[2]);
                    int count = 0;
                    for(L2Player player : L2ObjectsStorage.getAllPlayers())
                    {
                        if (player!=null)
                            if (player.isOnline())
                                createItem(player, player, item_id, item_count);
                        count++;
                    }
                    activeChar.sendMessage("Предметы выданы: " + count + " игрокам.");
                }

int item_id = Integer.parseInt(wordList[1]); - если поменять на 0. То всем по сути предмет выдаться должен?
Ответ
#14
iqman Написал:1. у меня все по 1-му ИП.
2. убрать проверку на онлайн это эпик фейл.

Извините может я что то не так понял:

/**
* @author VISTALL
* @date 2:52/29.06.2011
*/

Скрипт под сборку овера как мне кажется и никто даже у ТСа не спросил какая у него сборка!
Ответ
#15
По идее создать отдельный case по структуре стандартной выдачи - но с возможностью выдачи в offline.
Но вот думаю как это может обернуться, в худшую сторону!
Ответ
#16
А я свои копирайты нигде не ставлю, я не ценитель селф-пиара.

Копи-пейст простой был другого файла.

Вистал подтвердит что контенкт не его.
Ответ
#17
Под мой кривой вариант просто тут убрать проверку на онлайн Smile

Код:
                    {
                        if (player!=null)
                            if (player.isOnline())
                                createItem(player, player, item_id, item_count);
                        count++;
                    }
Ответ
#18
daj
Ответ
#19
james Написал:Под мой кривой вариант просто тут убрать проверку на онлайн Smile

Код:
                    {
                        if (player!=null)
                            if (player.isOnline())
                                createItem(player, player, item_id, item_count);
                        count++;
                    }
Нуу...не скажите. Хотя как вариант Big Grin
Ответ
#20
L2ObjectsStorage - хранит всех игроков или только тех которые в онлайне?
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  как добавить всем мобам резист ко сну? sheg300 1 1,464 06-27-2018, 06:32 PM
Последний пост: Shell
  Помогите разобраться с добавлением предмета aaansideee 2 1,431 10-24-2016, 07:29 PM
Последний пост: aaansideee
  Всем здрасте. Помогите чем сможете Antoniy 6 2,449 09-23-2016, 09:10 AM
Последний пост: Antoniy
  Где хранится атрибут предмета? Aleksey 7 2,114 10-28-2015, 08:38 PM
Последний пост: kolibri
  дроп всем мобам с 74 лвла antoshavivozit 0 1,191 02-22-2015, 07:36 PM
Последний пост: antoshavivozit
  Всем привет (ZG) Помогите) Hunters 20 4,612 08-26-2013, 04:09 PM
Последний пост: LexBlack
  Дроп предмета Time of Gods 3 1,473 11-07-2012, 01:37 PM
Последний пост: Time of Gods
  Авто-Выдача награды по достижению LvL Raikerock 2 2,083 10-30-2012, 11:24 AM
Последний пост: ProDev
  Всем расам любую профу? KR3W 12 2,771 10-04-2012, 04:07 PM
Последний пост: KR3W
  Выдача славы Klinz 5 1,897 03-15-2012, 12:47 AM
Последний пост: linliss

Перейти к форуму:


Пользователи, просматривающие эту тему: 6 Гость(ей)