Т-щи, снова здраствуйте.
Возникла интересная проблема... Связаная с инициализацией таблиц лута. Если забито в них шмоток в сумме больше чем 160 (значение получено опытным путём) - лут не выпадает. Если меньше - вся система функуионирует замечательно.
Ваши идеи?
virusman
Jun 3 2006, 16:10
Как эти таблицы реализованы?
virusman
Jun 3 2006, 17:01
Не работал с ними. Говорят, тормозят сильно. Не удивлюсь, если ещё и глючат.
virusman, твои предложения?
virusman
Jun 3 2006, 18:45
Покажи пример таблицы и код, где ты её читаешь.
Да чего тут объяснять?
Принцип выпадения лута (грубо):
При убийстве моба (например гоблин) должен упасть лут, который берется из таблицы 2да, имя которой равно тэгу моба (в нашем примере nw_goblina.2da). В этой таблице описан шмот.
Все эти таблицы инициализируются при старте модуля командой InitializeLootTable("nw_goblina");
Всё идеально работает... при количестве шмота менее 160.
При количестве большем - из мобов ничего не падает.
ПОЧЕМУ? Где ошибка, глюк, баг... в кэше ли дело... просто голвой не могу сообразить - ПОЧЕМУ

ПОЧЕМУ от количества шмота???

ЗЫ: Описал примитивно... на деле есесьно одна таблица ссылается на другую, другая на третью... там разные шансы выпадения и бла бла бла - механизм работает)
Sharklike
Jun 4 2006, 13:49
QUOTE(Kexibq @ Jun 4 2006, 11:34) [snapback]83710[/snapback]
Все эти таблицы инициализируются при старте модуля командой InitializeLootTable("nw_goblina");
А из какого инклуда эта процедура?
а не судьба вместо таблицы 2да использовать скрипт ???
А можно без вопросов про мироздание и прочее? Просто догадки интересует...
Лично у меня ощущение, что я перезабиваю кэш. Может быть такое?
virusman
Jun 4 2006, 17:54
Пару тыщ локалок обычно нормально держит.
А не видя код пытаться понять, что глючит - это игра в угадайку.
Richard
Jun 4 2006, 18:15
Собственно к чему тратить херову тучу времени на такого рода систему если можно сделать все гораздо проще.
Вот например у нас на Nightfall Dreams реализовано так, что есть несколько мерчантов с категориями лута, в тэге сундуков допустим которые получают ПЦ после убийства босса указывается тэг босса, категория и номер сундука.
Тут конечно есть и свои замутки, но чем удобна эта система, так это тем что есть НПЦ торговец у которого ДМ может контролировать вид выпадаемого лута, "арестовывать" тот который неподходит под правила сервера, вобщем штука удобная, с ее помощью можно вычислить и читюг легко.
За эту систему большой респект одному из наших скриптеров HitmanXXX.
Existor
Jun 6 2006, 05:58
Не вы первые - не вы последние "доперли" до этого способа реализации дропа с мобов =)
Richard
Jun 11 2006, 19:38
Это ты мне? Ну да, никто не говорит что мы первые, просто у нас работает, а это куда важнее. Не так ли? =)
Hassan
Jun 13 2006, 11:12
QUOTE(Richard @ Jun 4 2006, 19:15) [snapback]83736[/snapback]
Собственно к чему тратить херову тучу времени на такого рода систему если можно сделать все гораздо проще.
Вот например у нас на Nightfall Dreams реализовано так, что есть несколько мерчантов с категориями лута, в тэге сундуков допустим которые получают ПЦ после убийства босса указывается тэг босса, категория и номер сундука.
плюсы такой системы в простоте добавлении нового лута в лутпак.
аналогично кто-то реализовывал только не с мерчантами, а с сундуками.
2kex: никто не мешает сделать скажем 4 категории лута и каждую категорию разделить на еще 5 к примеру по верроятности выпадения. а в скрипте эти вероятности прописать.
Kexibq
Jun 17 2006, 12:37
Простите, давно не захаживал.
Да, я сделал через скрипт.
Расскажу как сделано на Сиале. За основу взята лутовая система NESS. Суть ее в том, что лутовые таблицы находятся в магазине (merchant) на специальной системной локации. Для специфичных мобов (боссов), делается спец таблица, которая располагается на той локе, где находится моб. При первом обращении к таблице на модуль сохраняется переменная, в которую помещается ссылка на таблицу (чтобы каждый раз не искать по модулю), перибираются все предметы в магазине и на объект магазина вешаются переменные с порядковым номером вещи и ее ресрефом. Таким образом, в дальнейшем, работа идет только с переменными, что значительно ускоряет работу лутовой системы при большом разнообразии вещей и легкостью изменения содеожания лутовых таблиц
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.