Amigo, То что карты работают только на правую, помоему это давно известный факт.
zorteks, нет левая рука не будет "даблить" ставить сайдвиндер в ножик
совершенно без смысленно, если хочешь чтобы офф ханд дамаг множился юзай
катары с сайдвиндером (проверено множится)
Недавние сообщения Azriel
-
RE: Сайдвиндер в левую руку
-
RE: Прошу помочь адинистраторов просмотреть эту тему с вниманием
Desert Rose, скачай апдэйт и будет тебе счастье. Без последнего
апдэйта клиент будет постоянно выдавать ошибки. -
RE: Баг с крит-локом
Zarathustra, насколько мне известно в АЕГИС существует
одна переменная отвечающая за стоп-рэйт называется
VAR_DAMAGENOMOTIONTIME
У меня сейчас есть тот самый старый украденый Аегис и я в процессе поиска
переменной =))) (Там всё очень жутко выглядит по сравнению с Атеной) Так
как никаких изменений в стоп рэйте с запуска игры не производилось
(поправте меня если ошибаюсь) соответственно в этом
старом Аегисе переменная должна указывать на точное значение.Будем надеятся, что перменная найдётся. И наступит Хэпи Энд.
-
RE: Баг с крит-локом
Zeno,
Моё личное мнение это проблема с эмулятором, так как изменений в исходниках, насколько мне известно сделано не мало.
И вполне возможно существует не стыковка фиксов,
которая и вызывает проблемы. Единственный способ это проверить, запустить
тестовый сервер с ЧИСТЫМ эмулятором, без каких либо изменений и проверять,
с разными рэйтами(как уже предлогалось несколько раз). И ещё возможно в ветке 15** были сделаны какието изменения в расчёте стоп рэйта (14** я не проверял). В любом случае, то значение которое установлено сейчас в корне не верно, и мне кажется что и значение 100 тоже не верно,т.е. нужно проверять.ЗЫ Если получится попробую сегодня вечером запустить 15** у себя и проверить что из этого выйдет.
-
RE: Баг с крит-локом
Zeno, я так понимаю ты даже не читал пост. Если бы читал то то не задал бы подобного вопроса.
Ну так уж и быть для тех кто не читал.
Точная цифра player_damage_delay_rate = 40. -
RE: Баг с крит-локом
Все расчёты выполнены при помощи исходного кода 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 раза и должно быть увеличено. -
-
RE: Баг с крит-локом
А какой смысл ещё что-то проверять если все нормальные посты
с тестами и доводами игнорируются, или авторов обвиняют в
некопетентности. Другими словами, ты хочешь помочь, а в ответ
слышишь: "Ты ничего не понимаешь, все твои доводы придуманы,
сейчас всё работает правильно".
И в надежде на то, что мой пост всё таки прочитают я повтороюсь:
ГВ на иРО: син аспд ~177-180 обездвиживает виза.
Дуэль у нас: син аспд 185 не может остановить витового барда.ЗЫ Мне всё таки интересно, проигнорируют ли этот пост как все
предидущие или всё таки мне скажут, что я ничего не понимаю. -
RE: Баг с крит-локом
Вчера вечером тестировал с витовым бардом, с полным кастом, авайком, и Ассасин Кросс оф Сансэт, Аспд получилось 185. Витовый бард уходил от меня мгновенно.
-
RE: Баг с крит-локом
@Andy-the Skrontz:
Тайлен, долго вы будете тупить? Кто сказал, что разработчики "взяли значение с потолка?" Оно уже прошло через релиз и появилось в новой ветке. Формула не менялась, ее такую придумали разработчики, изменился слегка механизм применения.По сему прошу не фиксит марионет контроль, ибо значение переменной
list_sp отвечающей за стоимость скилла прошло через релиз и осталось 1 в релизе 1509 от 18/10/05
db\skill_require_db.txt//id,list_hp,list_sp,list_hp_rate,list_sp_rate,list_zeny,list_weapon,state,spiritball,itemid1,amount1,itemid2,amount2,itemid3,amount3,itemid4,amount4,itemid5,amount5,itemid6,amount6,itemid7,amount7,itemid8,amount8,itemid9,amount9,itemid10,amount10
396,0,1,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0Andy the Skrontz, не стоит выдовать за факт не провереные вещи.
Как мы видим ошибка переходит из версии к версии.