Баг с крит-локом
-
@FidoRulez:
Личные наблюдения: не знаю, что фиксили, но если вчера 2 дюка меня не цепляли, то сегодня стопят намертво. Трижды пробовал оторваться - бесперспективняк. Доживем до гв.
я токо что убегал от 4 мобов (1 дюк и 3 аларма)...
Тестил на пвп меня бил кнайт со 187 аспд я убегал как всегда легко... -
Во перевод коментария из конфига jAthena 1509:
// When プレイヤーキャラ receives the damage, % ratio of the delay which cannot be moved (delay it is not with 0, with 10 usually, with 20 time...)
player_damage_delay_rate: 10
プレイヤーキャラ - скорее всего это player
-
@Andy-the Skrontz:
Амулет японцы сами убрали, я уже не говорю, все равно ты не прочитаешь, ибо не читатель, а писатель.Энди, "ты не в курсе" )
jathena 1540 , файл item_db.txt
[code:1wdz5o9p]609,Amulet,返魂のお札,2,100,,100,,,,,195026943,2,,,,,,{ sc_start SC_RaceUndead,180000,0; },{} [/code:1wdz5o9p] -
antena_nashi, Удали пост O__o ты что ) какой богохульство - чтобы японцы O__o да еще и ошиблись ++ быть неможет. Ты наверно вреш онтена ++ Как же так можна - ведь они убрали амулет ) и Марионетку они сами исправили ~__~[На правах стеба]
А зачем мы тут о чем то спорим? - энди ничево не решает - и доказывать ему смысла нету - он всегда прав. А жАфина в несомения божественна.Zeno: Предупреждение - оффтопик.
-
Есть идея. Давайте поставим на тестовом "чистый" эмулятор, тость без мерджинга старых каких-либо фиксов. И посмотрим какой будет станлок при значении 10. Просто есть вероятность, что какойто из предыдущих фиксов просто конфликтует с новой версией. Если на тестовом при знеачении 10 станлок будет, то можно с уверенностью будет сказать, что проблему надо будет искать в "заплатках". Если же нет, то вернемся к нашим баранам, тоесть спорам.
-
Вчера вечером тестировал с витовым бардом, с полным кастом, авайком, и Ассасин Кросс оф Сансэт, Аспд получилось 185. Витовый бард уходил от меня мгновенно.
-
Azriel, по идее должно держать 2-3 сина теперь -_- конечно это не так как на офе, но лучше чем ничего...
-
Эм.. Энди, еще раз спрашиваю, почему не в счет записи видео с ГВ на евРО буржуев? Не могу понять никак... И почему ты их называешь "абстрактными"?
-
А как попасть на иро с нашим клиентом?
-
Jerry,
- сделать бекап
- запустить ragnarok.exe
-
А какой смысл ещё что-то проверять если все нормальные посты
с тестами и доводами игнорируются, или авторов обвиняют в
некопетентности. Другими словами, ты хочешь помочь, а в ответ
слышишь: "Ты ничего не понимаешь, все твои доводы придуманы,
сейчас всё работает правильно".
И в надежде на то, что мой пост всё таки прочитают я повтороюсь:
ГВ на иРО: син аспд ~177-180 обездвиживает виза.
Дуэль у нас: син аспд 185 не может остановить витового барда.ЗЫ Мне всё таки интересно, проигнорируют ли этот пост как все
предидущие или всё таки мне скажут, что я ничего не понимаю. -
antena_nashi, оно качает патч 70 метров x_x
/run не помогает
Больше способов нет ? -
Jerry, все правильно, он качает патч с einbroch'ом...
-
я не хочу патч с einbroch'ом -_-
-
Jerry, ну тогда через какое-то время (может уже после этих выходных), ты не сможешь играть на мотре... Т_Т
-
мне тоже кажется что, вполне могли иметь место случайные несостыковки наших "исправлений" с оригиналным японским кодом, например когда монстрам стопрейт отключили или еще в какой-то момент...
и еще, помните такой глюк когда нажимаешь куда-то идти и тут получаешь удар. чар как бы замирает на месте где его ударили, а потом резко добегает (почти телепортируется) на место назначения. может тут какой-то подводный камень?
-
@antena_nashi:
Azriel, по идее должно держать 2-3 сина теперь -_- конечно это не так как на офе, но лучше чем ничего...В том то и суть, что это если подумать, ничего не изменится. Какой должен быть деф, чтобы удержать хотя бы средненькую атаку? о_О В пару раз больше ее численностью? о_О Бред получается.
Давно уже стало ясно, что каждый из класов вносит в деф как систему чтото свое, только присущее ему. Сины выполняли роль передвигающихся многоразовых трапов. =))) Какой в них смысл, если теперь их нужно две-три штуки на одного? Тем более на иРО пишут, что одного наткритсина с приличным аспд должно хватать. Получается поменяем шило на мыло. Псевдонеправильный стопрей до фикса, на вообще непонятно каким боком соответствующий механике Гравити умножающийся стопрейт. +_+
-
@unnamed01:
и еще, помните такой глюк когда нажимаешь куда-то идти и тут получаешь удар. чар как бы замирает на месте где его ударили, а потом резко добегает (почти телепортируется) на место назначения. может тут какой-то подводный камень?До поза-позавчера вроде движение не останавливалось при ударе. Теперь останавливается.
-
Все расчёты выполнены при помощи исходного кода jAthena 1540
И на основе формул взятых с <!-- m --><a class="postlink" href="http://rodatazone.simgaming.net/mechanics/substats.php">http://rodatazone.simgaming.net/mechanics/substats.php</a><!-- m -->Часть 1: Разбор Исходного кода.
Файл: src\map\status.cint status_get_dmotion(struct block_list *bl)
{
int ret;
struct status_change *sc_data;nullpo_retr(0, bl); sc_data = status_get_sc_data(bl); if(bl->type==BL_MOB && (struct mob_data *)bl){ ret=mob_db[((struct mob_data *)bl)->class].dmotion; if(battle_config.monster_damage_delay_rate != 100) ret = ret*battle_config.monster_damage_delay_rate/100; } *else if(bl->type==BL_PC && (struct map_session_data *)bl){*
-
ret=((struct map_session_data *)bl)->dmotion;*
-
if(battle_config.pc_damage_delay_rate != 100)*
-
ret = ret*battle_config.pc_damage_delay_rate/100;*
-
}*
else if(bl->type==BL_PET && (struct pet_data *)bl)
ret=mob_db[((struct pet_data *)bl)->class].dmotion; else
return 2000;if((sc_data && sc_data[SC_ENDURE].timer!=-1 &&
(bl->type == BL_PC && !map[((struct map_session_data *)bl)->bl.m].flag.gvg)) ||
(bl->type == BL_PC && ((struct map_session_data *)bl)->special_state.infinite_endure))
ret=0;return ret;
}
Выделеная часть функции проверяет файл battle_athena.conf и параметр
player_damage_delay_rate. Этот параметр является процентом от основной переменной, отвечаюшей за стоп рэйт dmotion.
Другими словами при значении 100 используется
не изменённое значение dmotion, при параметре ниже или выше значение dmotion меняется.sd->dmotion = 800-sd->paramc[1]*4;
Данная строка просчитывает базовое значение переменной dmotion для расчёта
Используется переменная paramc[1] значение которой Agi + Бонусы + Карты.
Эту строку можно упростить: dmotion=800-(Agi+бонусы+карты)*4
Исходя из этого на стоп рэйт на прямую влияет стат Agility персонажа.Значение переменной dmotion является милисекундами, исходя из файла timer.c,
в котором используется API функция Windows gettickcount()
<!-- m --><a class="postlink" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/gettickcount.asp">http://msdn.microsoft.com/library/defau ... kcount.asp</a><!-- m -->Часть вторая: Разбор формул
Сокращения
HPM = Количество Ударов в минуту
TBH = Время в милисекундах между ударами
SR = Стоп Рэйт (Время в милисекундах)Формулы
SR=800-Agi4
HPM= 60/ (Delay / 50)
ASpd = (200 - delay)
delay = WeaponDelay - ([WeaponDelayAgi/25] + [WeaponDelay*Dex/100])/10
В этой формуле присутствует параметр SpeedMods, про помощи которого расчитывается увеличение ASPD от Карт и Расходников.
Для этого расчёта он не представляет важности по сему я его упускаю.
TBH= 60000/HPMЧасть Третья: Расчёт в соответствии с базовой конфигурацией сервера.
Подопытным для расчётов я выбрал Катар Ассасина, который часто
используется как «Крит Локер». Удар ассасина не много отличается от ударов
других персонажей, так как существует Off Hand удар который наносится
сразу после основного и тоже является параметром влияющим на SR.Для полного обездвиживания перонажа TBH должен быть равен или меньше SR
Начиная с версии 1479 jAthana параметр player_damage_delay_rate установлен на 10,
что является уменьшением значения dmotion до 10% от базового.
Возьмём к примеру персонажа с 50 аги.
SR=800-50*4=600 милисекунд.
10% от 600 = 60 милисекунд.
Это значит что после нанесения удара персонаж будет обездвижен на 60 милисекунд.Далее в соотвествии с формулой вычесления ASPD нужно выяснить, какой должна
Быть минимальная скорость атаки для полного обездвиживания этого персонажа.
Для этого в формулу я подставлял различные значения Agi и Dex. Так как я не использую
в расчётах расходники и карты, повышающие скорость атаки, значения Agi и Dex
завышены намерено, что бы достичь нужного ASPD.
(Здесь описан окончательный результат расчётов).
Agi = 180; Dex = 160; Оружие: Катар WeaponDelay = 50.
delay = (50 - ([50180/25] + [50160/100])/10) = 50 - (360 + 80) / 10 = 50 - 440 / 10 = 6
HPM= 60/ (6 / 50) = 500
TBH= 60000/500 = 120 так как катар наносит 2 удара TBH делится на 2
Окончательный Результат: TBH = 60
ASPD=200-6=194
Как мы видим что бы полностью обездвижить персонажа с 50 аги ASPD должен
превышать максимально возможное значение 190.*Часть Четвёртая: Расчёт параметра player_damage_delay_rate *
в соответствии с данными с форума ragnainfo.com
<!-- m --><a class="postlink" href="http://www.ragnainfo.net/forums/viewtopic.php?t=25728">http://www.ragnainfo.net/forums/viewtopic.php?t=25728</a><!-- m -->
В этом топике описан так называемый крит лок и возможность его достичь
при ASPD ~175 Для расчёта я не стал брать минимальный ASPD указаный в топике,
а взял аспд 177.
Для достижения 177 аспд мне понадобилось 100 Agi и100 DexDelay = 50 - ([50110/25] + [50100/100])/10 = 50-(220+50)/10 = 50-270/10 = 23
Aspd = 200-23=177Расчёт TBH
HPM=60/(delay/50)=130
TBH=60000/130/2
TBH = 230Расчёт player_damage_delay_rate.
Время между ударами при ASPD 177 = 230
Соответсвенно нужно подогнать значение SR у персонажа которого нужно
обездвижить. Делается это простым делением
230/60= 3,83333 Округляем до 4***Итак, исходя из всех расчётов значение player_damage_delay_rate превышает то, ***
что мы имеем на нашем сервере в 4 раза и должно быть увеличено. -
-
Но если оно превышает, то зачем же еще увеличивать?
Точную цифру для параметра player_damage_delay_rate я что-то не вижу.