Игра не ругается, консоль чистая, но скрипт не срабатывает. Есть идеи куда смотреть?
Вы функцию написали, но не написали, что её должно запускать...
startThread, например. Снаружи функции.
Второй трабл -- функция у Вас сработает только один раз. Чтобы игра постоянно что-то проверяла, сделайте внутри цикл, бесконечный
while 1 do
end;
Но не забудьте ещё и sleep, а то игра зависнет.
GetHeroLevel(TownStrongholdHero1) == 3
С третьего левела? Вы же написали, с 1-го... Не понял...
Только у одного героя? Хорошо бы искать всех героев стронголда на карте, наверное. К тому же трабл, если данный герой умрёт, то функция упадёт с ошибкой. Нужна проверка IsHeroAlive.
Ну и в идеале -- поставить break после того, как навык всё же будет получен, чтобы выйти из цикла.
Если смысл -- дождаться левелапа до 3-х, то вообще можно поставить не бесконечный цикл, а Trigger, вроде бы там есть условие левелапа, посмотрите.
P.S. Да, скрипты -- такая вот штука ) А Вы что думали? )