SadMercury Опубликовано 9 марта, 2010 Поделиться Опубликовано 9 марта, 2010 Хотелось бы поинтересоваться у товарищей админов как настроено действие атрибутов на сервере? Ну хотя бы до 150 атрибута пока что. Множество статей основанных на оффе указывают на такой график усиления Проведенные мной пару месяцев назад тесты на Хантере показали такую зависимость В графиках по горизонтали указана разница в атрибутах атаки нападающего и защиты цели, а по вертикале соответствующий множитель урона. Подозреваю механика атрибутов на Хантере с того времени не изменилась и на Прайме она тоже абсолютно такая же. Это так?? PS график взят из статьи http://quest.forumcl...f9/tema-t60.htm 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
DJMrTwister Опубликовано 9 марта, 2010 Поделиться Опубликовано 9 марта, 2010 Проведенные пару месяцев тесты на Хантере показали такую зависимость С этого поподробнее.. где тесты? Ну и чтобы я и остальные знали, что разговаривают со знающим человеком. Прибавка к урону идет только если разница в аттрибуте достигает определенного числа. Это показано на твоей 1й картинке с оффа. Вполне возможно, что ты тестил на зааттрибученых целях, следовательно не достигал нужной разницы аттрибута и прибавки урона, отсюда и возникают вопросы. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SadMercury Опубликовано 10 марта, 2010 Автор Поделиться Опубликовано 10 марта, 2010 зааттрибученых целях? в смысле имеешь ввиду их защиту от этого атрибута? конечно я считал разницу атрибутов, а не чистый атрибут атаки. Тесты проводил в 2 окна, на простых физ ударах пухой с атрибутом. При различных вариантах бафов и прочих условий достагалась указанная разница атрибутов атакующего и цели. Вычислял средний дмг из 10-15 ударов, смотрел его изменение. PS криты не учитывал xD 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
DJMrTwister Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Ну а терь скрины или фрапс от лица атакующего и цели.. Админов трудно убедить в том, что чтото работает не так как должно) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SadMercury Опубликовано 10 марта, 2010 Автор Поделиться Опубликовано 10 марта, 2010 Вопрос выделен жирным. PS что админы менять ничего не будут и так весь сервер знает, фрапсом можно не утруждать себя xD 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Admin Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 График сделанный якобы для нашего сервера - бред. У нас для физ. атак идут фиксированные значения как и на официальном: /** * Возвращает множитель для атаки из значений атакующего и защитного элемента. Только для простых атак и немагических скиллов. * <br /><br /> * Для простых атак диапазон от 1.0 до 1.7 * <br /><br /> * Для скиллов от 1.0 до 2.0 * <br /><br /> * @param defense значение защиты * @param attack значение атаки * @param skill флаг использования скилла * @return множитель */ private static double getElementMod(double defense, double attack, boolean skill) { double diff = attack - defense; if(diff <= 0) return 1.0; else if(!skill) return 1.0 + 0.007 * Math.min(Math.max(diff, -20), 100); else if(diff < 75) return 1.0 + diff * 0.0052; else if(diff < 150) return 1.4; else if(diff < 290) return 1.7; else if(diff < 300) return 1.8; else return 2.0; }[/code] Объяснять код не буду, кому надо сам поймет. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Mambet Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 График сделанный якобы для нашего сервера - бред. У нас для физ. атак идут фиксированные значения как и на официальном: /** * Возвращает множитель для атаки из значений атакующего и защитного элемента. Только для простых атак и немагических скиллов. * <br /><br /> * Для простых атак диапазон от 1.0 до 1.7 * <br /><br /> * Для скиллов от 1.0 до 2.0 * <br /><br /> * @param defense значение защиты * @param attack значение атаки * @param skill флаг использования скилла * @return множитель */ private static double getElementMod(double defense, double attack, boolean skill) { double diff = attack - defense; if(diff <= 0) return 1.0; else if(!skill) return 1.0 + 0.007 * Math.min(Math.max(diff, -20), 100); else if(diff < 75) return 1.0 + diff * 0.0052; else if(diff < 150) return 1.4; else if(diff < 290) return 1.7; else if(diff < 300) return 1.8; else return 2.0; } Объяснять код не буду, кому надо сам поймет. это дано только избранным видимо :o 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
FryLock Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Эмм всетаки не все сильны в програмировании,думаю для 99% людей серва это китайская грамота.Можете хоть в 2-х словах разъяснить че ето значит? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Mambet Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Эмм всетаки не все сильны в програмировании,думаю для 99% людей серва это китайская грамота.Можете хоть в 2-х словах разъяснить че ето значит? я умею читать между строк и могу тебе сказать что Ди имел ввиду что то типо того "У НАС ВСЁ ПРАВИЛЬНО!!11" можешь даже не вникать в таблицы 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Uwannadie Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Оффтоп: а сервер на J# написан чтоль?или в чистой яве такой же синтаксис? по теме: для не понимающих: расчет урона идет таким образом: 1. если разница между атакующим и защитным атрибутам равна нулю, то урон не повышается. 2. если используется не скилл (простые удары оружием), то урон рассчитывается как "базовый + 0.007 * [минимум между [максимумом из разницы и -20] и 100]" 3. если разница между атакующим и защитным атрибутом меньше 75, то урон рассчитывается как "базовый + разница * 0.0052" 4. если разница между атакующим и защитным меньше 150, то урон равен базовому * 1.4 5. если разница между атакующим и защитным меньше 290, то урон равен базовому * 1.7 6. если разница между атакующим и защитным меньше 300, то урон равен базовому * 1.8 7. в иных ситуациях (хз каких честно даж) урон равен двум базовым. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Xplo1t Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 На вскидку - в коде написано, что в зависимости от разницы attack - defense, возвращается коэффициент (множитель), на который умножается нанесенный дамаг. Это для простых атак. При использовании скиллов - чуть сложнее, т.к, по идее, ещё должна учитываться заточка скила на атрибут. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Admin Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Оффтоп: а сервер на J# написан чтоль? Просьба при мне такими ругательными словами не выражаться... Синтаксис Java. Просто мы немного отошли от стандартов и пишем в своем стиле, ближе к С++. При использовании скиллов - чуть сложнее, т.к, по идее, ещё должна учитываться заточка скила на атрибут. Нет, со скиллами там наоборот проще, пропущена одна ступенька. В метод передается уже конечное значение аттрибута, с учетом всех заточек и прочей гадости. [минимум между [максимумом из разницы и -20] и 100] Типа, понятнее чем там написал? 7. в иных ситуациях (хз каких честно даж) урон равен двум базовым. 300 и выше. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Xplo1t Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Нет, со скиллами там наоборот проще, пропущена одна ступенька. В метод передается уже конечное значение аттрибута, с учетом всех заточек и прочей гадости. Ну там просто больше написано "+" ещё какой-то математический минимум/максимум, короче - на вид - сложнее простой разницы значений attack - defense. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
DJMrTwister Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Обычный условный оператор if условие then оператор1 else оператор2 diff - обозначение в коде для разницы аттрибута if... else... - если (условие) условие diff выполняется, то возвращается одно значение множителя урона, а если не выполняется, то возвращается другое значение (значение разницы аттрибута и множителей смотрите в коде ) P.S. Кто там сказал что тут 99% программирование не понимает? Уже как минимум трое отписалось по расшифровке кода ;D 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Admin Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Ну там просто больше написано "+" ещё какой-то математический минимум/максимум, короче - на вид - сложнее простой разницы значений attack - defense. Это наоборот, только для простых ударов. Разве не видно приставочку "!" (отрицание) ? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
))d(•-•)b(( Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 (изменено) Нет, со скиллами там наоборот проще, пропущена одна ступенька. В метод передается уже конечное значение аттрибута, с учетом всех заточек и прочей гадости. можна код пожалуйста, лучше 1 раз увидеть чем 100 раз услышать) Изменено 10 марта, 2010 пользователем ))d(•-•)b(( 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Yamax Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Одни программисты собрались блин. Не увидел в коде ничего нестандартного для явы. Или Вы имеете ввиду, что открывающую скобочку на новую строку переносите? Ну так все сишники, перешедшие на яву так делают! 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Admin Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 можна код пожалуйста, лучше 1 раз увидеть чем 100 раз услышать) Боюсь, ты его не поймешь Там сложный калькулятор, состоящий из функций, которые как конструктор собираются из множества разных мест в сервере. Все это обсчитывается и получается результат, который уже передается в указанную выше функцию. Причем функция может быть описана как напрямую в коде, так и подгружаться из xml описаний скиллов, либо из sql базы. Механизм универсальный, и его сложно понять в целом, но это и не требуется, главное понимать отдельные составляющие. Одни программисты собрались блин. Не увидел в коде ничего нестандартного для явы. Или Вы имеете ввиду, что открывающую скобочку на новую строку переносите? Ну так все сишники, перешедшие на яву так делают! Ну, мы довольно много подобных отступлений от стандартов сделали На самом деле "родные" java кодеры пишут совсем по-другому, и это вроде даже где-то описано. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Yamax Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 На самом деле "родные" java кодеры пишут совсем по-другому, и это вроде даже где-то описано. Не знаю, стандартов тоже не читал. Но смотрел код sun-овцев - без поллитра не разберешься. структурные отступы у них не в почете... 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Uwannadie Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 ну индусы никогда не отличались умением хорошо оформлять код, а я более чем уверен, что тот код, который ты смотрел, написан ими. для примера: большАя часть разработчиков IBM IDS 10.xx+ индусы 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Gramm Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 И такое бывает? бывает, если, к примеру, в бижу попался аугмент на защиту от стихии (лично у меня, он помимо защиты 20 атрибута, давал ещё и к атаке 20 атрибута) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Gramm Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Причем тут защита? Oo Аугмент в биже не может дать + к атрибут атаке или это тупо баг или такая вот фича местная. к тому, что 300 атрибута - не предел. добавлю: в статах было написано, тип атаки: вода 20. при том, что была одета тока аугмент бижа и всё. т.е. ни пушка, ни бафа, ни шмота - ничего не было. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
))d(•-•)b(( Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 И такое бывает? некр... + 300 атрибута в палке, курко баф на дарк атрибут (+20-30) заточка вампирика на дарк (+20-30) заточка кости на дарк (+20-30) = 360-390 атрибута (не считая талисманы и аргументацию) вот собстевнно интересует для магичечких скилов росчет атрибута 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Saya Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 пример атрибута выше трёхсот (святость): 300 в пухе +20 холи випон+30 данс оф лайт= 350. А если ещё у моба отрицательный резист к святости, как например на ХБ -95, там вообще мы имеем 445, но толку от этого уже нет, т.к. после разницы в 300 бонус не идёт. Заточкой скиллов на атрибут святости этот показатель ещё выше поднять можно 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Aenea Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Боюсь, ты его не поймешь Там сложный калькулятор, состоящий из функций, которые как конструктор собираются из множества разных мест в сервере. Все это обсчитывается и получается результат, который уже передается в указанную выше функцию. Причем функция может быть описана как напрямую в коде, так и подгружаться из xml описаний скиллов, либо из sql базы. Механизм универсальный, и его сложно понять в целом, но это и не требуется, главное понимать отдельные составляющие Даешь open source! Программисты хотят видеть изнанку сервера =) З.Ы. Уже давненько просил исходники по атрибутам =) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Yamax Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 ну индусы никогда не отличались умением хорошо оформлять код, а я более чем уверен, что тот код, который ты смотрел, написан ими. для примера: большАя часть разработчиков IBM IDS 10.xx+ индусы Не поверишь, но я сейчас как раз и работаю c распределенной системой, полностью написанной индусами и знаком с их кодом не по наслышке. А тот код писал Scott Violet, автор части классов библиотеки swing. вроде не индус, хотя хз.. ;D 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
HeadMaster Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Math.min(Math.max(diff, -20), 100) Обьясните плз, че за функции? Не вкурил 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Yamax Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 Math.min(Math.max(diff, -20), 100) Обьясните плз, че за функции? Не вкурил Из двух чисел выбирают максимум и минимум соответственно. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Aenea Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 diff это атака - дэф Функция берет максимальное из чисел diff и -20, а затем минимальное из чисел 100 и результата предыдущего вычисления Пример: 150 атаки, 60 дэфа: diff = 90 макс(90,-20) = 90; мин(90,100) = 90 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
))d(•-•)b(( Опубликовано 10 марта, 2010 Поделиться Опубликовано 10 марта, 2010 после разницы в 300 бонус не идёт. оно то так, но diff = attack - defense; Интересует дейсвие атрибута для маг скилов, т.к было изложено Только для простых атак и немагических скиллов. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.