Увеличение максимального уровня в Interlude
Ход мыслей смотрите в теме «Таблица опыта в клиенте» (http://forum.zone-game.info/showthread.php?t=29982)
Увеличить максимальный уровень в игре с полной поддержкой клиента очень просто: достаточно иметь на руках исходный код сервера и пять минут времени. Менять что-либо в клиенте не нужно. http://s5.hostingkartinok.com/upload...d57134b9c0.jpg Дело в том, что в клиенте Interlude уже заложены значения опыта для уровней выше 80, но они совершенно не совпадают со значениями опыта в базах знаний (например, http://l2wiki.com/Character_Level). Подбирать значения пришлось опытным путем, но они довольно точные: если погрешности и есть, они сглаживаются тем, что игрок видит в клиенте только сотые доли процента. В сервере на Java (я правил исходный код Silentium, основанный на Acis) таблица опыта хранится в файле Experience.java (\gameserver\model\base\Experience.java). Таблица опыта — список значений опыта, при достижении которых персонаж получает новый уровень. В оригинальном коде она заканчивается так: 4200000000L, // level 80 6299994999LИз комментария понятно, что предпоследняя строка — уровень 80, следующая, по всей видимости, предел Interlude — 80 и 99.99%. Добавим в игру 85 уровней. Сперва заменим вышеприведенные строки в таблице опыта на следующие: 4200000000L, // level 80 6300000000L, // level 81 10500000000L, // level 82 16800000000L, // level 83 27300000000L, // level 84 44100000000L, // level 85 71400000000L // level 86Любопытно, что значения опыта после 81 уровня — не что иное, как сумма опыта двух предыдущих уровней: 10500000000 (уровень 81) + 6300000000 (уровень 82) = 16800000000, что соответствует уровню 83. Видимо NC Soft не стали задумываться и заполнили неиспользуемые уровни нехитрым способом. Что это нам дает? Это значит, что мы можем таким же способом (суммой двух предыдущих уровней) рассчитать опыт хоть до 99 уровня (внимание: я не проверял поведение выше 86 уровня). Итак, когда мы знаем, как рассчитать опыт и обновили таблицу, изменим максимально доступный уровень. Сделать это просто: чуть ниже в коде есть строка задающая первый недоступный уровень (для 80 это 81, для 85 будет 86): public final static byte MAX_LEVEL = 81;Заменим значение на 86: public final static byte MAX_LEVEL = 86;На этом все. Компилируем сервер, запускаем и тестируем. Возможно, вам удастся подобрать значения поточнее: эти, на мой взгляд, слишком «круглые» для корейских значений (:. Напоследок скажу, что значения опыта очень большие — докачаться до 85 уровня в Interlude будет тяжело, поэтому мой совет такой: если вы хотите добавить новые уровни на Interlude, позаботьтесь о новых местах прокачки или сделайте перерасчет рейтов на опыт после 80 уровня (можно добавить в функции добавления и вычитания опыта специальный множитель, увеличивающий число: так процент в клиенте будет тикать веселее, а числа в чате не будут в километр длиной). Благодаря товарищу MrShyr у нас есть достоверные данные до 100 уровня! //level 80 4200000000, 6300000000, 10500000000, 16800000000, 27300000000, 44100000000, 71400000000, 115500000000, 186900000000, 302400000000, //level 90 489300000000, 791700000000, 1281000000000, 2072700000000, 3353700000000, 5426400000000, 8780100000000, 14206500000000, 22986600000000, 37193100000000, 100000000000000 |
Re: Увеличение максимального уровня в Interlude
подобное на уг порталах давно уже описано было.
|
Re: Увеличение максимального уровня в Interlude
Если бы эти цифры лежали на виду, я бы не стал их подбирать. Даже если где-то и было — это не важно: теперь есть здесь и в хорошем виде (на этом форуме я встретил как минимум 7 тем с этим вопросом).
|
Re: Увеличение максимального уровня в Interlude
Лично я нигде не видел, по этому и пришлось как обычно методом тыка разбираться :)
Добавлено через 5 минут З.Ы. Если собрались тюнить уровни, позаботьтесь о скилах, а именно о Magiclvl, который как правило на IT не качается после 74 или 76 (точно не помню) и зависит как правило от уровня проточки скила (до 85 качится если память не изменяет - хотя в случае 99 лвл это уже пофиг), что влечет за собой полное *непрохождение* магических скилов на персонажей высокого уровня. |
Текущее время: 20:34. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot