Перейти к содержанию

Gaikotsu

Постоялец
  • Публикаций

    1570
  • Зарегистрирован

  • Посещение

  • Победитель дней

    62
  • Отзывы

    0%

Весь контент Gaikotsu

  1. 1. по мне дак проще удалять или выдавать их - меньше телодвижений по определению того, с какими конкретно скиллами имеющимися у игрока надо работать. еще один косячок у тебя с умениями откровения - у тебя только одно дерево изучения с ними есть - с обычной эссенцией, а их должно быть два почти одинаковых - во втором те еже самые скиллы но за эссенцию выдающуюся дуал классу при пробуждении. просто на основе и на дуале эти умения изучаются раздельно и за разные итемы. 2. ни разу с таким не сталкивался, ну хотя у меня механика работы с саммонами чуток другая (сервер у меня хоть и тоже имеет тот же первоисточник, т.е. ребелион, но уже изначально, как я начал над ним работать, являлся как бы чуток другой веткой уже - так что по сравнению с теми исходниками, которые Киллрой выложил весной и которые теперь все берут в качестве основы, имеет во многих деталях отличия).
  2. я не про деревья в хмл - это само собой, я про то как у самого игрока эти выученные спецскиллы хранятся. у меня вот к примеру для всех подобных скиллов, которые явно не привязаны к конкретным классам персонажа, используется отдельная таблица - так намного проще с ними работать
  3. а что мешало их нужному нпс пихнуть? кстати я не очень понял где ты хранишь саб/дуал/ревелейшн скиллы? неужели в общей таблице скиллов персонажа? если да то как-то это не то - неудобно ими оперировать в таком случае. З.Ы. и еще у тебя косяк в списке скиллов дуалкласса - неправильные цены на изучение, некототорые скиллы требуют не 1 сертификат, а больше.
  4. Gaikotsu

    Статы На Сете

    столбцы в таблице же осмысленно называются? по ним и стоит ориентироваться при добавлении записи о новом сете, а не по принципу "методом тыка повставляю значения - вдруг заработает".
  5. как вариант еще посмотреть таблицу куда сохраняются изученные скиллы, возможно тип поля для ид скилла не позволяет сохранять такие большие значения.
  6. DevGoD, кстати судя по всему ты систему виталити то не переделал - у тебя все еще обший счетчик на весь аккаунт. А в линдвиоре вернули отдельные очки виталити не то что на каждого персонажа, а вобще отдельные на каждую его сабу. http://l2central.info/wiki/Энергия
  7. я за автора отвечать не могу
  8. ну как бы по идее у автора сборки в приоритете должны быть исправления ошибок и добавление нового функционала с оффа. а уж свистелки и перделки в виде эвентов и т.п. - это в последнюю очередь. их могут сделать и пользователи сборки и при желании поделиться с другими.
  9. а что мешает взять и даптирвоать готовый эвент к текущей сборке? ведь как я понял теперь уже скрипты в датапаке не компиленные и доступны для правок и загрузки.
  10. принудительная рега на форуме для получения даже минимальной инфы о сборке - фи... нет бы хотя бы минимальную информацию сделать доступной для чтения и гостям.
  11. бред там написан по этой теме - реально записи <enchant ... /> в свойствах вещи лишь указывают, какие статы будут увеличиваться при заточке, а непосредственно прибавку делает FuncEnchant и ему глубоко пофиг что указано в атрибуте val.
  12. И не изменится. FuncEnchant.java в ядре смотри. и еще - в клиенте твои изменения видно не будет - там в свойствах вещи будет показывать стандартные прибавки, ибо это сам клиент считает, руководствуясь грейдом вещи, ее типом и уровнем заточки.
  13. строка с ошибкой же указана, что мешает посмотреть что может в ней вызывать NPE?
  14. как я уже говорил выше - вобще не требуется расписывать для каждой веши персонально что из нее можно получить при кристаллизации. достаточно одного единственного файла с записями типа таких <reward grade="A" type="WEAPON"> <item id="729" count="1" chance="0.xxxxxx" /> <!-- Scroll: Enchant Weapon (A-grade) / Свиток: Модифицировать Оружие (А) --> <item id="6569" count="1" chance="0.xxxxxx" /> <!-- Blessed Scroll: Enchant Weapon (A-grade) / Благословенный Свиток: Модифицировать Оружие (A) --> <item id="36388" count="1" chance="0.xxxxxx" /> <!-- Giant's Scroll: Enchant Weapon (A-grade) / Свиток Гигантов: Модифицировать Оружие (A) --> <item id="36513" count="1" chance="0.xxxxxx" /> <!-- Elcyum Powder / Порошок Эльсиума --> </reward> и по данным из него прямо на лету считать шансы для кристаллизуемой в данный момент вещи. З.Ы. а возможность задавать явно для конкретной вещи награды с шансом в любом случае стоит оставить - для каких либо нестандартных вещей, которые вдруг захочется сделать и сделать эту возможность приоритетной, т.е. если задано - берутся эти данные, если нет - расчет идет по общим правилам. З.З.Ы. и еще маленькая подсказка по шансам - они пропорциональны ценам на вещи. т.е. к примеру если базовая цена одной награды в 10 раз больше базовой цены другой награды - и их шансы тоже будут отличаться в 10 раз.
  15. угу, только учти что для каждого грейда + типа кристаллизуемой вещи эти значения для одних и тех же наград разные.ну как я говорил выше - в высчитывании всего этого вполне помогут скрины с оффа, достаточно легко по ним вычислить это все. P.S. вот для примера например для двух разных R пушек награды и их шансы:
  16. судя по всему он об этом - http://l2central.info/wiki/Знак_Ученика
  17. разясняю проще - у тебя для всех кристаллизуемых вещей A+ заданы одни и те же шансы получения наград, а по оффу шансы и количество этих наград напрямую зависят от того, сколько в кристаллизуемой вещи кристаллов.
  18. если фарм зона в инстансе, но чемпионов там может и не быть, т.к. в большинтсве сборок на это дело добавлена дополнительная проверка при определении, может ли моб стать чемпионом.
  19. немного конструктивной критики на тему доп. вещей получаемых при кристаллизации. у тебя в корне неправильные шансы выставлены на все это дело. даю подсказку - шансы и количество вещей при кристаллизации напрямую зависят от количества кристаллов в кристаллизуемом предмете и считаются по простенькой формуле. хотя для понятности просто покажу фрагмент кода, в котором это считается. for (CrystallizeItem item : _rewards.get(template.getItemGrade()).get(template.isWeapon() ? 0 : 1)) { double chance = item.getChance() * crystalAmount; int count = item.getCount(); if (chance > 100.0D) { double countMul = Math.ceil(chance / 100.0D); chance /= countMul; count *= countMul; } rewards.add(new CrystallizeItem(item.getId(), count, chance)); } где item.getChance() - шанс получения предмета в пресчете на 1 кристалл. шансы и т.д. для каждого предмета в каждой комбинации грейда и типа кристаллизуемой вещи говорить не буду - это все легко высчитать руководствуясь хотя бы теми же скринами с оффа на которых видно какие шансы получения идут для разных вещей. В итоге, по крайней мере у меня, получилось что для любой вещи A - R99 грейдов результаты почти в один в один совпадают с тем что имеется на оффе - без небольших погрешностей в доли % конечно не обошлось, но это уже сущие мелочи. и мне для этого совершенно не требуется расписывать награды для каждой кристаллизуемой вещи - достаточно одного маленького файла, в котором перечислены награды для всех нужных комбинаций грейдов и типов вещей. З.Ы. и еще уточню - в качестве количества кристаллов всегда используется базовое количество, а не то что есть реально у вещи на данный момент - я про ситуацию с заточенными вещами (в них количество кристаллов при кристаллизации увеличивается по немудреной формуле).
  20. обычное 32битное число. переведи в хекс и будет тебе более понятный код цвета, в виде FFFF77 а в каком это формате - RGB или BGR - зависит уже от того как именно в серве формируется это дело, но чаще всего клиентом вроде используется BGR.
  21. блин, что за привычка создавать все эти костыли в виде подсчета онлайна и всего такого через запросы в БД?.. для кого вообще сделан в сервере специальный пакет, получить который можно сделав запрос с сайта на игровой порт сервера и получив в ответ данные об онлайне, притом с детализацией типа: сколько всего народа в онлайне, сколько сидит в трейде и т.д.?
  22. ну дак проблема в геодвижке - недоработанный он у тебя в сборке, коли пути для мобов не строятся.
  23. все от сборки зависит и геодвижка в ней - не во всех патчнод требуется, зачастую пути и на лету создаются
  24. замени этим свой EnterWorld.java и пробуй скомпилить. а вообще - лучше бросай это гиблое дело. если такая примитивная проблема ввела тебя в ступор - лучше не стоит даже начинать работать над сервером, пока не получишь хотя бы базовые познания в программировании.
×
×
  • Создать...