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

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

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

Ответ
Страница 45 из 260
 
Опции темы
#661
Старый 12.07.2012, 22:05
  #661
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30692
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30692
По умолчанию
Re: Скрипты

В верхней панели редактора найти кнопку MapPropreties, перейти на вкладку Script, далее кнопка EditScript и печатать в текстовом окне.
Ment вне форума
Ответить с цитированием
#662
Старый 13.07.2012, 00:43
  #662
^
Lendlord
📖
Регистрация: 12.07.2012
Сообщения: 7
Регистрация: 12.07.2012
Сообщения: 7
Вопрос
Re: Скрипты

Ment, еще один вопрос, что то у меня переименовать не получается, скажи точные действия, а то ко мне с первого раза не доходит
Lendlord вне форума
Ответить с цитированием
#663
Старый 13.07.2012, 01:18
  #663
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

32MeTpaА что за абсолютный и относительный дни?
Абсолютный -день с начала игры.
Относительный - как пишется в игре (то есть, день недели)

Добавлено через 2 минуты
LendlordMent, еще один вопрос, что то у меня переименовать не получается, скажи точные действия, а то ко мне с первого раза не доходит
Заглните сюда. Там как раз для начинающих есть интересные материалы.
Dyrman вне форума
Ответить с цитированием
#664
Старый 13.07.2012, 01:48
  #664
^
Lendlord
📖
Регистрация: 12.07.2012
Сообщения: 7
Регистрация: 12.07.2012
Сообщения: 7
По умолчанию
Re: Скрипты

Мне просто надо понять как переименовать монстра, а не целое руководство в котором ничего найти нельзя даже с сочетанием "Ctrl+f".
У меня этих руководств 8 с разных сайтов, 3 английские и 5 русских, но Ment советует лучше, да и проще понять его чем эти непонятные руководства в PDF-файлах.
Lendlord вне форума
Ответить с цитированием
#665
Старый 13.07.2012, 06:43
  #665
^
32MeTpa
 
Аватар для 32MeTpa
📖
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
По умолчанию
Re: Скрипты

Интересно что у вас за руководство... 1 мануал по скриптам, другой по самой карте и весь редактор полностью осваивается... Ну это если читать все, а не Ctrl+f'ом
32MeTpa вне форума
Ответить с цитированием
#666
Старый 13.07.2012, 12:44
  #666
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
Re: Скрипты

LendlordMent, еще один вопрос, что то у меня переименовать не получается, скажи точные действия, а то ко мне с первого раза не доходит
Выделяете монстра. Слева появляется дерево его свойств. Там находите поле name и называете монстра(только латиницей)
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
#667
Старый 13.07.2012, 15:03
  #667
^
Lendlord
📖
Регистрация: 12.07.2012
Сообщения: 7
Регистрация: 12.07.2012
Сообщения: 7
Злость
Re: Скрипты

Вот как нашел уже давно поле "Name" но переименовать не получается. 1) Отметил "Крестьянина" 2) Нашёл поле "Name" 3)???????
4)?????......
Lendlord вне форума
Ответить с цитированием
#668
Старый 13.07.2012, 15:45
  #668
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

LendlordМне просто надо понять как переименовать монстра, а не целое руководство в котором ничего найти нельзя даже с сочетанием "Ctrl+f".
У меня этих руководств 8 с разных сайтов, 3 английские и 5 русских, но Ment советует лучше, да и проще понять его чем эти непонятные руководства в PDF-файлах.
О_о чего ж они непонятные то?
Найти в руководстве трудно, даже на форуме этом ответы есть.
Тыкнем , как говориться, пальцем!
Тыык!
3)Нажмите на изображение для увеличения
Название: ppc.jpg
Просмотров: 137
Размер:	116.7 Кбайт
ID:	27626
4)Открываете руководство и читаете.
Dyrman вне форума
Ответить с цитированием
#669
Старый 16.07.2012, 01:03
  #669
^
Lendlord
📖
Регистрация: 12.07.2012
Сообщения: 7
Регистрация: 12.07.2012
Сообщения: 7
По умолчанию
Re: Скрипты

Всё мне это надоело, я выкладываю свои скрины посмотрите, и скажите что не так: Шаг %1 http://vk.com/photo67593631_287503064?rev=1 и шаг №2 http://vk.com/photo67593631_287503083?rev=1 .
Теперь вам будет понятние о чём я говорю а то всё туман нагоняю.
Lendlord вне форума
Ответить с цитированием
#670
Старый 16.07.2012, 10:16
  #670
^
32MeTpa
 
Аватар для 32MeTpa
📖
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
По умолчанию
Re: Скрипты

Советую почитать это руководство, все предельно просто и понятно, сам по нему довольно быстро научился писать скрипты
32MeTpa вне форума
Ответить с цитированием
#671
Старый 16.07.2012, 12:37
  #671
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
Re: Скрипты

LendlordВсё мне это надоело, я выкладываю свои скрины посмотрите, и скажите что не так: Шаг %1 http://vk.com/photo67593631_287503064?rev=1 и шаг №2 http://vk.com/photo67593631_287503083?rev=1 .
Теперь вам будет понятние о чём я говорю а то всё туман нагоняю.

поставьлте ";" в конце строки:
PlayObjectAnimation(трололо);

PlayObjectAnimation(троло);
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
#672
Старый 16.07.2012, 20:54
  #672
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Олегархпоставьлте ";" в конце строки:
PlayObjectAnimation(трололо);

PlayObjectAnimation(троло);

Я вообще не понимаю для чего ставить ";"
Никогда не помогало, но зачем-то ставлю .
RedHeavenHero вне форума
Ответить с цитированием
#673
Старый 16.07.2012, 21:59
  #673
^
AkaR
 
Аватар для AkaR
📖
Регистрация: 25.08.2011
Сообщения: 29
Регистрация: 25.08.2011
Сообщения: 29
По умолчанию
Re: Скрипты

Ленлорд,вы пишете не скрипт а набор букв. Пример скрипта с анимацией на карте (скрипт взят с моей карты)

function orksF ()
if GetObjectOwner("helm") == PLAYER_1 then
MoveCamera(87, 61, 0, 50, 1, 180, 1, 0);
sleep (15)
Trigger(OBJECT_TOUCH_TRIGGER, "orks", nil );
PlayObjectAnimation("ork1", "death", ONESHOT_STILL);
sleep (5)
PlayObjectAnimation("ork2", "death", ONESHOT_STILL);
sleep (5)
PlayObjectAnimation("ork3", "death", ONESHOT_STILL);
sleep (5)
PlayObjectAnimation("ork4", "death", ONESHOT_STILL);
sleep (10)
RemoveObject "ork1"
sleep (5)
RemoveObject "ork2"
sleep (5)
RemoveObject "ork3"
sleep (5)
RemoveObject "ork4"
sleep (5)
MoveCamera(87, 40, 0, 50, 1, 180, 1, 0);
sleep (5)
PlayObjectAnimation("human1", "happy", ONESHOT_STILL);
PlayObjectAnimation("human2", "happy", ONESHOT_STILL);
PlayObjectAnimation("human3", "happy", ONESHOT_STILL);
PlayObjectAnimation("human4", "happy", ONESHOT_STILL);
PlayObjectAnimation("human5", "happy", ONESHOT_STILL);
sleep (5)
SetObjectiveState("obj_6", OBJECTIVE_COMPLETED);
sleep (5)
MessageBox (GetMapDataPath().."text9.txt");
sleep (30)
SetObjectiveState('obj_7', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_7', true, PLAYER_1 );
else
Loose( PLAYER_1 )
end;
__________________
Создаётся карта "Забытый Авангард (готовность 80%)
Создаётся карта "Забытый Авангард (готовность 80%)
AkaR вне форума
Ответить с цитированием
#674
Старый 16.07.2012, 22:20
  #674
^
Lendlord
📖
Регистрация: 12.07.2012
Сообщения: 7
Регистрация: 12.07.2012
Сообщения: 7
Печаль
Re: Скрипты

AkaR, вот как добавить монстру(допустим ГОБЛИН), его скриптовое имя(ork_1), что вводить в разделе "Script"?
PlayObjectAnimation.....а что дальше.
Lendlord вне форума
Ответить с цитированием
#675
Старый 17.07.2012, 07:55
  #675
^
32MeTpa
 
Аватар для 32MeTpa
📖
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Стрелка
Re: Скрипты

Сразу извиняюсь за стену текста, но раз этот человек сам не хочет (ничему учиться) открывать руководства, процитирую ему от туда то, что нужно.

Цитирую: "Практически всё в этом мире делается с помощью триггеров. Выглядит, он, к примеру, так:
Trigger(REGION_ENTER_AND_STOP_TRIGGER, “kamilla”, “kamillaF” );
Триггер будет висеть в игре всё время, и реагировать на те «раздражители», которые вы ему
указали. Например, этот будет реагировать на вход в регион “kamilla” героя и вызывать в это
время функцию “kamillaF”. Рассмотрим этот пример гораздо более подробно."

Для того, чтобы создать регион, нужно перейти в 4-ю вкладку в панели редактора, щелкнуть New Region и на карте, удерживая ЛКМ, перетащить стрелку мыши. Т.е. регион создается также, как и выделяется группа объектов

"Регион назван именем kamilla. Что нужно сделать, чтобы он реагировал на то, что в него
кто-то вошёл и при этом выдалось текстовое сообщение? Правильно, повесить триггер.
Смотрим в официальное руководство по скриптам от Нивала (находится по адресу: "папка с
игрой\Editor Documentation") или в руководство Новика и находим наиболее (и единственно)
подходящий триггер - Trigger(REGION_ENTER_AND_STOP_TRIGGER, sRegionName, sProc)
(Процедура (sProc) вызывается, когда какой-либо герой останавливается в регионе с именем
sRegionName).
Триггеры записываются обязательно в том виде, котором они предложены. То есть этот мы
запишем так: Trigger(REGION_ENTER_AND_STOP_TRIGGER, «теперь в кавычках пишем
название региона, которое мы ему дали», «имя функции, которая будет вызываться, когда мы
туда войдём»), и после этого это должно выглядеть так -
Trigger(REGION_ENTER_AND_STOP_TRIGGER, “kamilla”, “kamillaF” );
Название функции можете давать любое, но я для удобства даю то же, что и у региона (в
данном случае), только добавляя буковку «F».
Откуда взять функцию, которая будет вызываться? Всё очень просто – написать её.

Вот как это выглядит:
	function kamillaF ()
MessageBox("Maps/SingleMissions/НАЗВАНИЕ_КАРТЫ/ИМЯ_ТЕКСТА.txt");
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "kamilla", "kamillaF");
(Скрипты вписываются только в Map Properties -> Scripts)
Разъяснение: Это обязательная надпись function, затем название, отмеченное в триггере, затем пустые
скобки. Зачем? Не знаю, но без них иногда не работает.
Потом, в следующей строке, идёт собственно команда. MessageBox () вызывает окошечко с
описанным вами текстом. Для того чтобы игра могла прочитать текст, текстовый файл в
формате Unicode должен находиться в папке с картой по тому адресу, на который ссылается
скрипт (/Maps/SingleMissions/НАЗВАНИЕ_КАРТЫ) Как туда файл положить? Откройте
карту любым архиватором - это обычный zip-архив. Вложите файл в конечную папку. Как
сделать файл в формате Юникод? Скопируйте любой текстовый документ с карты (к примеру,
name) и сделайте с него копию, а потом вложите обратно уже с новым текстом и названием,
как было описано выше. Все имена следует давать латинскими буквами.
Вместо MessageBox можно вписать любую другую команду или хоть десять MessageBoxов,
все они будут выполняться по очереди.
!Внимание – как именно пользоваться командами достаточно подробно описано у Новика и в
официальном руководстве по скриптам от Нивала. Поэтому это не входит в задачу данного
руководства.
Обязательно следите за тем, чтобы команды были написаны точно так, как и подано в
руководствах. !Помните, большая и маленькая буквы – это разные символы! Так же не
забывайте после каждой команды ставить точку с запятой.
В конце обязательно поставьте end;
"

В нашем случае вместо функции MessageBox() нужна функция PlayObjectAnimation (). Ее параметры можно посмотреть в руководстве.

"Чаще всего нужно, чтобы функция срабатывала лишь однажды, когда герой впервые зайдёт в
обусловленный регион. Для этого обнулите триггер и, желательно, запишите это в самом
начале функции (однако можно и в конце – где запишете, там и обнулится). Обнуляется он
просто: Trigger(REGION_ENTER_AND_STOP_TRIGGER, “kamilla”, nil); то есть вместо
имени функции вписывается значение nil… Выглядит теперь функция так:
	function kamillaF ()
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "kamilla", nil );
MessageBox ("/Maps/SingleMissions/ НАЗВАНИЕ_КАРТЫ / НАЗВАНИЕ_ТЕКСТА.txt");
end;
"

Это все, что нужно знать для проигрывания анимации у объекта. Как давать имя объекту (это понадобиться в функции PlayObjectAnimation() ) вам уже более чем подробно объяснили. Ссылка на руководство: http://hmmp.ru/_ld/1/101_5_1.pdf
32MeTpa вне форума
Ответить с цитированием
Ответ
Страница 45 из 260


Опции темы



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


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

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