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

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

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

Ответ
Страница 44 из 260
 
Опции темы
#646
Старый 26.06.2012, 21:53
  #646
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30695
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30695
По умолчанию
Re: Скрипты

Но Вы так не обнулите, он же обнулится и снова активируется... Вот тут:
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
Обнулится, не спорю.
Ment вне форума
Ответить с цитированием
#647
Старый 26.06.2012, 22:06
  #647
^
AkaR
 
Аватар для AkaR
📖
Регистрация: 25.08.2011
Сообщения: 29
Регистрация: 25.08.2011
Сообщения: 29
По умолчанию
Re: Скрипты

Кировчанин,это базовые скрипты... мэссаджбокс и ремовобджект...

Скопируйте это к себе в файл "MapScript.lua"

function hatF ()
Trigger(OBJECT_TOUCH_TRIGGER, "hat" nil );
MessageBox (GetMapDataPath().."text.txt");
end;
Trigger(OBJECT_TOUCH_TRIGGER, "hat" "hatF" );

Создайте файл в юникоде с названием text и поместите в архив с данными карты,в нём напишите сообщение,создайте объект (в Вашем случае крестьянская хижина, назовите его "hat" в древе объекта,которое будет находится справа.

Добавлено через 1 минуту
Тоесть нужно сначала активировать триггер,а потом уже обнулить? Сейчас попробую

Добавлено через 8 минут
Может я чего-то не понял,что-то недописал, но скрипт всёравно не работает на данный момент он выглядит так:

function dopF ()
prog = 1;
MessageBox (GetMapDataPath().."text10.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", nil );
sleep (5);
SetObjectiveState('obj_dop', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_dop', true, PLAYER_1 );
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", "dopF" );
end;

function dop1 ()
if prog == 1 then
MessageBox (GetMapDataPath().."text11.txt");

elseif prog == 2 then
SetObjectiveState("obj_dop", OBJECTIVE_COMPLETED);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
AddHeroCreatures("hero", 64, 30);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" );
end;

function fenixF ()
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", nil );
prog = prog +1;
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" );
end;
__________________
Создаётся карта "Забытый Авангард (готовность 80%)
Создаётся карта "Забытый Авангард (готовность 80%)
AkaR вне форума
Ответить с цитированием
#648
Старый 26.06.2012, 22:11
  #648
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30695
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30695
По умолчанию
Re: Скрипты

Мдям... Я, к сожалению, совершенно не представляю Вашей задумки, но скорее всего строка
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
должна находиться после строки
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
Также строка Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" ); определённо должна быть после end'а, а не до. Также строка Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" ); должна находиться после ближайшего енда, а не до.
Ment вне форума
Ответить с цитированием
#649
Старый 26.06.2012, 22:22
  #649
^
AkaR
 
Аватар для AkaR
📖
Регистрация: 25.08.2011
Сообщения: 29
Регистрация: 25.08.2011
Сообщения: 29
По умолчанию
Re: Скрипты

Хорошо,сейчас порасставляю енды... но вот этого непонял:
но скорее всего строка
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
должна находиться после строки
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );


Добавлено через 7 минут
Кое-что заработало...
Теперь выводится сообщение,которое я хотел,если prog равняется одному,триггер не обнулился,всё как задумано, НО почему-то не сработала выдача задания,основной триггер,там где SetObjectiveState... однако прогресс есть. На данный момент скрипт выглядит так:

function dopF ()
prog = 1;
MessageBox (GetMapDataPath().."text10.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", nil );
sleep (5);
SetObjectiveState('obj_dop', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_dop', true, PLAYER_1 );
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", "dopF" );
end;

function dop1 ()
if prog == 1 then
MessageBox (GetMapDataPath().."text11.txt");

elseif prog == 2 then
SetObjectiveState("obj_dop", OBJECTIVE_COMPLETED);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
AddHeroCreatures("hero", 64, 30);
end;
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" );

function fenixF ()
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", nil );
prog = prog +1;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" );
__________________
Создаётся карта "Забытый Авангард (готовность 80%)
Создаётся карта "Забытый Авангард (готовность 80%)
AkaR вне форума
Ответить с цитированием
#650
Старый 26.06.2012, 22:28
  #650
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30695
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30695
По умолчанию
Re: Скрипты

Такая же ошибка, уберите Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", "dopF" ); ниже енда.
Ment вне форума
Ответить с цитированием
#651
Старый 26.06.2012, 22:33
  #651
^
Его Высокопреосвященство
📖
Регистрация: 20.06.2011
Адрес: Уфа, Республика Башкортостан
Сообщения: 156
Регистрация: 20.06.2011
Адрес: Уфа, Республика Башкортостан
Сообщения: 156
По умолчанию
Re: Скрипты

function dopF (heroname)
prog = 1
MessageBox (GetMapDataPath().."text10.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", nil );
sleep (5)
SetObjectiveState('obj_dop', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_dop', true, 1 );
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "wayF", "dopF" );
end;

function dop1 ()
if prog == 1 then
MessageBox (GetMapDataPath().."text11.txt");
end;
if prog == 2 then
SetObjectiveState("obj_dop", OBJECTIVE_COMPLETED);
AddHeroCreatures("hero", 64, 30);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
end;
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" );

function fenixF (heroname)
prog = prog +1
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", nil );
end;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" );

Добавлено через 47 секунд
Примерно вот так
__________________
Дайте мне всего шесть строк, написанных рукой самого честного человека, и я найду, за что его можно повесить.

Весьма хороший попутчик... До первого перекрестка.
Дайте мне всего шесть строк, написанных рукой самого честного человека, и я найду, за что его можно повесить.

Весьма хороший попутчик... До первого перекрестка.
Его Высокопреосвященство вне форума
Ответить с цитированием
#652
Старый 26.06.2012, 22:39
  #652
^
AkaR
 
Аватар для AkaR
📖
Регистрация: 25.08.2011
Сообщения: 29
Регистрация: 25.08.2011
Сообщения: 29
По умолчанию
Re: Скрипты

Всё заработало Спасибо вам огромное Через денёк-другой выложу готовую карту

Добавлено через 1 минуту
Если кому интересно,рабочий скрипт выглядит вот так:

function dopF ()
prog = 1;
MessageBox (GetMapDataPath().."text10.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way", nil );
sleep (5);
SetObjectiveState('obj_dop', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_dop', true, PLAYER_1 );
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way", "dopF" );

function dop1 ()
if prog == 1 then
MessageBox (GetMapDataPath().."text11.txt");

elseif prog == 2 then
SetObjectiveState("obj_dop", OBJECTIVE_COMPLETED);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", nil );
AddHeroCreatures("hero", 64, 30);
end;
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "way1", "dop1" );

function fenixF ()
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", nil );
prog = prog +1;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "fenix", "fenixF" );
__________________
Создаётся карта "Забытый Авангард (готовность 80%)
Создаётся карта "Забытый Авангард (готовность 80%)
AkaR вне форума
Ответить с цитированием
#653
Старый 11.07.2012, 14:48
  #653
^
Nikitatigr
 
Аватар для Nikitatigr
📖
Регистрация: 08.08.2010
Сообщения: 99
Регистрация: 08.08.2010
Сообщения: 99
Сообщение
Re: Скрипты

Подскажите скрипт,который в разные дни выводит разные сообщения (но в одном регионе),а точнее:
при входе в reg1 на первой неделе-сообщение mes1
при входе в reg1 на второй неделе-сообщение mes2
при входе в reg1 на третьей неделе-сообщение mes3
при входе в reg1 на четвёртой неделе-сообщение mes4
и т.д.
Заранее спасибо!
__________________
Мои карты:

Три недели: https://forum.heroesworld.ru/showthre...154#post583154

Неспокойные земли: https://forum.heroesworld.ru/showthread.php?t=9211

Неравное Противостояние: https://forum.heroesworld.ru/showthread.php?t=9473
Мои карты:

Три недели: https://forum.heroesworld.ru/showthre...154#post583154

Неспокойные земли: https://forum.heroesworld.ru/showthread.php?t=9211

Неравное Противостояние: https://forum.heroesworld.ru/showthread.php?t=9473
Nikitatigr вне форума
Ответить с цитированием
#654
Старый 11.07.2012, 17:03
  #654
^
32MeTpa
 
Аватар для 32MeTpa
📖
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
По умолчанию
Re: Скрипты

Есть функция GetDate, она возвращает дату....
Можно сделать так: Триггер на регион, GetDate в условие, и с помощью elseif варьировать разными датами. (Этой функцией не пользовался, по этому точно не знаю - можно ли возвратить только день или в зависимости от параметра возвратить день, неделю, месяц... Это можно посмотреть в мануале)
32MeTpa вне форума
Ответить с цитированием
#655
Старый 11.07.2012, 18:29
  #655
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

Данная функция может возвратить всё, что угодно: День (абсолютный и относительный), неделю(только относительную), месяц(месяц и есть месяц). Если уж надо что-то слишком мудрёное, то самому написать не сложно из того что есть.
GetDate(week)-возвращает номер недели относительно месяца. (1,2,3,4)
Dyrman вне форума
Ответить с цитированием
#656
Старый 11.07.2012, 19:13
  #656
^
32MeTpa
 
Аватар для 32MeTpa
📖
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
По умолчанию
Re: Скрипты

А что за абсолютный и относительный дни?
32MeTpa вне форума
Ответить с цитированием
#657
Старый 11.07.2012, 19:21
  #657
^
Nikitatigr
 
Аватар для Nikitatigr
📖
Регистрация: 08.08.2010
Сообщения: 99
Регистрация: 08.08.2010
Сообщения: 99
Сообщение
Re: Скрипты

32MeTpaА что за абсолютный и относительный дни?
Абсолютный-день с момента начала игры,относительный-день недели или день месяца.
Вроде-бы так.
__________________
Мои карты:

Три недели: https://forum.heroesworld.ru/showthre...154#post583154

Неспокойные земли: https://forum.heroesworld.ru/showthread.php?t=9211

Неравное Противостояние: https://forum.heroesworld.ru/showthread.php?t=9473
Мои карты:

Три недели: https://forum.heroesworld.ru/showthre...154#post583154

Неспокойные земли: https://forum.heroesworld.ru/showthread.php?t=9211

Неравное Противостояние: https://forum.heroesworld.ru/showthread.php?t=9473
Nikitatigr вне форума
Ответить с цитированием
#658
Старый 12.07.2012, 19:56
  #658
^
Lendlord
📖
Регистрация: 12.07.2012
Сообщения: 7
Регистрация: 12.07.2012
Сообщения: 7
Вопрос
[ВОПРОС] Умоляю подскажите как добавить анимацию людям.

Умоляю подскажите как добавить анимацию людям, ну например, когда проходил героев увидел анимацию крестьян что они вилами махали на самой карте, а не в бою, или вот еще латники махали мечами, архидяволы кулаками и тд. Как такое же добавить на свою карту???
Карту создал а ничего интересного в ней нет.
Lendlord вне форума
Ответить с цитированием
#659
Старый 12.07.2012, 20:06
  #659
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30695
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30695
По умолчанию
Re: Скрипты

Очень просто: добавляете на карту скрипт PlayObjectAnimation(имя монстра в кавычках, имя анимации, цикличность);
Например, так:
PlayObjectAnimation("priest","attack00",IDLE);
Имя нужно своё, скриптовое. Для того, чтобы наименовать существо таким именем, нужно его выделить, найти в левой панели строку Name и вписать туда имя (в нашем случае
priest
).
Ment вне форума
Ответить с цитированием
#660
Старый 12.07.2012, 21:57
  #660
^
Lendlord
📖
Регистрация: 12.07.2012
Сообщения: 7
Регистрация: 12.07.2012
Сообщения: 7
По умолчанию
Re: Скрипты

Объясни мне оленю, про эти скрипты, а то я не в курсе ка и что с ними??))
Lendlord вне форума
Ответить с цитированием
Ответ
Страница 44 из 260


Опции темы



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


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

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