Вывод: событие на отлов изменения Real переменной не работает на lua.(по крайней мере у меня). Проблему решил заменив событие на вызов функции. Всем спасибо.
NatriY, Вставь код в функцию UpDown_Act() после udg_ToMove = 1
Если выводит TRUE 1, тогда ошибка в регистрации события и вызова функции для этого триггера
if udg_W then
call BJDebugMsg("TRUE "+R2S(udg_ToMove))
else
call BJDebugMsg("FALSE "+R2S(udg_ToMove))
endif
У меня почему-то не срабатывал дебагмсдж при конкатенации, поэтому я написал так
if (udg_W == true) then
BJDebugMsg(R2S(udg_ToMove + 10.0))
else
BJDebugMsg(R2S(udg_ToMove + 20.0))
end
Выводит 1 вариант, при udg_W == true, но почему это означает ошибку? Ведь эта переменная и должна быть true, так как кнопка зажата...
NatriY, Выводи лог на экран значений udg_S, udg_W и udg_ToMove, когда нажал и когда отпустил клавишу. Возможно причина в них
Добавлял в событие отпускания проверочное действие - не срабатывает. Да и я говорю, переменная принимает нужно значение, но ни мой, ни даже созданный на ГУИ триггер не реагирует на это событие.
Я создал отдельный триггер на ГУИ с событием - ToMove становится 1.00 и он тоже не сработал, хотя вывод показывает, что она == 1.00 Я просто переводил карту на луа, и вот теперь событие просто отказалось работать)
У меня эта переменная обнулится может в том же скрипте, только при отпускании клавиши. Если клавишу не отжимать - она не может никак не может обнулиться.
Вы же сами написали - переменной присваивается значение, но потом обнуляется.
Ещё есть вариант, что не та переменная используется...
Я когда нажимаю клавишу, то переменная должна быть равна 1 и никак не 0, ибо 0 может быть только после отпускания. Второй вариант маловероятен.
Хм-м, после присваивания всё нормально. Т.е разовый вывод выводит 1, но триггер, который каждую 0.01 сек ее выводит - выводит 0. Т.е она сразу становится нулём, при этом триггер с событием даже не срабатывает, ток что перепроверил.
Ну тогда надо в других местах ошибку искать...
У меня эта переменная обнулится может в том же скрипте, только при отпускании клавиши. Если клавишу не отжимать - она не может никак не может обнулиться.
Хм-м, после присваивания всё нормально. Т.е разовый вывод выводит 1, но триггер, который каждую 0.01 сек ее выводит - выводит 0. Т.е она сразу становится нулём, при этом триггер с событием даже не срабатывает, ток что перепроверил.
Я искал и Channel и Канал через Поиск ( самый верхний раздел выбрал )
Вопрос: ты находил канал до этого в reforged? Я как первый раз пытался найти Канал, так он имел другое название ( год назад ). А сейчас я забыл.
NatriY, куда ты прикрепил файл с кодом?)
Просто переписать даже с джнгп недостаточно, тебе нужно такое же название триггера как и у него, то бишь Music
А, вижу
по пути хз что сказать, это импорт? Если это вариковская музыка победы нежити то её путь такой
да и меня чутка смущает расширение .flac, вроде как варик только .wav и .mp3 проигрывает?
Попробовал, как у тебя - ничего. Путь рабочий, ибо создал триггер и проиграл через PlayMusic. В рефорджеде вся музыка в .flac, вроде...
Попробовал сконвертировать в mp3: через PlayMusic проигрывается, но опять же 1 раз. Через способ выше всё также не проигрывается...
NatriY, вариковские абилки супер простые и их без проблем можно на триггерах реализовать, как и указал Ворон, а перед нанесением урона ставим, допустим, переменную целочисленной на 1, и если юнит получил урон и эта переменная равна 1, то урон был от абилки
Все ли абилки можно просто реализовать на коде? Например, молот бурь?
NatriY, вариковские абилки супер простые и их без проблем можно на триггерах реализовать, как и указал Ворон, а перед нанесением урона ставим, допустим, переменную целочисленной на 1, и если юнит получил урон и эта переменная равна 1, то урон был от абилки
Все ли абилки можно просто реализовать на коде? Например, молот бурь?
Сразу оговорюсь, если молот - дамми юнит, то при повороте (смене направления) он не будет лететь, как оригинальный молот бурь, ибо оригинальный сворачивает по кругу(как пангольер в доте 2), юнит же будет разворачиваться быстро.
На актуальных версиях Warcraft 3 можно непосредственно определять все параметры нанесенного урона. Иначе - только с костылями вроде яда или мемхака (который работает лишь на старых версиях).
А какая версия вара, ближайшая к 1.26а, имеет все эти полезные вещи?
» WarCraft 3 / Забрать контроль
» WarCraft 3 / Как отловить Перерождение?
» WarCraft 3 / Забрать контроль
» WarCraft 3 / Как отловить Перерождение?
» WarCraft 3 / Не срабатывает событие на изменение real var. Игнор строки кода.
Ред. NatriY
» WarCraft 3 / Не срабатывает событие на изменение real var. Игнор строки кода.
» WarCraft 3 / Не срабатывает событие на изменение real var. Игнор строки кода.
if (udg_W == true) then
BJDebugMsg(R2S(udg_ToMove + 10.0))
else
BJDebugMsg(R2S(udg_ToMove + 20.0))
end
» WarCraft 3 / Не срабатывает событие на изменение real var. Игнор строки кода.
» WarCraft 3 / Не срабатывает событие на изменение real var. Игнор строки кода.
» WarCraft 3 / Не срабатывает событие на изменение real var. Игнор строки кода.
» WarCraft 3 / Не срабатывает событие на изменение real var. Игнор строки кода.
Ред. NatriY
» WarCraft 3 / Не срабатывает событие на изменение real var. Игнор строки кода.
» WarCraft 3 / Утечка function PlaySound takes string soundName returns nothing
» WarCraft 3 / Утечные BJ-шки
» WarCraft 3 / Канал reforged
» WarCraft 3 / Канал reforged
Вопрос: ты находил канал до этого в reforged? Я как первый раз пытался найти Канал, так он имел другое название ( год назад ). А сейчас я забыл.
» WarCraft 3 / Зациклить музыку
» WarCraft 3 / Зациклить музыку
» WarCraft 3 / Зациклить музыку
» WarCraft 3 / Зациклить музыку
» WarCraft 3 / Зациклить музыку
» WarCraft 3 / Отследить удар рукой
» WarCraft 3 / Отследить удар рукой
» WarCraft 3 / Отследить удар рукой
» WarCraft 3 / Отследить удар рукой