Скрипты - Страница 232 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 232 из 260
 
Опции темы
#3466
Старый 24.08.2021, 22:55
  #3466
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

смотри, во-первых, в xdb-файле скрипта у тебя не был указан путь к lua-файлу. Т.е, даже если бы путь был указан корректно, скрипт бы не запускался. Проблема же с указанием адекватного пути довольно каверзная, поскольку, SetHeroCombatScript, в отличие от многих других функций требует явного указания начального слеша, даже если использовать функцию GetMapDataPath(). Т.е. корректный скрипт будет такой:
path = '/'..GetMapDataPath()
main_hero = 'Raelag'
print("ГГ назван");

SetHeroCombatScript('Raelag', path.."CombatScript.xdb#xpointer(/Script)");
print("комбат скрипт запущен");

ну и кроме того, есть опечатки в названиях функций в боевом скрипте, а так же не указаны цели для кастов в функции UnitCastAimedSpell. Вот твоя карта с пофикшенными путями, но чтобы Раилаг правильно кастовал, тебе нужно определить, в кого нужно делать эти касты)
Вложения
Тип файла: h5m Proba.h5m (16.3 Кбайт, 3 просмотров)
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3467
Старый 24.08.2021, 23:15
  #3467
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
Re: Скрипты

Марта, да, новые ссылки правильные.
МартаМой combat script.xdb ведёт не к combat script.lua, а к map script.lua. Интересно, как же это так вышло. Пойду править.
Загадка, почему ошибка MapScript.lua видна в бою, теперь ясна)

Gerter — отдельное спасибо.
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3468
Старый 24.08.2021, 23:34
  #3468
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Хоттабыч, но теперь у меня другая ошибка).

Я переписала скрипты на нетронутой версии карты, на которой раньше никаких скриптов не было.
И теперь в бою мне пишут:

Value was NIL when getting global with name 'GetUntiManaPoints'
attempt to call a nil value
Что, млин, ему ещё не нравится, когда есть main_hero = 'Raelag'?
Марта вне форума
Ответить с цитированием
#3469
Старый 24.08.2021, 23:46
  #3469
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

МартаХоттабыч, но теперь у меня другая ошибка).

Я переписала скрипты на нетронутой версии карты, на которой раньше никаких скриптов не было.
И теперь в бою мне пишут:

Value was NIL when getting global with name 'GetUntiManaPoints'
attempt to call a nil value
Что, млин, ему ещё не нравится, когда есть main_hero = 'Raelag'?
я написал же выше, что опечатка в имени функции. Должно быть GetUnitManaPoints. Кроме этого, вызовы функции UnitCastAimedSpell будут вызывать ошибку, т.к. в них не указана цель каста третьим аргументом.
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3470
Старый 25.08.2021, 00:03
  #3470
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Просто скопировала в MapScript скрипт Gerter, - ни хрена не изменилось.
Value was NIL when getting global with name 'GetUntiManaPoints', и всё тут.
Тьфу, млин, я слепая коза. сейчас поправлю.

Добавлено через 12 минут
Да, мана теперь исправно добавляется, большое спасибо.
attempt to call a nil value - это консоль пишет про отсутствие цели заклинания?
И как добавить эту цель?
Задумка была в том, чтобы повторить заклинание Эльвы из карты "Незваные гости", но не на молнию, а на холод, и мне пока не нужно так много героев, как там.
Марта вне форума
Ответить с цитированием
#3471
Старый 25.08.2021, 00:11
  #3471
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

нет, ошибка attempt to call a nil value означает, что ты пытаешься вызвать какую-то неизвестную игре функцию. Функции с именем 'GetUntiManaPoints' игра не знает, поэтому и ругается.
Хочешь сделать, чтобы в начале боя на всех врагов кастовались ледяные глыбы? Тогда скрипт надо изменить примерно так:

function Start()
    if GetHeroName(GetAttackerHero()) == 'Raelag' then
        print("если ГГ агрессор");
        local mana = GetUnitManaPoints(GetAttackerHero()) --Иначе мы ни с того ни с сего оставим 200 маны игроку!
        SetUnitManaPoints(GetAttackerHero(), 200);
        repeat sleep(1) until GetUnitManaPoints(GetAttackerHero())==200 --Спать до тех пор, пока не начислится мана
        for i, creature in GetDefenderCreatures() do
          startThread(UnitCastAimedSpell, GetAttackerHero(), 4, creature)
        end
        SetUnitManaPoints(GetAttackerHero(), mana); --Вернём маны, сколько было!
        print("кастуем");
    elseif GetHeroName(GetDefenderHero()) == 'Raelag' then
        print("если ГГ агрессор");
        local mana = GetUnitManaPoints(GetDefenderHero()) --Иначе мы ни с того ни с сего оставим 200 маны игроку!
        SetUnitManaPoints(GetDefenderHero(), 200);
        repeat sleep(1) until GetUnitManaPoints(GetDefenderHero())==200 --Спать до тех пор, пока не начислится мана
        for i, creature in GetAttackerCreatures() do
          startThread(UnitCastAimedSpell, GetDefenderHero(), 4, creature)
        end
        SetUnitManaPoints(GetDefenderHero(), mana); --Вернём маны, сколько было!
        print("кастуем");
    end;
end
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3472
Старый 25.08.2021, 05:55
  #3472
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Огромное спасибо. Я передрала скрипты с присланной моей же карты, и ошибка стала как вы написали, - сейчас попробую добавить цель для заклинания.

Добавлено через 4 минуты
ЗЫ Да, всё, наконец-то, работает. Спасибо ещё раз)

Добавлено через 3 минуты
Хоттабыч, и вам тоже спасибо. Постараюсь внимательно изучить ваше руководство, но пока я мало в нём понимаю, - это что-то вроде магии).

Добавлено через 5 часов 31 минуту
Господа, у меня к вам новый вопрос, - как всегда, уже можно сказать.
Как мне передать информацию об уровне моего ГГ в боевой режим?

Вот в этой теме написано:
https://forum.heroesworld.ru/showthread.php?t=7934&page=247
"Можно сохранять уровень героя в общеигровую переменную с помощью SetGameVar и получать ее значение в бою, используя GetGameVar"(c)

-------------------------------------------------------------
В MapScript я пишу:


path = '/'..GetMapDataPath()
main_hero = 'Raelag'

SetHeroCombatScript('Raelag', path.."CombatScript.xdb#xpointer(/Script)");

SetGameVar("LevR", 1);
print("Установили что LevR это Сет Гейм Вар");

LevR = GetHeroLevel('Raelag');
print("LevR установлен как определитель уровня Раилага");

function ProbaF()   -- Я её пишу только затем, чтобы проверить, что LevR корректно работает, - и он работает.
    if LevR < 20 then
print("уровень меньше 20");
else
print("уровень 20 или больше");
    end;
        end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "ProbaF" );

-------------------------------------------------------------
В CombatScript я пишу:

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;
        sleep(1);
         if Level_R < 20 then
          print("если уровень меньше 20и то");
           for i, creature in GetDefenderCreatures() do
             startThread(UnitCastAimedSpell, GetAttackerHero(), 4, creature);
              print("кастуем глыбу");
               SetUnitManaPoints(GetAttackerHero(), mana);
                print("возвращаем ману");
                           end;
            else
            print("если уровень 20 и больше");
              for i, creature in GetDefenderCreatures() do
               startThread(UnitCastAimedSpell, GetAttackerHero(), 5, creature);
                print("кастуем шар");
                 SetUnitManaPoints(GetAttackerHero(), mana);
                  print("возвращаем ману");
         end;
    end;
-------------------------------------------------------------
Но Раилаг, с упорством, достойным лучшего применения, кастует не шар, а ледяную глыбу, хотя он 20го уровня!
И консоль пишет, что он меньше 20го по уровню.
То есть, CombatScript в упор не видит GetGameVar?
Или он видит, - ведь Раилаг кастует, - но почему-то не видит if Level_R < 20 then?
Как донести до боевого режима, что ГГ уже 20й?

И дополнительный вопрос, - как это вы все вставляете сюда такие разноцветные скрипты?
В моей однотонной крокозябре хрен разберёшься, надо бы мне её по-другому оформлять.
Марта вне форума
Ответить с цитированием
#3473
Старый 25.08.2021, 11:23
  #3473
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
Re: Скрипты

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"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3474
Старый 25.08.2021, 11:25
  #3474
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
Re: Скрипты

Добавление блока кода (с автоматической подсветкой) идёт через нажатие кнопки с фигурными скобками снаружи точки с запятой.
Миниатюры
Нажмите на изображение для увеличения
Название:  1.JPG
Просмотров: 10
Размер:	12.6 Кбайт
ID:	66114  
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3475
Старый 25.08.2021, 13:15
  #3475
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Спасибо, сейчас попробую.
Разумеется, это только половина скрипта - на атакующего, - я решила не грузить форум и вас лишними неудобочитаемыми скриптами. Дефендера я сделаю по образцу аттакера.

Добавлено через 1 час 31 минуту
Чё-то не работает.
МепСкрипт ругается (Script) ERROR: Parameter lost: function name.

path = '/'..GetMapDataPath()
main_hero = 'Raelag'
print("ГГ назван");

SetHeroCombatScript('Raelag', path.."CombatScript.xdb#xpointer(/Script)");
print("Комбат скрипт запущен");

LevR = GetHeroLevel('Raelag');
print("LevR установлен как определитель уровня Раилага");

function HeroLevelSaveF()
SetGameVar("LevR", GetGameVar("LevR")+1); --Увеличиваем на 1 переменную с уровнем героя
print("Установили что LevR это Сет Гейм Вар");
end

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

Пробовала менять название функции - ничего не меняется.

 

Пробовала убирать LevR = GetHeroLevel('Raelag'); (мне показалось, что Trigger(HERO_LEVELUP_TRIGGER, "Raelag") вполне достаточно, и может, это так и есть. Убрать LevR = GetHeroLevel('Raelag') или не надо?) - тоже ничего не изменилось,  (Script) ERROR: Parameter lost: function name.

Комбат скрипт вроде правильный, но Раилаг по-прежнему кастует глыбу, и игра не видит, что он 20го уровня. Вот скрипт, на всякий случай:

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;
        sleep(1);
         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
    else
    if GetHeroName(GetDefenderHero()) == 'Raelag' then
        print("åñëè ÃÃ àãðåññîð");
        local mana = GetUnitManaPoints(GetDefenderHero())
        SetUnitManaPoints(GetDefenderHero(), 200);
        repeat sleep(1) until GetUnitManaPoints(GetDefenderHero())==200
        sleep(1);
         if Level_R < 20 then
          print("åñëè óðîâåíü ìåíüøå 20, òî");
           for i, creature in GetAttackerCreatures() do
            startThread(UnitCastAimedSpell, GetDefenderHero(), 4, creature);
             print("êàñòóåì ãëûáó");
             end;
              SetUnitManaPoints(GetDefenderHero(), mana);
             else
             print("åñëè óðîâåíü 20 è áîëüøå, òî");
               for i, creature in GetAttackerCreatures() do
                startThread(UnitCastAimedSpell, GetDefenderHero(), 5, creature);
                 print("êàñòóåì øàð");
                  end;
                  SetUnitManaPoints(GetDefenderHero(), mana);
                   print("âîçâðàùàåì ìàíó");
                     end
                   end;
                  end;
                end;

Сорри, если русский текст не отобразится, но и так, вроде, всё понятно.

Добавлено через 3 минуты
Может, в Меп скрипте вот тут косяк? И какие-то скобки лишние, или кавычки?
SetGameVar("LevR", GetGameVar("LevR")+1);
Марта вне форума
Ответить с цитированием
#3476
Старый 25.08.2021, 13:32
  #3476
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

в триггере нужно указать функцию, которая будет срабатывать при повышении уровня. Т.е. ошибка тут:
Trigger(HERO_LEVELUP_TRIGGER, "Raelag")

а должно быть
Trigger(HERO_LEVELUP_TRIGGER, "Raelag", "HeroLevelSaveF")
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3477
Старый 25.08.2021, 13:46
  #3477
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Массаракш, действительно, - где были мои глаза. Спасибо.
Только он всё равно кастует глыбу, что с LevR = GetHeroLevel('Raelag'); что без, - значит, комбат скрипт не видит LevR.
Где-то тут ещё косяк.
Марта вне форума
Ответить с цитированием
#3478
Старый 25.08.2021, 13:55
  #3478
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

функцию, срабатывающую при повышении уровня можно поменять вот таким образом, т.к. GetGameVar возвращает не совсем то, что вы хотите)
function HeroLevelSaveF()
SetGameVar("LevR", ceil(GetHeroLevel('Raelag')); --Увеличиваем на 1 переменную с уровнем героя
print("Установили что LevR это Сет Гейм Вар");
end

кроме того, огненный шар является не таргетным, а площадным спеллом, поэтому кастовать его надо по-другому:
for i, creature in GetDefenderCreatures() do
  local x, y = pos(creature)
  startThread(UnitCastAreaSpell, GetAttackerHero(), 5, x, y);
  print("Кастуем шар");
end
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3479
Старый 25.08.2021, 14:55
  #3479
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Сейчас попробую. Что до шара, вы правы, но я его сюда поставила просто чтобы отличался от глыбы, а то выглядят глыба и улучшенная глыба одинаково и я в бою не различаю, что Раилаг кастует. Спасибо, однако, за науку, пригодится. Сейчас поменяю шар на молнию, она не площадная.

Добавлено через 7 минут
ScriptEditor ругается на строчку SetGameVar("LevR", ceil(GetHeroLevel('Raelag'));
Придётся  третью скобку рисовать, вот так?
SetGameVar("LevR", ceil(GetHeroLevel('Raelag')));
Марта вне форума
Ответить с цитированием
#3480
Старый 25.08.2021, 14:56
  #3480
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

МартаСейчас попробую. Что до шара, вы правы, но я его сюда поставила просто чтобы отличался от глыбы, а то выглядят глыба и улучшенная глыба одинаково и я в бою не различаю, что Раилаг кастует. Спасибо, однако, за науку, пригодится. Сейчас поменяю шар на молнию, она не площадная.

Добавлено через 7 минут
ScriptEditor ругается на строчку SetGameVar("LevR", ceil(GetHeroLevel('Raelag'));
Придётся  третью скобку рисовать, вот так?
SetGameVar("LevR", ceil(GetHeroLevel('Raelag')));
да, скобку пропустил.
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
Ответ
Страница 232 из 260


Опции темы



Часовой пояс GMT +4, время: 05:30.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru