March 9, 201016 yr Хотелось бы поинтересоваться у товарищей админов как настроено действие атрибутов на сервере? Ну хотя бы до 150 атрибута пока что. Множество статей основанных на оффе указывают на такой график усиления Проведенные мной пару месяцев назад тесты на Хантере показали такую зависимость В графиках по горизонтали указана разница в атрибутах атаки нападающего и защиты цели, а по вертикале соответствующий множитель урона. Подозреваю механика атрибутов на Хантере с того времени не изменилась и на Прайме она тоже абсолютно такая же. Это так?? PS график взят из статьи http://quest.forumcl...f9/tema-t60.htm
March 9, 201016 yr Проведенные пару месяцев тесты на Хантере показали такую зависимость С этого поподробнее.. где тесты? Ну и чтобы я и остальные знали, что разговаривают со знающим человеком. Прибавка к урону идет только если разница в аттрибуте достигает определенного числа. Это показано на твоей 1й картинке с оффа. Вполне возможно, что ты тестил на зааттрибученых целях, следовательно не достигал нужной разницы аттрибута и прибавки урона, отсюда и возникают вопросы.
March 10, 201016 yr Author зааттрибученых целях? в смысле имеешь ввиду их защиту от этого атрибута? конечно я считал разницу атрибутов, а не чистый атрибут атаки. Тесты проводил в 2 окна, на простых физ ударах пухой с атрибутом. При различных вариантах бафов и прочих условий достагалась указанная разница атрибутов атакующего и цели. Вычислял средний дмг из 10-15 ударов, смотрел его изменение. PS криты не учитывал xD
March 10, 201016 yr Ну а терь скрины или фрапс от лица атакующего и цели.. Админов трудно убедить в том, что чтото работает не так как должно)
March 10, 201016 yr Author Вопрос выделен жирным. PS что админы менять ничего не будут и так весь сервер знает, фрапсом можно не утруждать себя xD
March 10, 201016 yr График сделанный якобы для нашего сервера - бред. У нас для физ. атак идут фиксированные значения как и на официальном: /** * Возвращает множитель для атаки из значений атакующего и защитного элемента. Только для простых атак и немагических скиллов. * <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] Объяснять код не буду, кому надо сам поймет.
March 10, 201016 yr График сделанный якобы для нашего сервера - бред. У нас для физ. атак идут фиксированные значения как и на официальном: /** * Возвращает множитель для атаки из значений атакующего и защитного элемента. Только для простых атак и немагических скиллов. * <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
March 10, 201016 yr Эмм всетаки не все сильны в програмировании,думаю для 99% людей серва это китайская грамота.Можете хоть в 2-х словах разъяснить че ето значит?
March 10, 201016 yr Эмм всетаки не все сильны в програмировании,думаю для 99% людей серва это китайская грамота.Можете хоть в 2-х словах разъяснить че ето значит? я умею читать между строк и могу тебе сказать что Ди имел ввиду что то типо того "У НАС ВСЁ ПРАВИЛЬНО!!11" можешь даже не вникать в таблицы
March 10, 201016 yr Оффтоп: а сервер на J# написан чтоль?или в чистой яве такой же синтаксис? по теме: для не понимающих: расчет урона идет таким образом: 1. если разница между атакующим и защитным атрибутам равна нулю, то урон не повышается. 2. если используется не скилл (простые удары оружием), то урон рассчитывается как "базовый + 0.007 * [минимум между [максимумом из разницы и -20] и 100]" 3. если разница между атакующим и защитным атрибутом меньше 75, то урон рассчитывается как "базовый + разница * 0.0052" 4. если разница между атакующим и защитным меньше 150, то урон равен базовому * 1.4 5. если разница между атакующим и защитным меньше 290, то урон равен базовому * 1.7 6. если разница между атакующим и защитным меньше 300, то урон равен базовому * 1.8 7. в иных ситуациях (хз каких честно даж) урон равен двум базовым.
March 10, 201016 yr На вскидку - в коде написано, что в зависимости от разницы attack - defense, возвращается коэффициент (множитель), на который умножается нанесенный дамаг. Это для простых атак. При использовании скиллов - чуть сложнее, т.к, по идее, ещё должна учитываться заточка скила на атрибут.
March 10, 201016 yr Оффтоп: а сервер на J# написан чтоль? Просьба при мне такими ругательными словами не выражаться... Синтаксис Java. Просто мы немного отошли от стандартов и пишем в своем стиле, ближе к С++. При использовании скиллов - чуть сложнее, т.к, по идее, ещё должна учитываться заточка скила на атрибут. Нет, со скиллами там наоборот проще, пропущена одна ступенька. В метод передается уже конечное значение аттрибута, с учетом всех заточек и прочей гадости. [минимум между [максимумом из разницы и -20] и 100] Типа, понятнее чем там написал? 7. в иных ситуациях (хз каких честно даж) урон равен двум базовым. 300 и выше.
March 10, 201016 yr Нет, со скиллами там наоборот проще, пропущена одна ступенька. В метод передается уже конечное значение аттрибута, с учетом всех заточек и прочей гадости. Ну там просто больше написано "+" ещё какой-то математический минимум/максимум, короче - на вид - сложнее простой разницы значений attack - defense.
March 10, 201016 yr Обычный условный оператор if условие then оператор1 else оператор2 diff - обозначение в коде для разницы аттрибута if... else... - если (условие) условие diff выполняется, то возвращается одно значение множителя урона, а если не выполняется, то возвращается другое значение (значение разницы аттрибута и множителей смотрите в коде ) P.S. Кто там сказал что тут 99% программирование не понимает? Уже как минимум трое отписалось по расшифровке кода ;D
March 10, 201016 yr Ну там просто больше написано "+" ещё какой-то математический минимум/максимум, короче - на вид - сложнее простой разницы значений attack - defense. Это наоборот, только для простых ударов. Разве не видно приставочку "!" (отрицание) ?
March 10, 201016 yr Нет, со скиллами там наоборот проще, пропущена одна ступенька. В метод передается уже конечное значение аттрибута, с учетом всех заточек и прочей гадости. можна код пожалуйста, лучше 1 раз увидеть чем 100 раз услышать) Edited March 10, 201016 yr by ))d(•-•)b((
March 10, 201016 yr Одни программисты собрались блин. Не увидел в коде ничего нестандартного для явы. Или Вы имеете ввиду, что открывающую скобочку на новую строку переносите? Ну так все сишники, перешедшие на яву так делают!
March 10, 201016 yr можна код пожалуйста, лучше 1 раз увидеть чем 100 раз услышать) Боюсь, ты его не поймешь Там сложный калькулятор, состоящий из функций, которые как конструктор собираются из множества разных мест в сервере. Все это обсчитывается и получается результат, который уже передается в указанную выше функцию. Причем функция может быть описана как напрямую в коде, так и подгружаться из xml описаний скиллов, либо из sql базы. Механизм универсальный, и его сложно понять в целом, но это и не требуется, главное понимать отдельные составляющие. Одни программисты собрались блин. Не увидел в коде ничего нестандартного для явы. Или Вы имеете ввиду, что открывающую скобочку на новую строку переносите? Ну так все сишники, перешедшие на яву так делают! Ну, мы довольно много подобных отступлений от стандартов сделали На самом деле "родные" java кодеры пишут совсем по-другому, и это вроде даже где-то описано.
March 10, 201016 yr На самом деле "родные" java кодеры пишут совсем по-другому, и это вроде даже где-то описано. Не знаю, стандартов тоже не читал. Но смотрел код sun-овцев - без поллитра не разберешься. структурные отступы у них не в почете...
March 10, 201016 yr ну индусы никогда не отличались умением хорошо оформлять код, а я более чем уверен, что тот код, который ты смотрел, написан ими. для примера: большАя часть разработчиков IBM IDS 10.xx+ индусы
March 10, 201016 yr И такое бывает? бывает, если, к примеру, в бижу попался аугмент на защиту от стихии (лично у меня, он помимо защиты 20 атрибута, давал ещё и к атаке 20 атрибута)
March 10, 201016 yr Причем тут защита? Oo Аугмент в биже не может дать + к атрибут атаке или это тупо баг или такая вот фича местная. к тому, что 300 атрибута - не предел. добавлю: в статах было написано, тип атаки: вода 20. при том, что была одета тока аугмент бижа и всё. т.е. ни пушка, ни бафа, ни шмота - ничего не было.
March 10, 201016 yr И такое бывает? некр... + 300 атрибута в палке, курко баф на дарк атрибут (+20-30) заточка вампирика на дарк (+20-30) заточка кости на дарк (+20-30) = 360-390 атрибута (не считая талисманы и аргументацию) вот собстевнно интересует для магичечких скилов росчет атрибута
March 10, 201016 yr пример атрибута выше трёхсот (святость): 300 в пухе +20 холи випон+30 данс оф лайт= 350. А если ещё у моба отрицательный резист к святости, как например на ХБ -95, там вообще мы имеем 445, но толку от этого уже нет, т.к. после разницы в 300 бонус не идёт. Заточкой скиллов на атрибут святости этот показатель ещё выше поднять можно
March 10, 201016 yr Боюсь, ты его не поймешь Там сложный калькулятор, состоящий из функций, которые как конструктор собираются из множества разных мест в сервере. Все это обсчитывается и получается результат, который уже передается в указанную выше функцию. Причем функция может быть описана как напрямую в коде, так и подгружаться из xml описаний скиллов, либо из sql базы. Механизм универсальный, и его сложно понять в целом, но это и не требуется, главное понимать отдельные составляющие Даешь open source! Программисты хотят видеть изнанку сервера =) З.Ы. Уже давненько просил исходники по атрибутам =)
March 10, 201016 yr ну индусы никогда не отличались умением хорошо оформлять код, а я более чем уверен, что тот код, который ты смотрел, написан ими. для примера: большАя часть разработчиков IBM IDS 10.xx+ индусы Не поверишь, но я сейчас как раз и работаю c распределенной системой, полностью написанной индусами и знаком с их кодом не по наслышке. А тот код писал Scott Violet, автор части классов библиотеки swing. вроде не индус, хотя хз.. ;D
March 10, 201016 yr Math.min(Math.max(diff, -20), 100) Обьясните плз, че за функции? Не вкурил Из двух чисел выбирают максимум и минимум соответственно.
March 10, 201016 yr diff это атака - дэф Функция берет максимальное из чисел diff и -20, а затем минимальное из чисел 100 и результата предыдущего вычисления Пример: 150 атаки, 60 дэфа: diff = 90 макс(90,-20) = 90; мин(90,100) = 90
March 10, 201016 yr после разницы в 300 бонус не идёт. оно то так, но diff = attack - defense; Интересует дейсвие атрибута для маг скилов, т.к было изложено Только для простых атак и немагических скиллов.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.