[ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû - Ôîðóì HeroesWorld-à

Áûñòðàÿ íàâèãàöèÿ ïî îñíîâíûì ðàçäåëàì ôîðóìà:
Òóðíèðû
ÊÀÐÒÛ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Ãåðîè Ìå÷à è Ìàãèè 5 - Êàðòîñòðîèòåëüñòâî (Ðåäàêòîð êàðò)  ýòîì ðàçäåëå ìîæíî îáñóæäàòü âñå ÷òî êàñàåòñÿ ðåäàêòîðà êàðò äëÿ Heroes of Might and Magic V. Òàê æå çäåñü îáñóæäàåì êàðòîñòðîèòåëüñòâî.

Îòâåò
Ñòðàíèöà 1 èç 4
 
Îïöèè òåìû
#1
Ñòàðûé 15.02.2016, 01:31
  #1
^
Àëåõà
 
Àâàòàð äëÿ Àëåõà
📖
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ïî óìîë÷àíèþ
[ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Не знаю, сталкивались ли вы с такой проблемой, но в общем: Я некоторые скрипты скопировал из других форумов и одиночных миссий и вставлял их в редакторе, но при тестировании ничего не происходило (Например: анимация существ, отключение ИИ (чтобы герой вражеский не двигался)

Вот скрипты из карты:
---ВЛАСТЕЛИН КОЛЕЦ: БРАТСТВО КОЛЬЦА (1 - Путь в Бри)---
EnableHeroAI("Necros", nil)

function new_day()
local day = GetDate(DAY)
if day == 1 then
DeployReserveHero("Necros", x, y, 0)
end
end

Trigger(NEW_DAY_TRIGGER, 'new_day')




Trigger(REGION_ENTER_AND_STOP_TRIGGER, "Idle", "hire1")
----------------------ХОББИТЫ--------------------------
PlayObjectAnimation("Hobbit1_work","attack00",IDLE)
PlayObjectAnimation("Hobbit2_work","attack00",IDLE)
----------------------РЕСУРСЫ--------------------------
SetPlayerStartResources(1,0,0,0,0,0,0,0) ;
Àëåõà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2
Ñòàðûé 15.02.2016, 14:40
  #2
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

В функции new_day явно ошибки:
1. Она не будет вызвана для первого дня игры.
2. Параметры функции DeployReserveHero неправильно заданы, то есть ей переданы пустые, ничего не значащие, переменные x и y, а это ошибка. Надо или заменить их на числа или присвоить им некоторые значения.

И надо проверить внутреннее имя героя "Necros", т. к. он не из стандартных.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3
Ñòàðûé 15.02.2016, 19:24
  #3
^
Àëåõà
 
Àâàòàð äëÿ Àëåõà
📖
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Да не, ты не понял, у меня ВООБЩЕ скрипты не работают, что бы я не исправлял, один хрен
Àëåõà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#4
Ñòàðûé 15.02.2016, 20:58
  #4
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Алеха, код скрипта выполняется последовательно, любая ошибка приводит к завершению работы интерпретатора и весь дальнейший код выполнен не будет, даже если он правильный. К примеру, если героя с именем "Necros" на карте нет, скрипт слетит на первой строчке EnableHeroAI("Necros", nil) и дальше не пойдет. Распространенные ошибки - точка вместо запятой или наоборот, пропуск закрывающих end'ов и так далее. Включите консоль, там будет написано на какой команде вылетело.
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#5
Ñòàðûé 15.02.2016, 21:15
  #5
^
Àëåõà
 
Àâàòàð äëÿ Àëåõà
📖
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Как же мне тогда исправлять такие проблемы? (Извини за тупизм, если что)
__________________
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Àëåõà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#6
Ñòàðûé 15.02.2016, 22:00
  #6
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Алеха, есть несколько направлений, в которые можно двигаться:
Писать скрипты в редакторах с проверкой синтаксиса, к примеру HoMM5 MapScriptsEditor. Он как минимум будет сразу же выдавать предупреждение на всякие мелкие опечатки, плюс автодополнение названий функций и подсказка по параметрам (это правда работает немного глючно).
Закомментируйте весь код скрипта, далее раскомментируйте по маленькому кусочку по несколько строк и проверяйте что он работает, или исправляйте его, пока не заработает и только потом переходите к следующему. То, что уже точно работает, можно помечать как-нибудь, чтобы в следующий раз не проверять снова.
Ставьте в коде тестовые отладочные сообщения, вида print('такая-то функция выполнилась'). По ним легко видно какой участок кода был выполнен, какой нет.
Особо удобная штука - отлаживать код не выходя из игры. Создаём в папке "путь_к_героям/data" txt файл в кодировке юникод и с расширением .lua, пишем в нем код, в котором не уверены, в конце файла можно добавить например print('script OK'), загружаем карту, открываем консоль, набираем doFile('название_файла.lua'). Если видим в консоли зеленое сообщение 'script OK', значит код рабочий, если нет - сворачиваем героев, колдуем над файлом, не забываем сохранить, возвращаемся к героям, в консоли вбиваем ту же команду (можно просто нажать кнопку вверх). Повторяем пока код не заработает.
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#7
Ñòàðûé 15.02.2016, 22:08
  #7
^
Àëåõà
 
Àâàòàð äëÿ Àëåõà
📖
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

HoMM5 MapScriptsEditor? Где он расположен?
__________________
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Àëåõà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#8
Ñòàðûé 15.02.2016, 22:22
  #8
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Это сторонняя программа, наберите название в поиске, скачайте по первой или второй ссылке.
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#9
Ñòàðûé 15.02.2016, 22:22
  #9
^
Àëåõà
 
Àâàòàð äëÿ Àëåõà
📖
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

doFile('Proverka.lua') написал, пишет, что не знает такой команды
__________________
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Àëåõà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#10
Ñòàðûé 15.02.2016, 22:40
  #10
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Jack_of_shadowsв кодировке юникод
ANSI же вроде.

Добавлено через 5 минут
АлехаdoFile('Proverka.lua') написал, пишет, что не знает такой команды
Перед скриптовыми командами надо ставить @, если пишешь ее в консоли.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#11
Ñòàðûé 15.02.2016, 23:06
  #11
^
Àëåõà
 
Àâàòàð äëÿ Àëåõà
📖
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

RedHeavenHeroANSI же вроде.

Добавлено через 5 минут

Перед скриптовыми командами надо ставить @, если пишешь ее в консоли.

1) Нет, Юникод
2) Ясно

Добавлено через 17 минут
Скрипт (анимация) сработал! Он сработал!!! И EnableAiHero работает! А вот ресурсы нет
__________________
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Àëåõà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#12
Ñòàðûé 15.02.2016, 23:51
  #12
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Такая функция у меня точно работала:
SetPlayerStartResource(PLAYER_1, GOLD, 1000);
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#13
Ñòàðûé 16.02.2016, 00:10
  #13
^
Àëåõà
 
Àâàòàð äëÿ Àëåõà
📖
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ðåãèñòðàöèÿ: 06.02.2016
Àäðåñ: Íà êëàäáèùå
Ñîîáùåíèÿ: 102
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Д я уже понял, в чем ошибка, в скрипте указан игрок 1, а у меня игрок 3. Слушай, меня один вопросик заинтересовал: как сделать так, чтобы "назгулы" патрулировали территорию и как только обнаруживали "Фродо", сразу на него нападали?
__________________
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Äåëàþ êàìïàíèþ "Ïîñëåäíèé Ôåíèêñ"
Àëåõà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#14
Ñòàðûé 16.02.2016, 00:12
  #14
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Таки Юникод не работает.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#15
Ñòàðûé 16.02.2016, 00:16
  #15
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 515
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÏÐÎÁËÅÌÀ] Íå ðàáîòàþò ñêðèïòû

Таки Юникод не работает.
А проще всего взять любой lua файл из любой карты и поправить его под свои нужды. Я всегда только так и делаю.
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 1 èç 4


Îïöèè òåìû



×àñîâîé ïîÿñ GMT +4, âðåìÿ: 22:56.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Ðóññêèé)

ßíäåêñ öèòèðîâàíèå    Top.Mail.Ru