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

Сообщения от Скрипты

Аватар пользователя
А звёздочка у вас в скрипте тоже есть? Может, её посчитали каким-нибудь указателем...
 

К А
Стикеры GBF в Telegram
В ответ пользователю Ment
Аватар пользователя
Ment
А звёздочка у вас в скрипте тоже есть? Может, её посчитали каким-нибудь указателем...
Звездочки нет.
Мои карты для:
Heroes 5: Битвы кланов - Борьба за ресурсы - Обитель друидов - Падший рыцарь - Побег
Heroes 4: Немеджихра - Приключения ифрита
Heroes 3: Крюлод и Таталия
Heroes 2: Вторжение - Эктор - Сэр Мильтен - Чёртовы Топи
Мой ютуб канал: Navkratis
В ответ пользователю Navkratis
Аватар пользователя
Navkratis
Добрый день, консоль пишет (Script) ERROR: "="expected
Сам скрипт выглядит так:

void GiveArtefact("Brem", 13, nBindToHero=0);

В чем здесь ошибка?
Есть подозрение ,что данный скрипт некорректно написан

GiveArtefact(heroname, artefactID, [bindToHero = 0]);
Как я понимаю 3 параметр можно вообще не заполнять) А у вас написано nBindToHero
В ответ пользователю Fallenru
Аватар пользователя
Fallenru
Есть подозрение ,что данный скрипт некорректно написан

GiveArtefact(heroname, artefactID, [bindToHero = 0]);
Как я понимаю 3 параметр можно вообще не заполнять) А у вас написано nBindToHero
Написал GiveArtefact("Brem", 13); и все заработало, спасибо :)
Мои карты для:
Heroes 5: Битвы кланов - Борьба за ресурсы - Обитель друидов - Падший рыцарь - Побег
Heroes 4: Немеджихра - Приключения ифрита
Heroes 3: Крюлод и Таталия
Heroes 2: Вторжение - Эктор - Сэр Мильтен - Чёртовы Топи
Мой ютуб канал: Navkratis
В ответ пользователю Navkratis
Аватар пользователя
Помогите пожалуйста с одним скриптом . Мне нужно чтобы к моему герою присоединились крестьяне 4, появилось задание, дойти с ними до определенной точки и выполнить задание таким образом, и после этого они должны исчезнуть из отряда. Если крестьяне* погибнут в битве, то задание провалилось. (Начальные этапы* я более менее могу написать, но вот как сделать, чтобы задание проваливалось после смерти крестьян не знаю)

Добавлено через 4 часа 52 минуты
Помогите пожалуйста разобраться в чем ошибка в скрипте:
function demon()
local p1 =GetObjectiveState ('qwert1',PLAYER_1);
local p =GetObjectiveState ('qwert2',PLAYER_1);
* local opr = 9
* local opr3 = 13
* local p2 = GetObjectiveState ('qwert3', 1);
if p2 == OBJECTIVE_COMPLETED then opr= opr+1
* if p2 == OBJECTIVE_COMPLETED then opr= opr3+1
if p1 ==OBJECTIVE_COMPLETED and GetDate(DAY_OF_WEEK ) == 6
then
AddObjectCreatures('gar_1',* opr, 15);
AddObjectCreatures('gar_2',* opr, 15);
AddObjectCreatures('gar_3',* opr, 15);
AddObjectCreatures('gar_4',* opr, 15);
elseif p ==OBJECTIVE_COMPLETED and GetDate(DAY_OF_WEEK ) == 5
then
AddObjectCreatures('gar_1',* opr3, 3);
AddObjectCreatures('gar_2',* opr3, 3);
AddObjectCreatures('gar_3',* opr3, 3);
AddObjectCreatures('gar_4',* opr3, 3);
end;
* end;
* * * Trigger(NEW_DAY_TRIGGER, 'demon');

вроде бы все написал правильно, но задание выполняется, наступает 5 день, монахи не приходят, наступаешь6 день, а ангелов тоже нет.
Аватар пользователя
А консоль что пишет?
P.S. Ох уж эти звёздочки, которые теперь автоматом зачем-то ставятся форумом, если пробелов больше одного.
 

К А
Стикеры GBF в Telegram
В ответ пользователю Лоли Никита
Аватар пользователя
Лоли Никита
Помогите пожалуйста с одним скриптом . Мне нужно чтобы к моему герою присоединились крестьяне 4, появилось задание, дойти с ними до определенной точки и выполнить задание таким образом, и после этого они должны исчезнуть из отряда. Если крестьяне* погибнут в битве, то задание провалилось. (Начальные этапы* я более менее могу написать, но вот как сделать, чтобы задание проваливалось после смерти крестьян не знаю)

Добавлено через 4 часа 52 минуты
Помогите пожалуйста разобраться в чем ошибка в скрипте:
function demon()
local p1 =GetObjectiveState ('qwert1',PLAYER_1);
local p =GetObjectiveState ('qwert2',PLAYER_1);
local opr = 9
local opr3 = 13
local p2 = GetObjectiveState ('qwert3', 1);
if p2 == OBJECTIVE_COMPLETED then
* opr= opr+1
* if p2 == OBJECTIVE_COMPLETED then
* * opr= opr3+1
* * if p1 ==OBJECTIVE_COMPLETED and GetDate(DAY_OF_WEEK ) == 6
* * * then
* * * AddObjectCreatures('gar_1', opr, 15);
* * * AddObjectCreatures('gar_2', opr, 15);
* * * AddObjectCreatures('gar_3', opr, 15);
* * * AddObjectCreatures('gar_4', opr, 15);
* * elseif p ==OBJECTIVE_COMPLETED and GetDate(DAY_OF_WEEK ) == 5
* * then
* * AddObjectCreatures('gar_1', opr3, 3);
* * AddObjectCreatures('gar_2', opr3, 3);
* * AddObjectCreatures('gar_3', opr3, 3);
* * AddObjectCreatures('gar_4', opr3, 3);
* * end;
end;
Trigger(NEW_DAY_TRIGGER, 'demon');


вроде бы все написал правильно, но задание выполняется, наступает 5 день, монахи не приходят, наступаешь6 день, а ангелов тоже нет.

Скрипт на провал задания при отсутствии крестьян:
function peas_surv()
while 1 do
if GetHeroCreatures("Имя героя", CREATURE_PEASANT)<4 then
SetObjectiveState("Скриптовое имя задания", OBJECTIVE_FAILED, PLAYER_1);
break
end;
sleep(1)
end;
end;


А в том месте, где нужно запустить проверку наличия крестьян вставьте строку
startThread(peas_surv)

Пункты по второму вопросу: можно разъяснить, что происходить должно по скрипту? То есть, проверка чего производится? А то не понятно, зачем 2 вложенные проверки выполненности задания 'p2' подряд...

Ещё вопрос: у вас есть другие функции, запускаемые каждодневным триггером?

Армия должна добавляться на 5 день от начала игры, или же на 5 (и 6) день недели?

На что жалуется консоль?

Пока не пойму, что и почему должно происходить, ответить не смогу.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю Лоли Никита
Аватар пользователя
Лоли Никита
Помогите пожалуйста с одним скриптом . Мне нужно чтобы к моему герою присоединились крестьяне 4, появилось задание, дойти с ними до определенной точки и выполнить задание таким образом, и после этого они должны исчезнуть из отряда. Если крестьяне* погибнут в битве, то задание провалилось. (Начальные этапы* я более менее могу написать, но вот как сделать, чтобы задание проваливалось после смерти крестьян не знаю)
Сначала ставите крестьян на карту
Потом прописывайте эту команду:
SetObjectEnabled ('Peasant', nil);

На карте рисуйте регион, в который надо отвести крестьян и назовём допустим 'Region'

---скрипт присоединения крестьян---

function*peasants()
---ваш код---
AddHeroCreatures ('имя_героя', 1, 4);
SetObjectiveState ('имя_задания',*OBJECTIVE_ACTIVE, PLAYER_1);
RemoveObject ('Peasant');
end;

Trigger(OBJECT_TOUCH_TRIGGER, 'Peasant','peasants');

Теперь скрипт, когда нужно прощаться с крестьянами:

function RegionF()
---ваш код---
if GetObjectiveState ('имя_задания', 1) == OBJECTIVE_ACTIVE then*GetHeroCreatures('имя_героя', 1)==4 then
RemoveHeroCreatures('имя_героя', 1, 4);
SetObjectiveState ('имя_задания',*OBJECTIVE_COMPLETED, PLAYER_1);
Trigger (REGION_ENTER_AND_STOP_TRIGGER, 'Region', nil);
end;
end;

Trigger (REGION_ENTER_AND_STOP_TRIGGER, 'Region', 'RegionF');

Насчёт гибели крестьян в битве и последующий провал задания, нужны боевые скрипты, как мне кажется, но их я увы не знаю

Выше*}{0TT@6bI4*уже предложил лучшую версию;)
Аватар пользователя
Собственно, по словам Лоли Никита то, что вы предложили, он организовать умел сам) И скрипт "прощания с крестьянами" лучше разместить внутри дополнительного потока обработки данных. Тогда можно будет одновременно мониторить ситуация, если крестьяне есть, или если крестьяне погибли.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
Добрый вечер, пытаюсь написать сообщение с ошибкой, появляющееся в программке Map Script Editor, но форум почему-то упорно удаляет одно из слов сообщения*:confused:
Мои карты для:
Heroes 5: Битвы кланов - Борьба за ресурсы - Обитель друидов - Падший рыцарь - Побег
Heroes 4: Немеджихра - Приключения ифрита
Heroes 3: Крюлод и Таталия
Heroes 2: Вторжение - Эктор - Сэр Мильтен - Чёртовы Топи
Мой ютуб канал: Navkratis
В ответ пользователю Navkratis
Аватар пользователя
Navkratis
Добрый вечер, пытаюсь написать сообщение с ошибкой, появляющееся в программке Map Script Editor, но форум почему-то упорно удаляет одно из слов сообщения*:confused:
Хм...можно сделать скриншот ,можно приложить файл с ошибкой...
В ответ пользователю Fallenru
Аватар пользователя
Попытаюсь так: https://ibb.co/zfjrBSj

Без скрипта седьмого дня все отлично работает, но сколько не пробовал убавлять или добавлять end в скрипты 6 и 7 дней, проблема не исправляется.
Мои карты для:
Heroes 5: Битвы кланов - Борьба за ресурсы - Обитель друидов - Падший рыцарь - Побег
Heroes 4: Немеджихра - Приключения ифрита
Heroes 3: Крюлод и Таталия
Heroes 2: Вторжение - Эктор - Сэр Мильтен - Чёртовы Топи
Мой ютуб канал: Navkratis
Аватар пользователя
elseif может идти только в блоке с if'ом. Посчитайте количество блоков if-then elseif-then - на каждый должен приходится только 1 end; . По окончании блока функции также ставится end; (eof) означает 'end of function', значит не хватает одного end'a. Посмотрите, верхний elseif завершается ближайшим end'ом, следующий за ним энд (второй сверху) тогда относится либо к какому-то блоку ифа снаружи этого элсеифа, либо это энд от функции. Тогда попробуйте добавить этот энд перед строчкой триггера нового дня.

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

Добавлено через 10 часов 37 минут
Пока что ситуация такова: заменил элсейфы на более привычные мне ифы (по образцу одной из моих прошлых карт), программа перестала ругаться на ошибки, но скрипт седьмого дня так и не наступает, в консоли тоже никаких надписей об ошибках не появляется и, конечно, это не единственная проблема со скриптами. Спасибо разрабам, сделавшим редактор карт не для простых смертных, а для избранных (зачеркнуто) программистов:)
Мои карты для:
Heroes 5: Битвы кланов - Борьба за ресурсы - Обитель друидов - Падший рыцарь - Побег
Heroes 4: Немеджихра - Приключения ифрита
Heroes 3: Крюлод и Таталия
Heroes 2: Вторжение - Эктор - Сэр Мильтен - Чёртовы Топи
Мой ютуб канал: Navkratis
В ответ пользователю Navkratis
Аватар пользователя
Navkratis
Добавлено через 10 часов 37 минут
Пока что ситуация такова: заменил элсейфы на более привычные мне ифы (по образцу одной из моих прошлых карт), программа перестала ругаться на ошибки, но скрипт седьмого дня так и не наступает, в консоли тоже никаких надписей об ошибках не появляется и, конечно, это не единственная проблема со скриптами. Спасибо разрабам, сделавшим редактор карт не для простых смертных, а для избранных (зачеркнуто) программистов:)
Чтобы помочь, было бы неплохо увидеть кусок кода с данными "Элсейфами" или "ифами" ,чтобы понять что у вас происходит и возможно было увидеть ошибку и протестировать,но как говориться никто вас не заставляет выкладывать "код"*:)*Тоже* относиться и к остальным проблемам.

Статистика

Приветствуем новейшего участника: Emil

Сейчас на сайте 6 пользователей 1308 гостей