А звёздочка у вас в скрипте тоже есть? Может, её посчитали каким-нибудь указателем...
Сообщения от Скрипты
А звёздочка у вас в скрипте тоже есть? Может, её посчитали каким-нибудь указателем...
Добрый день, консоль пишет (Script) ERROR: "="expected
Сам скрипт выглядит так:
void GiveArtefact("Brem", 13, nBindToHero=0);
В чем здесь ошибка?
GiveArtefact(heroname, artefactID, [bindToHero = 0]);
Как я понимаю 3 параметр можно вообще не заполнять) А у вас написано nBindToHero
Есть подозрение ,что данный скрипт некорректно написан
GiveArtefact(heroname, artefactID, [bindToHero = 0]);
Как я понимаю 3 параметр можно вообще не заполнять) А у вас написано nBindToHero
Помогите пожалуйста с одним скриптом . Мне нужно чтобы к моему герою присоединились крестьяне 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 день, а ангелов тоже нет.
Добавлено через 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. Ох уж эти звёздочки, которые теперь автоматом зачем-то ставятся форумом, если пробелов больше одного.
P.S. Ох уж эти звёздочки, которые теперь автоматом зачем-то ставятся форумом, если пробелов больше одного.
Помогите пожалуйста с одним скриптом . Мне нужно чтобы к моему герою присоединились крестьяне 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) день недели?
На что жалуется консоль?
Пока не пойму, что и почему должно происходить, ответить не смогу.
Помогите пожалуйста с одним скриптом . Мне нужно чтобы к моему герою присоединились крестьяне 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*уже предложил лучшую версию;)
Собственно, по словам Лоли Никита то, что вы предложили, он организовать умел сам) И скрипт "прощания с крестьянами" лучше разместить внутри дополнительного потока обработки данных. Тогда можно будет одновременно мониторить ситуация, если крестьяне есть, или если крестьяне погибли.
Добрый вечер, пытаюсь написать сообщение с ошибкой, появляющееся в программке Map Script Editor, но форум почему-то упорно удаляет одно из слов сообщения*:confused:
Добрый вечер, пытаюсь написать сообщение с ошибкой, появляющееся в программке Map Script Editor, но форум почему-то упорно удаляет одно из слов сообщения*:confused:
Попытаюсь так: https://ibb.co/zfjrBSj
Без скрипта седьмого дня все отлично работает, но сколько не пробовал убавлять или добавлять end в скрипты 6 и 7 дней, проблема не исправляется.
Без скрипта седьмого дня все отлично работает, но сколько не пробовал убавлять или добавлять end в скрипты 6 и 7 дней, проблема не исправляется.
elseif может идти только в блоке с if'ом. Посчитайте количество блоков if-then elseif-then - на каждый должен приходится только 1 end; . По окончании блока функции также ставится end; (eof) означает 'end of function', значит не хватает одного end'a. Посмотрите, верхний elseif завершается ближайшим end'ом, следующий за ним энд (второй сверху) тогда относится либо к какому-то блоку ифа снаружи этого элсеифа, либо это энд от функции. Тогда попробуйте добавить этот энд перед строчкой триггера нового дня.
В принципе, чтобы не случалось таких путаниц, следует, например, каждый раз когда начинается блок ифа, ставить 2 пробела. А в содержимом для выполнения ифом, кроме энда, элсэифа и зэна - ещё 2 пробела. Тогда энды, соответсвующие ифам, окажутся на одной вертикали. Так можно быстро определить, где энда не хватает.
В принципе, чтобы не случалось таких путаниц, следует, например, каждый раз когда начинается блок ифа, ставить 2 пробела. А в содержимом для выполнения ифом, кроме энда, элсэифа и зэна - ещё 2 пробела. Тогда энды, соответсвующие ифам, окажутся на одной вертикали. Так можно быстро определить, где энда не хватает.
Спасибо за помощь, но пока что ничего не получается, попробую еще завтра. Или же обойдусь без триггера седьмого дня, без него все работает.
Добавлено через 10 часов 37 минут
Пока что ситуация такова: заменил элсейфы на более привычные мне ифы (по образцу одной из моих прошлых карт), программа перестала ругаться на ошибки, но скрипт седьмого дня так и не наступает, в консоли тоже никаких надписей об ошибках не появляется и, конечно, это не единственная проблема со скриптами. Спасибо разрабам, сделавшим редактор карт не для простых смертных, а дляизбранных (зачеркнуто) программистов:)
Добавлено через 10 часов 37 минут
Пока что ситуация такова: заменил элсейфы на более привычные мне ифы (по образцу одной из моих прошлых карт), программа перестала ругаться на ошибки, но скрипт седьмого дня так и не наступает, в консоли тоже никаких надписей об ошибках не появляется и, конечно, это не единственная проблема со скриптами. Спасибо разрабам, сделавшим редактор карт не для простых смертных, а для
Добавлено через 10 часов 37 минут
Пока что ситуация такова: заменил элсейфы на более привычные мне ифы (по образцу одной из моих прошлых карт), программа перестала ругаться на ошибки, но скрипт седьмого дня так и не наступает, в консоли тоже никаких надписей об ошибках не появляется и, конечно, это не единственная проблема со скриптами. Спасибо разрабам, сделавшим редактор карт не для простых смертных, а дляизбранных(зачеркнуто) программистов:)
Статистика
Приветствуем новейшего участника:
recijeb
Сейчас на сайте 9 пользователей 1304 гостей
Посетители сегодня 32
- Валера 111
- Граф Орлов
- Джек
- Драккошка
- Дугал
- Злобный Ящур
- Небо
- Нэйко
- Саргон
- ALVYDAS
- Arandor
- AstralLein
- burymm
- Dark Jack
- dotahcxun
- elizbar1967
- fktifzobr@mail.ru
- Golvek
- Happy Life
- Heroist
- Hottler
- HwKeeper
- IchGViji
- kcfgogbfalgfl
- LifeForm
- Narron
- OrnsteinDragonslayer
- PingWing
- Ple-Sen
- Sir Syddan
- Siverfale
- Valery59