"Кот забрал новую партию сапог с чересседельником, но опять вернулся и уже не ворчит, а рычит - в первый же день сапоги расползлись".
Были надежды, что и Психопомпа наконец кроме других фиксов работает идеально, но нет.
Перезарядка-то теперь нормально вроде увеличивается (раньше она тоже увеличивалась, но неправильно, а еще раньше еще более неправильно), но после первой же игры благополучно после выхода из вара опять фатал.
Перезарядка-то теперь нормально вроде увеличивается (раньше она тоже увеличивалась, но неправильно, а еще раньше еще более неправильно), но после первой же игры благополучно после выхода из вара опять фатал.
ВСЕ.
ФАТАЛ БЫЛ ИЗ-ЗА ЗАПИСИ В SetAbilityCD ЗНАЧЕНИЙ С ТЫСЯЧНЫМИ ДОЛЯМИ.
ФАТАЛ БЫЛ ИЗ-ЗА ЗАПИСИ В SetAbilityCD ЗНАЧЕНИЙ С ТЫСЯЧНЫМИ ДОЛЯМИ.
Принятый ответ
/////////////////////////////////
Только что новая версия кода.
Первая игра с ПП 17 минут - фатала нет.
Вторая игра 16 минут 52 секунды - фатала нет.
Третья около 17 минут - фатала нет.
Вторая игра 16 минут 52 секунды - фатала нет.
Третья около 17 минут - фатала нет.
КОРОЧЕ, ВСЕ.
ФАТАЛ БЫЛ ИЗ-ЗА ЗАПИСИ В SetAbilityCD ЗНАЧЕНИЙ С ТЫСЯЧНЫМИ ДОЛЯМИ.
Уф.
Мб будет залито завтра или даже сегодня, просто для себя как минимум.
А себе на заметку - пока не влезать в лишнее тут, имеющегося хватает для многого.
ФАТАЛ БЫЛ ИЗ-ЗА ЗАПИСИ В SetAbilityCD ЗНАЧЕНИЙ С ТЫСЯЧНЫМИ ДОЛЯМИ.
Уф.
Мб будет залито завтра или даже сегодня, просто для себя как минимум.
А себе на заметку - пока не влезать в лишнее тут, имеющегося хватает для многого.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
-Bending
-Delicacy
-Perception
local real percent2= 0.00
local integer i= 11
local integer percentchange= 0
if UnitHasBuffBJ(GetTriggerUnit(), 'B0H8') == true then
set percent=1.01
endif
НА 1ЗАКРЫТО.
if UnitHasBuffBJ(GetTriggerUnit(), 'B0H9') == true then
set percent=1.02
endif
НА 2ЗАКРЫТО.
if UnitHasBuffBJ(GetTriggerUnit(), 'B0HA') == true then
set percent=1.03
endif
НА 3ЗАКРЫТО.
if UnitHasBuffBJ(GetTriggerUnit(), 'B0HB') == true then
set percent=1.04
endif
НА 4ЗАКРЫТО.
if UnitHasBuffBJ(GetTriggerUnit(), 'B0HC') == true then
set percent=1.05
endif
НА 5ЗАКРЫТО.
set i=0
set percent=percent - 1
loop
set i=i + 1
exitwhen i > 12
if ( GetUnitAbilityLevelSwapped('A281', udg_Circle[i]) == 2 ) then
set percent=percent * 2
set i=12
endif
endloop
set percent=percent + 1
ТАЛАНТ СИЛЬНОЕ ИСКРИВЛЕНИЕ - ЗАКРЫТО.
call ConditionalTriggerExecute(gg_trg_destroyspeceffect)
exitwhen i < 1
set i=i - 1
exitwhen i < 1
set i=i - 1
set percent2=GetAbilityCD(GetSpellAbilityId() , i) * percent
set percent2=percent2 * 100
set percentchange=R2I(percent2)
set percent2=I2R(percentchange)
set percent2=percent2 * 0.01
call SetAbilityCD(GetSpellAbilityId() , i , percent2)
endloop
endif
endif
Так было сделано "предусмотрительно", дело в том, что активных абилок с уровнем больше 10 в игре нет.
Но у большинства-то абилок всего по 5 лвлов.
А у некоторых и вовсе 1.
Может, именно там и пишется несуществующая память?
Тогда i должно в начале приравниваться к макс. уровню скастованной абилки +1.
Есть такая функция - считать уровень макс. абилки - в мемхаке?
maxlevel = Memory[GetAbilityDataDefAddr(GetSpellAbilityId())/4+0x3C/4]+1
0 == 1, 1 == 2, 3== 4, etc
пробуй
Отредактирован ClotPh
local integer a
if abil==0 then
return 0
endif
set a=GetObjectDataCaching(pAbilityData, abil)
if a>0 then
return Memory[a+20]
endif
return 0
endfunction
Попробую сделать только это, если тема вновь продолжит развитие, пересоздам =)
Но это уже, наверное, после крупного апдейта после конца апреля - обновлять только из-за этого и проверять не хочется (затрахало), а других серьезных ошибок я сейчас вообще не знаю. Благодарю за помощь.
это ж MadBreath так и делает (вроде, сейчас уже не полезу в .j, т. к. бесит).
Отредактирован Uber
Одно радует, что Психопомпа все равно все улучшается, хотя еще ни с одним героем за всю историю существования игры столько мороки не было, ну, пока фатал будет фирменной фичей =), пост-игры он не так уж мешает, но все же лучше бы без него... war3map.j-шка почти та же самая в плане интересующих функций, выкладываю только все последние связанные с Психопомпой функции, ульт вообще переделан.
Вбрасываю в таком виде, в каком силы есть вбросить и желание после всего кодинга и тестов, см. выше. Если модеры вставят кат, не побив вложенный файл - спасибо.
Посмотрим позже дальше.
Потому что шмотка, понижающая кулдауны на фиксированные значения без сотых долей, давно есть и используется, проблем с ней выявлено не было.
Хотя туповато получается, вынудит всех лоу кдшников, стоящих против Психопомпы, эту шмотку именно и брать и как можно меньше рядом с ней стоять, потому что спеллы с перезарядкой 2 сек и меньше вообще сильно будут портиться, а всякие ульты со 100 к/д вообще еле почешутся.
Ну да ладно. Хрен с ним. Зато везде Cooldown'ы снижаются процентно, а в BFS на фиксированные значения. Оригинально, с**а.
Ну или там че-нить мб заморочу, типа что если перезарядка от 10 сек. до 100, то эффект ауры усиливается в 10 раз по сравнению со способностями, где К/Д от 1 до 10, и так далее. Формально те же проценты получатся, но по коду - фиксированные повышения без сотых долей.
/
/////////////////////
Вот ппц. И никто до сих пор ничего не видит, только мной в конце концов и увидено.
Какого *** в BendingEffect два loop и два endloop в конце?!
Там же куски кода необрубленные.
Пока получается так - 95% уверенности, что фатал из-за Wшки (код в шапке), 80%, что если убрать лишние лупы, фатала не будет.
Посмотрим.