"Кот забрал новую партию сапог с чересседельником, но опять вернулся и уже не ворчит, а рычит - в первый же день сапоги расползлись".
Были надежды, что и Психопомпа наконец кроме других фиксов работает идеально, но нет.
Перезарядка-то теперь нормально вроде увеличивается (раньше она тоже увеличивалась, но неправильно, а еще раньше еще более неправильно), но после первой же игры благополучно после выхода из вара опять фатал.
Перезарядка-то теперь нормально вроде увеличивается (раньше она тоже увеличивалась, но неправильно, а еще раньше еще более неправильно), но после первой же игры благополучно после выхода из вара опять фатал.
ВСЕ.
ФАТАЛ БЫЛ ИЗ-ЗА ЗАПИСИ В SetAbilityCD ЗНАЧЕНИЙ С ТЫСЯЧНЫМИ ДОЛЯМИ.
ФАТАЛ БЫЛ ИЗ-ЗА ЗАПИСИ В SetAbilityCD ЗНАЧЕНИЙ С ТЫСЯЧНЫМИ ДОЛЯМИ.
Принятый ответ
/////////////////////////////////
Только что новая версия кода.
Первая игра с ПП 17 минут - фатала нет.
Вторая игра 16 минут 52 секунды - фатала нет.
Третья около 17 минут - фатала нет.
Вторая игра 16 минут 52 секунды - фатала нет.
Третья около 17 минут - фатала нет.
КОРОЧЕ, ВСЕ.
ФАТАЛ БЫЛ ИЗ-ЗА ЗАПИСИ В SetAbilityCD ЗНАЧЕНИЙ С ТЫСЯЧНЫМИ ДОЛЯМИ.
Уф.
Мб будет залито завтра или даже сегодня, просто для себя как минимум.
А себе на заметку - пока не влезать в лишнее тут, имеющегося хватает для многого.
ФАТАЛ БЫЛ ИЗ-ЗА ЗАПИСИ В SetAbilityCD ЗНАЧЕНИЙ С ТЫСЯЧНЫМИ ДОЛЯМИ.
Уф.
Мб будет залито завтра или даже сегодня, просто для себя как минимум.
А себе на заметку - пока не влезать в лишнее тут, имеющегося хватает для многого.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. quq_CCCP
Короче, пока поставлю доп. реалки на лвлы и кд абилы (это как минимум уменьшение обфускации кода) и фильтр на мертвеца, там видно будет. Если что, тема продолжит развитие.
Если совсем надоест, я просто поменяю ульту, т. к. 90%, что дело в ней.
У тебя как минимум подсказок нет, а без них не могу.
Некоторые проблемы именно у Психопомпы, так что у нее и буду решать.
Замечания справедливые, соответственно им отредактирую, но свой шаблон.
У тебя куча функций и еще и глобалки используются...
кинь мне в личку всю карту
Так же зачем брать кд абилки каждый раз, это не шибко быстрая функция, лучше запиши её результат в переменную.
Фильтр удалять ненужно, он не утекает, 1 и тот же boolexpr можно использовать многократно для разных целей.
Так же отсеиваем клонов.
DracoL1ch, у тебя же у самого была проблема с GetTriggerEventId() С возвращением.
Ред. ClotPh
В кастом коде все функции легко отыщутся.
Уж ты разберешься, доту явно хакать тяжелее. Можешь war3map.j открыть, можешь просто прогрузить карту (что она грузится XX минут, это нормально, в итоге загружается. Можно английскую опен открыть, отличий в коде мало, а грузится минимум втрое быстрее)
Можешь и сам в оптимизированной (т. е. нормально-игровой) карте за Психопомпу поиграть и увидеть, что после выхода из игры бывает фатал.
Только так ты и .j можешь посмотреть, и сам поиграть, и карту открыть любую.
Но выложить .j офк не помешает тебе это и в будущем сделать, сейчас... знаю, что там страх, какая-то часть вообще осталась гуишная, но суть-то в конкретной функции, ну или... в общем, вот.
Лол. 6 метров.
Файл.
P. S. В коде это все-таки чуть удобоваримее выглядит - по папочкам разбито и т. д., хотя офк еще причесывать можно очень долго.
Скорее всего максимум завтра-послезавтра кину.
Все из папки Errors + там еще реплей на всякий случай, хотя понимаю, что скорее всего не понадобится, но вдруг всё же решишь скачать все целиком.
Пока все фаталы объединяет то, что в процессе игры за нее она доходила до прокачки ульты.
Но и тогда фатал может быть, а может и не быть. Вот в чем прикол.
Но обговоренных с тобой изменений еще не вносилось, если речь об этом. Потому что ради этого опять часами колупать все карты и оптимизаторы - гемор. Да и лич сказал, что он и в текущем коде криминала не видит...
Ну пока с ли чем открыли новый флаг криттера = ), не знаю когда он будет свободен.
А в архиве для лича, по-твоему, что?!
-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-шка почти та же самая в плане интересующих функций, выкладываю только все последние связанные с Психопомпой функции, ульт вообще переделан.