Перейти к содержанию

Сообщения от Скрипты для начинающих

Аватар пользователя
#226
Как сделать бесконечные очки хода в скрипте для всех 8 игроков
В ответ пользователю _De1My_
Аватар пользователя
#227
_De1My_
Как сделать бесконечные очки хода в скрипте для всех 8 игроков
я бы посоветовал вот такой цикл
while 1 do
for player = PLAYER_1, PLAYER_8 do
if GetPlayerState(player) == PLAYER_ACTIVE then
for i, hero in GetPlayerHeroes(player) do
ChangeHeroStat(hero, STAT_MOVE_POINTS, 10000)
end
end
end
sleep()
end
Нет войне.
Аватар пользователя
#228
Большое спасибо,все заработало

Добавлено через 4 минуты
А ёще одно,как сделать чтобы в начале игры была неделя золота
Аватар пользователя
#229
скриптов для такого нет, но можно попробовать другой способ: скопировать в свою карту файл data/GameMechanics/MoonCalendar/Default. в нем будут строчки вида:

    WEEK_OF_PLAGUE
    WEEK_OF_IDLENESS
    WEEK_OF_TREANT
    WEEK_OF_TOAD
    WEEK_OF_MAGIC
самую первую запись поменять на WEEK_OF_GOLD. затем в редакторе установить свойство карты RandomMoons в false. Минус в том, что при этом все недели станут неслучайными и будут подчиняться последовательности из указанного файла.
Нет войне.
Аватар пользователя
#230
А можна как-то сделать что бы в замке людей можна было тренировать 20-40 тыс. существ.

Добавлено через 22 часа 0 минут
как сделать что-бы стоимость тренировки была 1 монета на 1 коня
#231
Всем привет! Такой вопрос: как сделать локальный скрипт для какого-либо объекта (гарнизон, шахта и т.п.), чтобы при захвате (однократно) выдавала награду (к примеру опыт, существ, ресурсы)? Спасибо!
В ответ пользователю RamZZes
Аватар пользователя
#232
RamZZes
Всем привет! Такой вопрос: как сделать локальный скрипт для какого-либо объекта (гарнизон, шахта и т.п.), чтобы при захвате (однократно) выдавала награду (к примеру опыт, существ, ресурсы)? Спасибо!

Добрый день. Такие вопросы не раз обсуждались в теме Скрипты. Рекомендую поискать там, или, универсальный совет на этот и 100+ других подобных вопросов, можно взять чью-то карту, где такое уже реализовано, и посмотреть скрипт.
Кампании для Heroes V 3.1 (Трилогия):

Пробуждение зла
Нашествие из Преисподней
Смена эпох

Скачать все кампании одним архивом: Яндекс.Диск Google.Диск

You can download the set of 3 Campaigns (English version) here


Одиночные сценарии Heroes V 3.1:


Незваные гости
Красный кристалл
Синий кристалл
Закат тьмы

Мультиплеерные карты для Heroes V 3.1:

Легендарная война
Сердце вулкана
Передел мира
#234
Добрый день!

Коллеги, подскажите скрипт для события:
При вхождении в регион начинается бой с 6 Кристаллическими Драконами.

Сам сваял вот такое (см. ниже) но оно не работает

function Def( heroname )

 if heroname == hero then

 StartCombat(hero,nil,1,CREATURE_CRYSTAL_DRAGON,6,nil,nil,nil,nil);

 Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", nil );

 end;

end;

Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", "Def" );

Аватар пользователя
#235
Посмотрите скриптовое имя героя в его настройках (Выделяете => Пробел => Settings => Script name). И замените hero на это имя.
То есть:
function Def( heroname )
if heroname == hero then
StartCombat(hero,nil,1,CREATURE_CRYSTAL_DRAGON,6);
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", nil );
end;
end;
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", "Def" );

Так как последние 4 параметра вы оставили nil, то их можете просто не указывать.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
#236
И рекомендую в случае не работы кода заглядывать в консоль, ошибка там зачастую ключ к решению проблемы.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
#237
}{0TT@6bI4
И рекомендую в случае не работы кода заглядывать в консоль, ошибка там зачастую ключ к решению проблемы.
там я и увидел, что не работает скрипт (кнопка check)

было сообщение, что строка  function Def( heroname ) not defiend
и строка function CREATURE_CRYSTAL_DRAGON not defiend

Добавлено через 1 минуту
}{0TT@6bI4
Посмотрите скриптовое имя героя в его настройках (Выделяете => Пробел => Settings => Script name). И замените hero на это имя.
То есть:
function Def( heroname )
if heroname == hero then
StartCombat(hero,nil,1,CREATURE_CRYSTAL_DRAGON,6);
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", nil );
end;
end;
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", "Def" );

Так как последние 4 параметра вы оставили nil, то их можете просто не указывать.

А мне нужно, чтобы любой герой, кроме героев Лесного Союза, при вхождении в область вступал в бой
Аватар пользователя
#238
Не путайте лог редактора и консоль игры. Как ее разблочить, можете посмотреть в интернете. Также рекомендую пользоваться специальным редактором скриптов => https://yadi.sk/d/W6cz5UBu3SGAvb. Он не вылетает и работает лучше + удобнее. Вам нужно составить таблицу скриптовых имен героев-эльфов:
preserve_heroes={"Имя", "Имя1", ..., "Имя7"}.
Затем в функции:
function Def(heroname)
for key, name in preserve_heroes do
if name==heroname then
local PreserveHero=1
end
end
if not PreserveHero then
StartCombat(...)
end
...
end

Trigger...
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
#239
}{0TT@6bI4
Не путайте лог редактора и консоль игры. Как ее разблочить, можете посмотреть в интернете. Также рекомендую пользоваться специальным редактором скриптов => https://yadi.sk/d/W6cz5UBu3SGAvb. Он не вылетает и работает лучше + удобнее. Вам нужно составить таблицу скриптовых имен героев-эльфов:
preserve_heroes={"Имя", "Имя1", ..., "Имя7"}.
Затем в функции:
function Def(heroname)
for key, name in preserve_heroes do
if name==heroname then
local PreserveHero=1
end
end
if not PreserveHero then
StartCombat(...)
end
...
end

Trigger...

Спасибо!
В ответ пользователю }{0TT@6bI4
#240
}{0TT@6bI4
Не путайте лог редактора и консоль игры. Как ее разблочить, можете посмотреть в интернете. Также рекомендую пользоваться специальным редактором скриптов => https://yadi.sk/d/W6cz5UBu3SGAvb. Он не вылетает и работает лучше + удобнее. Вам нужно составить таблицу скриптовых имен героев-эльфов:
preserve_heroes={"Имя", "Имя1", ..., "Имя7"}.
Затем в функции:
function Def(heroname)
for key, name in preserve_heroes do
if name==heroname then
local PreserveHero=1
end
end
if not PreserveHero then
StartCombat(...)
end
...
end

Trigger...

Добрый день!

В итоге получился вот такой скрипт:

preserve_heroes={"Elleshar", "Linaas", "Gillion", "Diraya", "Itil", "Ossir", "Nadaur"}
function Def( heroName )
for key, name in preserve_heroes do
if name == heroName then
local PreserveHero=1
end;
end;
if not PreserveHero then
         StartCombat(heroName, "Metlirn",7,44,24,146,80,148,16,147,48,50,16,48,48,44,24)
     end;
end;
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", "Def" );

Он всех без исключения героев перехватывает...
В том, числе пробовал Ильфиной ("Itil") в регион зайти - тоже бой начинается, а в консоли сообщение: Value was NIL when getting global with name 'PreserveHero'
Аватар пользователя
#241
Ладно, попробуйте вот так:

preserve_heroes={"Elleshar", "Linaas", "Gillion", "Diraya", "Itil", "Ossir", "Nadaur"}
function Def( heroName )
PreserveHero=0
for key, name in preserve_heroes do
if name == heroName then
PreserveHero=1
end;
end;
if  PreserveHero==0 then         
StartCombat(heroName, "Metlirn",7,44,24,146,80,148,16,147,48,50,16,48,48,44,24)    
end;
end;
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", "Def" );
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________