Перейти к содержанию
Аватар пользователя
#3542
SetGameVar("LevR", 1);
print("Установили что LevR это Сет Гейм Вар");

LevR = GetHeroLevel('Raelag');


Вы устанавливаете значение внутриигровой переменной "LevR" в единицу, а потому жаловаться вам не на что — вы ее нигде не меняете.
А следующая ниже LevR = GetHeroLevel("Raelag") разово записывает уровень героя (первый) в вообще другую переменную.
Сделать надо так:

function HeroLevelSave()
SetGameVar("LevR", GetGameVar("LevR")+1)--Увеличиваем на 1 переменную с уровнем героя
end

SetGameVar("LevR", 1)
Trigger(HERO_LEVELUP_TRIGGER, "Raelag")


В Комбат скрипте тоже немного по-другому:

function Start()
Level_R = GetGameVar("LevR") + 0;
print("Level_R установлен как определитель уровня Раилага мать его в бою и зависит от LevR через Сет и Гет Гейм Вар");
if GetHeroName(GetAttackerHero()) == 'Raelag' then
print("если ГГ агрессор");
local mana = GetUnitManaPoints(GetAttackerHero());
SetUnitManaPoints(GetAttackerHero(), 200);
repeat sleep(1) until GetUnitManaPoints(GetAttackerHero())==200;
if Level_R < 20 then
print("Если уровень меньше 20, то");
for i, creature in GetDefenderCreatures() do
startThread(UnitCastAimedSpell, GetAttackerHero(), 4, creature);
print("кастуем глыбу");
end;
SetUnitManaPoints(GetAttackerHero(), mana);
print("возвращаем ману");
else
print("Если уровень 20 и больше, то");
for i, creature in GetDefenderCreatures() do
startThread(UnitCastAimedSpell, GetAttackerHero(), 5, creature);
print("кастуем шар");
end;
SetUnitManaPoints(GetAttackerHero(), mana);
print("возвращаем ману");
end
end
end;

Не хватало end'ов у вас, я поставил нужное кол-во. Кроме того, ваш скрипт (если он такой, как выше), сработает только если мы напали, а не напали на нас.
У вас не хватало 1 энда.

С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________