Ñêðèïòû - Ñòðàíèöà 8 - Ôîðóì HeroesWorld-à

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

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

Îòâåò
Ñòðàíèöà 8 èç 261
 
Îïöèè òåìû
#106
Ñòàðûé 09.07.2010, 21:47
  #106
^
Valeonos
📖
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Ser9K, похоже я понял в чем ошибка.. В архиве фаилов text1 и text2 нету. Я их туда добовляю, выхожу, снова захожу и их нету.. В чем проблема?
Valeonos âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#107
Ñòàðûé 10.07.2010, 10:42
  #107
^
Ser9K
 
Àâàòàð äëÿ Ser9K
📖
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Попробуй создать text1 и text2 через CustomGoal, которая находится чуть выше Odjectives. Кликаешь там на пустом поле жмешь new и вводишь название текстового сообщения, затем само сообщение. Жмешь ок, потом сохранить. Строку из CustomGoal затем нужно (!) удалить. На мой взгляд, это самый простой способ.
Ser9K âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#108
Ñòàðûé 10.07.2010, 11:44
  #108
^
Valeonos
📖
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Ser9K, так и сделал, но все равно не работает... Тперь он правда не может создать файл с именем text1, но почему-то не работает...
Valeonos âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#109
Ñòàðûé 10.07.2010, 12:48
  #109
^
Dyrman
 
Àâàòàð äëÿ Dyrman
📖
Ðåãèñòðàöèÿ: 24.06.2008
Àäðåñ: Òàì, ãäå íåáà êîí÷àåòñÿ êðàé
Ñîîáùåíèÿ: 3479
Îòïðàâèòü ñîîáùåíèå äëÿ  Dyrman ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 24.06.2008
Àäðåñ: Òàì, ãäå íåáà êîí÷àåòñÿ êðàé
Ñîîáùåíèÿ: 3479
Îòïðàâèòü ñîîáùåíèå äëÿ  Dyrman ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ValeonosSer9K, так и сделал, но все равно не работает... Тперь он правда не может создать файл с именем text1, но почему-то не работает...
Попробуй использовать програмку http://hmm5.sklabs.ru/
Dyrman âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#110
Ñòàðûé 11.07.2010, 11:05
  #110
^
Valeonos
📖
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Я уже не знаю, что делать. Все попробовал и с программой и без.. Может кто-нибудь посмотрит что не так...
Âëîæåíèÿ
Òèï ôàéëà: zip Isand Triads.zip (170.6 Êáàéò, 148 ïðîñìîòðîâ)
Valeonos âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#111
Ñòàðûé 11.07.2010, 19:07
  #111
^
Ser9K
 
Àâàòàð äëÿ Ser9K
📖
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Блин... ну конечно же!
PlayerHero = скриптовое имя героя который должен войти в регион написанное в "" (смотреть во вкладке Settings -> Script Name)

function kamillaF(hero)
if hero == PlayerHero then
MessageBox ("/Maps/SingleMissions/Island_Triads/text1.txt");
Trigger (REGION_AND_STOP_TRIGGER, "kamilla", nil );
end;
end;

Trigger (REGION_AND_STOP_TRIGGER, "kamilla", "kamillaF" );
Ser9K âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#112
Ñòàðûé 11.07.2010, 22:36
  #112
^
Valeonos
📖
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Рад, что ты понял, правда я все равно нет =)

Вот, что я сделал, но похоже не то. Имя героя, вроде как Nemor.

SetPlayerStartResources(PLAYER_1,0,0,0,0,0,0,0);

function kamillaF(Nemor)
if hero == Nemor then
MessageBox ("/Maps/SingleMissions/Island_Triads/text1.txt");
Trigger (REGION_AND_STOP_TRIGGER, "kamilla", nil );
function aF()
if hero == Nemor then
Trigger(REGION_AND_STOP_TRIGGER,"a1",nil);
MessageBox("/Maps/SingleMissions/Island_Triads/text2.txt");
end;
end;
end;
Valeonos âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#113
Ñòàðûé 12.07.2010, 01:22
  #113
^
Dyrman
 
Àâàòàð äëÿ Dyrman
📖
Ðåãèñòðàöèÿ: 24.06.2008
Àäðåñ: Òàì, ãäå íåáà êîí÷àåòñÿ êðàé
Ñîîáùåíèÿ: 3479
Îòïðàâèòü ñîîáùåíèå äëÿ  Dyrman ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 24.06.2008
Àäðåñ: Òàì, ãäå íåáà êîí÷àåòñÿ êðàé
Ñîîáùåíèÿ: 3479
Îòïðàâèòü ñîîáùåíèå äëÿ  Dyrman ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Имя героя в кавычках : "Nemor"
Dyrman âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#114
Ñòàðûé 12.07.2010, 10:18
  #114
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30706
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30706
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Не REGION_AND_STOP_TRIGGER, a REGION_ENTER_AND_STOP_TRIGGER. Endы, по-моему, не там стоят.
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#115
Ñòàðûé 12.07.2010, 17:03
  #115
^
FireShaman
 
Àâàòàð äëÿ FireShaman
📖
Ðåãèñòðàöèÿ: 04.06.2010
Àäðåñ: Ïåðìü
Ñîîáùåíèÿ: 15
Ðåãèñòðàöèÿ: 04.06.2010
Àäðåñ: Ïåðìü
Ñîîáùåíèÿ: 15
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

а также отсутствуют строчки Trigger (REGION_AND_STOP_TRIGGER, "kamilla", "kamillaF" ); и Trigger(REGION_AND_STOP_TRIGGER,"a1","aF");
FireShaman âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#116
Ñòàðûé 12.07.2010, 17:26
  #116
^
Valeonos
📖
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ðåãèñòðàöèÿ: 02.06.2010
Ñîîáùåíèÿ: 22
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

все еще не работает...

SetPlayerStartResources(PLAYER_1,0,0,0,0,0,0,0);

function kamillaF("Nemor")
if hero == "Nemor" then
Trigger (REGION_ENTER_AND_STOP_TRIGGER, "kamilla",nil);
MessageBox ("/Maps/SingleMissions/Island_Triads/text1.txt");
Trigger (REGION_ENTER_AND_STOP_TRIGGER, "kamilla","kamillaF");
function aF()
if hero == "Nemor" then
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"a1",nil);
MessageBox("/Maps/SingleMissions/Island_Triads/text2.txt");
Trigger (REGION_ENTER_AND_STOP_TRIGGER, "a1","aF");
end;
end;
end;
Valeonos âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#117
Ñòàðûé 12.07.2010, 17:41
  #117
^
FireShaman
 
Àâàòàð äëÿ FireShaman
📖
Ðåãèñòðàöèÿ: 04.06.2010
Àäðåñ: Ïåðìü
Ñîîáùåíèÿ: 15
Ðåãèñòðàöèÿ: 04.06.2010
Àäðåñ: Ïåðìü
Ñîîáùåíèÿ: 15
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Так попробуй
SetPlayerStartResources(PLAYER_1,0,0,0,0,0,0,0);

function kamillaF("Nemor")
if hero == "Nemor" then
Trigger (REGION_ENTER_AND_STOP_TRIGGER, "kamilla",nil);
MessageBox ("/Maps/SingleMissions/Island_Triads/text1.txt");
end;
end;
Trigger (REGION_ENTER_AND_STOP_TRIGGER, "kamilla","kamillaF");
function aF()
if hero == "Nemor" then
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"a1",nil);
MessageBox("/Maps/SingleMissions/Island_Triads/text2.txt");
Trigger (REGION_ENTER_AND_STOP_TRIGGER, "a1","aF");
end;
end;

Добавлено через 3 минуты
а блин ошибся. последние два энда перед последним триггером
FireShaman âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#118
Ñòàðûé 12.07.2010, 18:22
  #118
^
Ser9K
 
Àâàòàð äëÿ Ser9K
📖
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Блин... вы что советуете? 0_o Я же сказал как нужно...

В твоем случае, если герой и впрямь Nemor (в простонародье Дейдра) то скрипт будет выглядеть так.

PlayerHero = "Nemor"

function kamillaF(hero)
if hero == PlayerHero then
MessageBox ( "/Maps/SingleMissions/Island_Triads/text1.txt" );
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "kamilla", nil );
end;
end;

Trigger( REGION_ENTER_AND_STOP_TRIGGER, "kamilla", "kamillaF" );


Объясняю. PlayerHero это переменная созданная для удобства... во всяком случае мне и Nival'у так кажется. Можно и просто:

if hero == "Nemor" then

А можно вместо PlayerHero писать что угодно на латинице.
Ser9K âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#119
Ñòàðûé 06.09.2010, 07:30
  #119
^
Ser9K
 
Àâàòàð äëÿ Ser9K
📖
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

По просьбе выкладываю тут
EnableAIHero( "RedHeavenHero04", false );
EnableAIHero( "RedHeavenHero06", false );
EnableAIHero( "RedHeavenHero03", false );
EnableAIHero( "Duncan", false );
EnableAIHero( "Freyda", false );

Ошибка закралась тут EnableAIHero. Правильно будет так EnableHeroAI

function death2 ()
PlayObjectAnimation ("golem", "death", ONESHOT_STILL);
end;
startThread(death2);

function death3 ()
PlayObjectAnimation ("gremlin", "death", ONESHOT_STILL);
end;
startThread(death3);

У голема в роликовой части нету анимации смерти (про гремлина не знаю). А эта функция берет ее именно отуда. Не знаю почему так сделано, но у многих существ анимация смерти там отсутствует. Придется менять существ на других.

И главный скрипт карты - герой (Zehyr) заходит в область, проигрывается ролик, герой, который был в этой области пермещается на другую точку (как бы телепортом), игроку (Зехиру) даётся контроль над городами и войсками другого игрока, а на последующем после этого ходу противника, вражеские герои нападают на города (человек будет чуть-чуть сильнее).

Разобьем на пару моментов.

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

PlayerHero меняй на свеого.
START_DIALOG переменная куда забит адрес твоего ролика, выглядит примерно так:

START_DIALOG = "/DialogScenes/UC2/M5/S1/DialogScene.xdb#xpointer(/DialogScene)"

	function noname(hero)
	if hero == PlayerHero then
		StartDialogScene( START_DIALOG );
                SetObjectPosition( PlayerHero, 34, 6, 1 );
                SetObjectOwner("TownSilvan", PLAYER_1);
		Trigger( REGION_ENTER_AND_STOP_TRIGGER, "regionname", nil );
	end;
end;
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "regionname","noname", nil );

SetObjectPosition

Параметры такие. ( heroname, x, y, z )

z - уровень (подземный или надземный). Не помню точно но кажется 1 - это подземный. То ли 0, то ли 2 - надземный. Можно вообще поставить nil тогда на тот же где он и стоял.

SetObjectOwner

Тут попроще. ( скриптовое имя города (задаешь его сам), игрок )

Во-вторых про захват городов. Тут вообще полная... кхм... ну короче есть сложности.

Существует такая вот функция:


SetAIHeroAttractor("DangeonTown", "Oddrema", 2);

Указываешь город, героя и приоритет. 2 - наивысший (то бишь захватывать будет невзирая на опасность умереть).

Выглядит хорошо, но не всегда работает как надо.
Ser9K âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#120
Ñòàðûé 06.09.2010, 07:45
  #120
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Угу, спасибо, только ещё одно (два): после ролика мне необходимо ещё телепортировать "Enabledнутого" героя на другую позицию. И с аттрактором: он у меня должен примениться на отключенных героев. Они на следующем ходу пойдут, или их надо как-то включить?

Спасибо большое !
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 8 èç 261


Îïöèè òåìû



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


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

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