Генерация object_id - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 12.05.2016, 11:48   #1
Заинтересовавшийся

Автор темы (Топик Стартер) Генерация object_id

Всем привет. Пишу, а вернее дописываю торговую площадку (аукцион), но не в игре, а на сайте, ибо ни явы не знаю, и исходников нет. И вот задумался насчёт генерации object_id вещи.
Смысл площадки в том, что пользователи на сайте могут выставить свою вещь на продажу с игры, ну и соответственно также купить.
Я так понял в ядро встроен какой-то механизм генерации этих самых object_id. Но что будет если, когда пользователь выставил вещь на продажу я возьму object_id этой вещи, а потом когда кто-то другой купит вещь или пользователь захочет снять лот с продажи я присвою тот же object_id этой вещи? Может ли так статься, что сервер присвоит уже не используемый у него object_id другой вещи? И на момент когда кто-то купит эту вещь object_id уже будет использоваться каким-то другим итемом?
Вот и хотелось бы узнать, может ли object_id сгенерирован повторно, если ранее он использовался, но на данный момент его в базе игры нигде нет? И как быть в этом случае? Можно конечно найти максимальный, плюсануть к нему какое-то рандомное число и записать итем в базу уже с новым object_id
CABA вне форума Ответить с цитированием
Непрочитано 12.05.2016, 12:52   #2
Пользователь

По умолчанию Re: Генерация object_id

ядро будет делать аля +1 после последнего. Старые обжИДы оно брать не будет уже

Чтобы самостоятельно добавлять вещь - делайте +1 к максимальному, либо через делайед таблицу, если такая присутствует (л2п ветка)
__________________
L2j Pane v1.7 - админка для вашего L2 сервера
Aleksey вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 12.05.2016, 18:06   #3
Аватар для SouthBridge
Постоялец

По умолчанию Re: Генерация object_id

Цитата:
Чтобы самостоятельно добавлять вещь - делайте +1 к максимальному
И тем самым Вы наступите на старые-добрые грабли, которым уже лет 10 как минимум.
Инкрементировать objid напрямую в БД не следует. Это только приведёт к лишним неприятностям.

Назначать objid может и должен лишь только сервер. Поэтому, если сборка не имеет "специальной таблицы" - её придётся запилить самому, либо запилить какой-нибудь REST API для выдачи следующего objid из IdFactory.
SouthBridge вне форума Ответить с цитированием
Непрочитано 12.05.2016, 22:21   #4
Пользователь

По умолчанию Re: Генерация object_id

Цитата:
Сообщение от SouthBridge Посмотреть сообщение
И тем самым Вы наступите на старые-добрые грабли, которым уже лет 10 как минимум.
Инкрементировать objid напрямую в БД не следует. Это только приведёт к лишним неприятностям.

Назначать objid может и должен лишь только сервер. Поэтому, если сборка не имеет "специальной таблицы" - её придётся запилить самому, либо запилить какой-нибудь REST API для выдачи следующего objid из IdFactory.
Автор писал, что не полез в ядро, т.к. не знает языка. Думаю, подобный вариант не подойдет
__________________
L2j Pane v1.7 - админка для вашего L2 сервера
Aleksey вне форума Ответить с цитированием
Непрочитано 12.05.2016, 22:29   #5
Аватар для ..Kirito..
Герой

По умолчанию Re: Генерация object_id

Цитата:
Сообщение от Aleksey Посмотреть сообщение
Автор писал, что не полез в ядро, т.к. не знает языка. Думаю, подобный вариант не подойдет
Если автор сам пишет веб площадку то это как минимум php.. А насколько я помню от жабы он не сильно отличается.. Ну если не писать код то прочесть и понять уж точно можно.
__________________
..Kirito.. вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация RSA-ключа Boris2105 Point Blank (Piercing Blow) 11 15.01.2016 13:13
Генерация квадрата Antonio Работа с геодатой 2 14.11.2015 19:50
Генерация Lindvior promailer Работа с геодатой 7 19.03.2014 05:27
Генерация pathnode krisadr Работа с геодатой 9 07.04.2013 16:47
Генерация методом buildzone KilRoy Работа с геодатой 175 02.03.2012 15:27


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 08:34. Часовой пояс GMT +3.

Вверх