Итак, благодаря одному из участников форума(а конкретнее Airsimer, за что ему большое спасибо) мне в руки попались исходники сервера RF Online Giga3. Скажу сразу - версия старая, серверов на ее основе сейчас практически нет и современная ситуация может сильно отличаться от описанной. Тем более, исходники неполные и в рабочий сервер скомпилировать их мне не удалось.
Но зато появилась возможность посмотреть и выяснить давно мучавший меня вопрос, а именно - алгоритм работы Великого Корейского Рандома, вокруг которого ходило много мифов и легенд и сломано немало копий в спорах. И хотя версия устарела, не думаю, что принцип работы Giga3 будет сильно отличаться от современных версий.
Хочу сразу разочаровать любителей рецептов типа "убить флема в новолуние, забрать лут и выкинуть перед Героем помахав рукой - 100% точка!" - таких алгоритмов в исходниках мне обнаружить не удалось. Конечно, тут могут возразить - "а как же точатся на +7, я сам видел!". Точатся. Но не обычным способом, а с помощью одного финта, о котором я расскажу ниже.
Итак, главный вывод, который я вынес из просмотра исходников - Корейский Рандом существует!
Именно так - основная функция, с помощью которой оценивается успешная заточка и последствия неуспешной - стандартная функция С rand(). Вообще по стандарту эта функция возвращает случайное число типа float в промежутке от 0 до 1. Единственное, что влияет на ее значение - так называемое начальное значение, задаваемое функцией srand(). Так вот, начальное значение этой функции является текущее время, вернее, его преобразованное числовое значение
Код:
srand((unsigned)time(NULL));
Но это знание ничего нам не дает, кроме того, что рецепты типа "точись в полночь!" не так уж и необоснованы.
Идем дальше.
За заточку предмета отвечает функция pc_UpgradeItem, находящаяся в файле player.cpp. Рассмотрим ее подробнее.
С самого начала идут многочисленные проверки на соответствие предметов, слотов, таликов, камней и прочей. Кстати, все несоотвествия логируются по умолчанию, так что пакетчики - будьте осторожны!
Дальше начинается самое интересное.
1. Устанавливается рейт на основании использованных камней. Рейты каждого камня берутся из базы и суммируются. Рейт без камня - 0,125.
Код:
for(int i = 0; i < upgrade_jewel_num; i++)
{
if(!pJewelFld[i])
fRate += 0.125;
else
fRate += pJewelFld[i];
}
2. Далее вычисляется рейт вещи в зависимости от ее уровня
конструкция не совсем ясна, но насколько я понял, вычисляемый левел - количество УЖЕ вставленных таликов - каждый бит переменной dwLvBit соответствует вставленному талику. Левелов всего 7, что вполне естественно. Похоже, от типа вставленных таликов зависимости нет.
Небольшое дополнение - рейт вещи вычисляется на основании вставленных таликов + учитывается вставляемый талик. Т.е. при расчете вещь считается уже проталеной, поэтому далее в конструкциях switch - case есть число 7.
3. Вычисляется общий, базовый рейт
Код:
dwTotalRate = s_dwItemUpgSucRate[byLv]*fRate/upgrade_jewel_num)*1000;
значение s_dwItemUpgSucRate зависит от левела и является массивом
s_dwItemUpgSucRate[] = {100, 75, 50, 25, 10, 5, 1};
Опять же, зависит от рейта вещи и заново вычисляемого рандома.
После этого выполняются необходимые действия - уничтожение вещи, таликов или помещение в слот успешно модифицированного оружия.
Ниже расположена ссылка на исходный код программы, которая реализует описанный алгоритм. Можете сами попробовать ее скомпилировать и поэкспериментировать с различными комбинациями - вставленными таликами и камнями.
Да, насчет точки +7. В исходнике имеется следующая конструкция:
эта переменная при установке ее в значение true дает 100% шанс создания и модификации предмета.
переменная является параметром чара и устанавливается владельцем базы. возможно, GM имеют такой флаг и без проблем делают пухи +7. Обычным методом заточить на +7 очень маловероятно.
Любые дополнения и исправления к статье приветствуются. Все вопросы в ПМ либо тут.
Модераторам - если я ошибся с разделом, просьба переместить сообщение в необходимый раздел.
У кого еще остались сомнения по поводу хака заточки - просьба убиццо ап бижайшую стену, дабы сэкономить нервы окружающим =)
________________
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
________________
какгвсигда!11(9( Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
заставить рандом работать на себя можно... вы сами посмотрите: если при рандоме изменить пару значений, которые изменяют колво вставленных таликов и ту которую хочешь вставить то точить пухи можно легко... допустим все сгорело, но дамаг (скажем если пуху точить) останется... ибо параметры пухи уже изменены изменены
А можно тогда узнать примерный ход действий для замены кол-ва таликов.. Я просто не знаю.. Может реально есть. Пакет там какой-нить или еще чего. Заточкой я еще пока не занимался.
________________
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
ИМХО, данные по пухе берутся из базы сервера по твоему инвентарю. А в пакете на запрос по заточке скорее всего (хз, просто я их еще не разбирал) передается просто ид итемов... отсюда можно предположить, что ты не поменяешь стандартными способами (все, что угодно, кроме взлома БД РФ)...
________________
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Там совсем другие причины. Вот цитата с какого форума:
Как выяснилось недавно скорость атаки оружия не проверяеться сервером в определенных пределах
тоесть до максимально возможного значения с учетом шмоток оружия бафав
из этого следует что можно легко поставить даже на ББ шмот атаку такую как будто ты в дисте
выше числом поставить можно но получим холостой удар
проверено на русофе реально убиваем одного и тогоже монстра раза в 1.5-2 быстрей обычного
________________
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Можешь написать по каким байтам это определяется и ИД пакета?
________________
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Я по базе смотрел Не знаю если это число приходит клиенту.
Незаточенный предмет 7 слотов - 2147483647 , 6 - 1879048191 и т.д.
Когда точится, отнимается определенно число, в зависимости от талика и "уровню" заточки. Например первая заточка на игнор отнимет 15. Вторая на игнор 240. и т.д.
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
люди! идея! есть такая прога cheat engine вы ее тут уже выкладывали. так вот там есть опция Unrandomizer. т.е. он убирает рандом ведь да? так вот если эту весч заюзать? ммм?