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

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

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

Ответ
Страница 144 из 260
 
Опции темы
#2146
Старый 07.03.2016, 18:16
  #2146
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

MentОй, я всё же торможу.

Это всё? Там нет не цикла, не startThread? Это неправильно, нужно же эту функцию запустить ещё, а не только объявить. И цикл бесконечный нужен.

function pokushenie()
while 1 do
if GetDate(DAY) == 42 then
MessageBox("Maps/SingleMissions/Five Plunderers/podzhigatel.txt", TeleporateHero);
break;
end;
sleep(2);
end;
end;

function TeleporateHero()
SetObjectPosition("Biara", 31, 129, 0);
end;
Не выходит. Может абзацы я не так расставил? можно подробнее, где какие?

Добавлено через 2 часа 39 минут
И в 3 строке в конце точку с запятой не надо?
А путь к сообщению... Я в правильную сторону поставил палочки? / или \?
OrnsteinDragonslayer вне форума
Ответить с цитированием
#2147
Старый 07.03.2016, 18:46
  #2147
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Отступы, переходы на новую строку и прочие пробелы не влияют никак на исполнение кода. Почти то же самое можно сказать и про ";".
Путь к сообщению написан правильно, однако для универсальности обычно пишут так:
	GetMapDataPath() .. "имя_файла.txt"
или заносят в переменную путь:
	path = GetMapDataPath()
и дальше используют уже её:
	path.."имя_файла.txt"

Да, и имя функции в параметрах MessageBox пишется в кавычках.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#2148
Старый 07.03.2016, 20:55
  #2148
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

Довольно удобно. Т.е. Две точечки воспринимаются автоматом как путь к корневой папке? удобно.
Вот только все равно не работает.
OrnsteinDragonslayer вне форума
Ответить с цитированием
#2149
Старый 07.03.2016, 21:11
  #2149
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Проверьте кодировку Вашего текстового файла. И чтобы имя было правильным, все буквы в нужном регистре.
Ment сейчас на форуме
Ответить с цитированием
#2150
Старый 07.03.2016, 21:36
  #2150
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

Все проверил и перепроверил. Все также...
OrnsteinDragonslayer вне форума
Ответить с цитированием
#2151
Старый 07.03.2016, 21:53
  #2151
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Ну, только консоль. Пробуйте активировать. Или это Вы жаловались до этого в теме читов, что у Вас не работает?
Ment сейчас на форуме
Ответить с цитированием
#2152
Старый 08.03.2016, 10:25
  #2152
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

Не знаю про тему читов, но
Во первых у меня файл imput или как то так называется imput_a2, но там тоже бинды всех кнопок. Засунул туда строчку. Все по инструкции. Но ничего. Однажды у меня получалось. С годик-два назад. Но т.к. Винду переставил, то все вот заново приходится.

Добавлено через 12 часов 19 минут
Все настроил. Консоль не ругается. Но по прежнему ничего не работает. Так же редактор начал просто жрать мои карты. После открытия моих копий они все весят килобайт. Благо у меня много копий. Может.. Сможет кто-нибудь проверенный помочь в доделывании скриптов для карты?
OrnsteinDragonslayer вне форума
Ответить с цитированием
#2153
Старый 08.03.2016, 11:12
  #2153
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
По умолчанию
Re: Скрипты

OrnsteinDragonslayer, карты некорректно сохраняются обычно из-за слишком длинного или содержащего кирилицу пути к папке с игрой. Можно попробовать перенести/переименовать ее для теста куда-нибудь повыше, скажем в D:/Heroes 5. Если не поможет, можно попробовать переустановить.
По скриптам я недавно писал пару советов, может и вам будет актуально:
есть несколько направлений, в которые можно двигаться:
Писать скрипты в редакторах с проверкой синтаксиса, к примеру HoMM5 MapScriptsEditor. Он как минимум будет сразу же выдавать предупреждение на всякие мелкие опечатки, плюс автодополнение названий функций и подсказка по параметрам (это правда работает немного глючно).
Закомментируйте весь код скрипта, далее раскомментируйте по маленькому кусочку по несколько строк и проверяйте что он работает, или исправляйте его, пока не заработает и только потом переходите к следующему. То, что уже точно работает, можно помечать как-нибудь, чтобы в следующий раз не проверять снова.
Ставьте в коде тестовые отладочные сообщения, вида print('такая-то функция выполнилась'). По ним легко видно какой участок кода был выполнен, какой нет.
Особо удобная штука - отлаживать код не выходя из игры. Создаём в папке "путь_к_героям/data" txt файл в кодировке юникод и с расширением .lua, пишем в нем код, в котором не уверены, в конце файла можно добавить например print('script OK'), загружаем карту, открываем консоль, набираем @doFile('название_файла.lua'). Если видим в консоли зеленое сообщение 'script OK', значит код рабочий, если нет - сворачиваем героев, колдуем над файлом, не забываем сохранить, возвращаемся к героям, в консоли вбиваем ту же команду (можно просто нажать кнопку вверх). Повторяем пока код не заработает.
Jack_of_shadows вне форума
Ответить с цитированием
#2154
Старый 08.03.2016, 13:49
  #2154
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

Насчет пути пробовал. Не помогает. Переустановить не смогу т.к. Нет интернета, а качается он у меня со стима => нет сетапа.
Да со скриптами бы я и сам попотел, если бы не выведывался редактор. В данном случае я лишь прошу помощи у стороннего человека самостоятельно доделать скрипты по моей идее т.к. Остальная карта готова. + я уже на дизморали. Надо было первую карту хотябы мультиплеерную без скриптов делать. Так позже и поступлю...
OrnsteinDragonslayer вне форума
Ответить с цитированием
#2155
Старый 09.03.2016, 21:36
  #2155
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

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

Ставлю героя,прописую EnableHeroAI и MoveHero,в MoveHero ставлю кординаты,единственная дорога к которым ведёт через враждебный (пустой) гарнизон,и... Герой стоит на месте.Ставлю кординаты перед гарнизоном и прекрасно идёт.Напасть на гарнизон тоже нападает без проблем,а просто пройти сквозь него не хочет.Подскажите,в чём дело?
Рыцарь Бездны вне форума
Ответить с цитированием
#2156
Старый 09.03.2016, 22:16
  #2156
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Ставлю героя,прописую EnableHeroAI и MoveHero,в MoveHero ставлю кординаты,единственная дорога к которым ведёт через враждебный (пустой) гарнизон,и... Герой стоит на месте.Ставлю кординаты перед гарнизоном и прекрасно идёт.Напасть на гарнизон тоже нападает без проблем,а просто пройти сквозь него не хочет.Подскажите,в чём дело?
Пропишите MoveHero на клетку рядом с гарнизоном, потом ещё один MoveHero (на клетку гарнизона), а потом уже дальше.
Или можно MakeHeroInteractWithObject ещё включить в эту последовательность для красоты (полагаю, если в гарнизоне кто-то будет, то в стабильности скрипт от этого только прибавит).
Ment сейчас на форуме
Ответить с цитированием
#2157
Старый 10.03.2016, 11:56
  #2157
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

MentПропишите MoveHero на клетку рядом с гарнизоном, потом ещё один MoveHero (на клетку гарнизона), а потом уже дальше.
Или можно MakeHeroInteractWithObject ещё включить в эту последовательность для красоты (полагаю, если в гарнизоне кто-то будет, то в стабильности скрипт от этого только прибавит).

Спасибо,помогло)

А неподскажите почему игра не пишет "Задачи обновились" при обновлении списка заданий?

SetObjectiveState("obj_8",OBJECTIVE_COMPLETED);
sleep(2);
SetObjectiveVisible("obj_9",true);
sleep(2);
SetObjectiveState("obj_9",OBJECTIVE_ACTIVE);

В самой игре пишет только "Задачи выполнены",а после этого "Задачи обновились" почемуто не пишет,не критично конечно,но неприятно(
Рыцарь Бездны вне форума
Ответить с цитированием
#2158
Старый 10.03.2016, 12:25
  #2158
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Не знаю.
Ment сейчас на форуме
Ответить с цитированием
#2159
Старый 11.03.2016, 13:56
  #2159
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

MentНе знаю.
Жаль.Чтож,прийдется через message box писать "Задачи обновились"). А еще вопросик: можно ли както создать артефакт в нужном месте карты? Нужно чтобы при выполнении задания артефакт появлялся в нужных кординатах.Пробовал через SetObjectPosition его двигать,но почемуто артефакты эту команду игнорируют...
Рыцарь Бездны вне форума
Ответить с цитированием
#2160
Старый 11.03.2016, 15:13
  #2160
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Есть CreateArtifact.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
Ответ
Страница 144 из 260


Опции темы



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


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

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