05-09-2012, 12:27 AM
Так что за сборка всетаки L2J или Овер?
Выдача предмета всем персам
|
05-09-2012, 12:27 AM
Так что за сборка всетаки L2J или Овер?
05-09-2012, 12:36 AM
linliss Написал:L2ObjectsStorage - хранит всех игроков или только тех которые в онлайне?Представь себе, что будет, если не удалять игроков при выходе с сервера .
Ищу работу: Java-разработчик Skype: ro_0tt
05-09-2012, 12:50 AM
Ro_0TT Написал:Представь себе, что будет, если не удалять игроков при выходе с сервера .ясно, (в l2p исходах я неразбираюсь:redlol тогда ни 1 из выше изложеных способов неподходит тогда берем ид всех игроков из бд , складываем куда-то, и по списку добавляем предмет(у меня так сделано), кстати это очень тяжелая операция.
05-09-2012, 01:46 AM
Kollaps Написал:У себя в AdminCreateItem.java По-мойму, Вы не читаете, то что Вам пишут ObjectStorage не хранит offline-игроков - это бессмысленная трата памяти сервера. Следовательно, не получится выдать предмет оффлайн-игрокам через него. Соответственно: 1.Выбираете всех игроков из БД, что можно выполнить обычным запросом: [src=sql]SELECT object_id, is_online FROM `characters`[/src] (названия полей и таблиц - псевдокод, не знаю, под какую Вам сборь, да и не важно это). 2. Если игрок онлайн, выдаете предмет непосредственно ему через ObjectStorage; 3. Иначе просто пишете предмет в БД (см. пример от Anzo). P.S. Кто спросит: "А зачем мне все игроки из БД, если я могу получить онлайн из ObjectStorage?" - для начала, решите проблему синхронизации состояния игрока online/offline, БД и сервера
// aka Deft
05-09-2012, 01:54 AM
Проще делать профилактику и выдавать через БД (привет руофф). Все остальное - не торт.
ps Сейчас еще подумал: можно сделать добавление итема игроку, зашедшему в онлайн и добавляем персонажа в массив. Но это так - извращение.
Простите - сборка какая?
Выдача через items_delayed присутствует? Если да - дам SQL запрос. Добавлено через 2 минуты А впрочем - быстрое решение: 1. Выдрать все obj_id 2. Выдать всем вещь через items_delayed
items_delayed - присутствует.
Подскажите запрос =)
05-10-2012, 05:40 PM
ну тут и понаписали...
все делается простейшим запросом: Код: INSERT INTO items_delayed(`owner_id`, `item_id`, `count`) SELECT char_obj_id, <ид предмета>, <количество> FROM character_subclasses WHERE isBase = 1 AND <еще какие нибудь условия для фильтрации игроков по определенным критериям>; |
« Предыдущая | Следующая »
|
Возможно похожие темы ... | |||||
Тема | Автор | Ответы | Просмотры | Последний пост | |
как добавить всем мобам резист ко сну? | 1 | 1,464 |
06-27-2018, 06:32 PM Последний пост: Shell |
||
Помогите разобраться с добавлением предмета | 2 | 1,431 |
10-24-2016, 07:29 PM Последний пост: aaansideee |
||
Всем здрасте. Помогите чем сможете | 6 | 2,449 |
09-23-2016, 09:10 AM Последний пост: Antoniy |
||
Где хранится атрибут предмета? | 7 | 2,113 |
10-28-2015, 08:38 PM Последний пост: kolibri |
||
дроп всем мобам с 74 лвла | 0 | 1,191 |
02-22-2015, 07:36 PM Последний пост: antoshavivozit |
||
Всем привет (ZG) Помогите) | 20 | 4,612 |
08-26-2013, 04:09 PM Последний пост: LexBlack |
||
Дроп предмета | 3 | 1,473 |
11-07-2012, 01:37 PM Последний пост: Time of Gods |
||
Авто-Выдача награды по достижению LvL | 2 | 2,083 |
10-30-2012, 11:24 AM Последний пост: ProDev |
||
Всем расам любую профу? | 12 | 2,770 |
10-04-2012, 04:07 PM Последний пост: KR3W |
||
Выдача славы | 5 | 1,897 |
03-15-2012, 12:47 AM Последний пост: linliss |