Editor map do HoMaM ToE

Vše k druhému datadisku pro Heroes V, jenž nevyžaduje původní hru a je tak vlastně samostatnou hrou
User avatar
Alarik
Posts: 2022
Joined: Wed Jan 02, 2008 10:36 am

Re: Editor map do HoMaM ToE

Post by Alarik »

Pokud máš před tímto skriptem napsané v editoru i další skripty, může být chyba v tom. Jediná chyba v jakémkoli předešlém skriptu totiž zamezí funkčnosti všech následujících skriptů (např. chyba ve skriptu na 3. řádku vyřadí všechny skripty od 3. řádku až do konce, fungovat budou jen první dva). Důležité je taky zkontrolovat si překlepy - občas se stane, že někde prostě vypadne nějaké to písmenko nebo se zamění s jiným a skript tudíž nemůže fungovat správně.
Last edited by Alarik on Sat Sep 03, 2011 9:13 am, edited 1 time in total.
User avatar
Kha-Beleth
Posts: 58
Joined: Mon Jun 06, 2011 3:56 pm
Location: Ur-Hekal, Sheog

Re: Editor map do HoMaM ToE

Post by Kha-Beleth »

Alarik wrote:Pokud máš před tímto skriptem napsané v editoru i další skripty, může být chyba v tom. Jediná chyba v jakémkoli předešlém skriptu totiž zamezí funkčnosti všech následujících skriptů (např. chyba ve skriptu na 3. řádku vyřadí všechny skripty od 3. řádku až do konce, fungovat budou jen první dva). Důležité je taky zkontrolovat si překlepy - obšas se stane, že někde prostě vypadne nějaké to písmenko nebo se zamění s jiným a skript tudíž nemůže fungovat správně.

Script tam mam jen jeden, teprv se je snažim používat :mrgreen:
Právo je na straně silnějšího. Dovednost provést nějaký čin je dostatečný důvod proto ho učinit. Dobývej, drancuj a masakruj slabé. Směj se, když jsi zraněn nebo mučen, utápěj se v sobeckém potěšení, rozsévej anarchii a chaos, zkorumpuj ty správné. Zasvěť ty blázny, kteří neznají pravý význam svobody. Moc je tu proto, aby se jí ujali silní a vládli slabým.
User avatar
Lopicia
Posts: 76
Joined: Wed Mar 04, 2009 7:42 am
Location: Ashan

Re: Editor map do HoMaM ToE

Post by Lopicia »

Už delší dobu dělám na jedné mapě+ a ráda bych věděla, jak udělat tohle:
Po dobytí města zobrazit zprávu a zadat nový úkol
Po dobytí dvou měst označit úkol za splněný
Ať si věří, kdo chce, v co chce, mně je to úplně jedno...
Image
~Killunia Firewind~
User avatar
Vynny
Posts: 135
Joined: Sun Nov 30, 2008 4:25 pm

Re: Editor map do HoMaM ToE

Post by Vynny »

Kha-Beleth wrote:Script tam mam jen jeden, teprv se je snažim používat

Zkus se podívat na můj návod, ve kterém jsem práci se skripty podrobně popisoval. Najdeš ho zde na mé stránce: http://x-mapy.webnode.cz/soubory-do-pc- ... d-magic-5/

Lopicia wrote:Už delší dobu dělám na jedné mapě+ a ráda bych věděla, jak udělat tohle:
Po dobytí města zobrazit zprávu a zadat nový úkol
Po dobytí dvou měst označit úkol za splněný

Já to řešil tak, že jsem dal za úkol dobýt to určité město a jakmile byl úkol splněn, aktivoval se mi skript, ve kterém se mi zobrazila zpráva a vznikl nový úkol. Do úkolu lze samozřejmě napsat klikdně 5 měst, které musí hráč dobýt, aby se úkol splnil.
S tím skriptem bych to udělal asi takto:

Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER,"ukol3","ukol3");

function ukol3 ()
if GetObjectiveState ("ukol3") == OBJECTIVE_COMPLETED then
sleep(5);
MessageBox("Maps/SingleMissions/Mapa1/zprava.txt");
SetObjectiveState("ukol4",OBJECTIVE_ACTIVE);
Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER,"ukol3",nil);
end;
User avatar
Kha-Beleth
Posts: 58
Joined: Mon Jun 06, 2011 3:56 pm
Location: Ur-Hekal, Sheog

Re: Editor map do HoMaM ToE

Post by Kha-Beleth »

Vynny wrote:
Kha-Beleth wrote:Script tam mam jen jeden, teprv se je snažim používat

Zkus se podívat na můj návod, ve kterém jsem práci se skripty podrobně popisoval. Najdeš ho zde na mé stránce: http://x-mapy.webnode.cz/soubory-do-pc- ... d-magic-5/

Ten už mam. Díky němu jsem se začal snažit :lol: :lol:
Právo je na straně silnějšího. Dovednost provést nějaký čin je dostatečný důvod proto ho učinit. Dobývej, drancuj a masakruj slabé. Směj se, když jsi zraněn nebo mučen, utápěj se v sobeckém potěšení, rozsévej anarchii a chaos, zkorumpuj ty správné. Zasvěť ty blázny, kteří neznají pravý význam svobody. Moc je tu proto, aby se jí ujali silní a vládli slabým.
User avatar
Lopicia
Posts: 76
Joined: Wed Mar 04, 2009 7:42 am
Location: Ashan

Re: Editor map do HoMaM ToE

Post by Lopicia »

Vynny wrote:
Lopicia wrote:Už delší dobu dělám na jedné mapě+ a ráda bych věděla, jak udělat tohle:
Po dobytí města zobrazit zprávu a zadat nový úkol
Po dobytí dvou měst označit úkol za splněný

Já to řešil tak, že jsem dal za úkol dobýt to určité město a jakmile byl úkol splněn, aktivoval se mi skript, ve kterém se mi zobrazila zpráva a vznikl nový úkol. Do úkolu lze samozřejmě napsat klikdně 5 měst, které musí hráč dobýt, aby se úkol splnil.
S tím skriptem bych to udělal asi takto:

Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER,"ukol3","ukol3");

function ukol3 ()
if GetObjectiveState ("ukol3") == OBJECTIVE_COMPLETED then
sleep(5);
MessageBox("Maps/SingleMissions/Mapa1/zprava.txt");
SetObjectiveState("ukol4",OBJECTIVE_ACTIVE);
Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER,"ukol3",nil);
end;


Děkuju za radu. :) Já jsem pořád taková trouba přes skripty... :D :D Takže ode mě čekej ještě další otázky ohledně skriptování... :D
Ještě teda otázka pro debily, jak se nastavuje úkol dobýt určité město? Protože těch úkolů "Capture city" je poněkud více než jeden... :D
Ať si věří, kdo chce, v co chce, mně je to úplně jedno...
Image
~Killunia Firewind~
User avatar
Alarik
Posts: 2022
Joined: Wed Jan 02, 2008 10:36 am

Re: Editor map do HoMaM ToE

Post by Alarik »

Lopicia wrote:Děkuju za radu. :) Já jsem pořád taková trouba přes skripty... :D :D Takže ode mě čekej ještě další otázky ohledně skriptování... :D
Ještě teda otázka pro debily, jak se nastavuje úkol dobýt určité město? Protože těch úkolů "Capture city" je poněkud více než jeden... :D

V nastavení úkolů vyber možnost "OBJECTIVE_KIND_CAPTURE_OBJECT" a do parametrů pak zadej skriptové jméno daného města.
User avatar
Lopicia
Posts: 76
Joined: Wed Mar 04, 2009 7:42 am
Location: Ashan

Re: Editor map do HoMaM ToE

Post by Lopicia »

Alarik wrote:V nastavení úkolů vyber možnost "OBJECTIVE_KIND_CAPTURE_OBJECT" a do parametrů pak zadej skriptové jméno daného města.

Dík :)
Asi jsem vážně idiot... :D :D
Ať si věří, kdo chce, v co chce, mně je to úplně jedno...
Image
~Killunia Firewind~
Sabatu
Posts: 74
Joined: Sat Jun 11, 2011 6:18 am

Re: Editor map do HoMaM ToE

Post by Sabatu »

Lopicia wrote:
Alarik wrote:V nastavení úkolů vyber možnost "OBJECTIVE_KIND_CAPTURE_OBJECT" a do parametrů pak zadej skriptové jméno daného města.

Dík :)
Asi jsem vážně idiot... :D :D



Takže při tomto ukolu zadam do parametru třeba obj1 muže to byt třeba i hmmmm líhně na jednotky nebo tvrz.pak zadaš do parametru ukolu a vše ok???
User avatar
Alarik
Posts: 2022
Joined: Wed Jan 02, 2008 10:36 am

Re: Editor map do HoMaM ToE

Post by Alarik »

Přesně tak, tato podmínka by měla fungovat pro všechny obsaditelné objekty.
User avatar
Kha-Beleth
Posts: 58
Joined: Mon Jun 06, 2011 3:56 pm
Location: Ur-Hekal, Sheog

Re: Editor map do HoMaM ToE

Post by Kha-Beleth »

Další dotaz. Jak mam vytvořit dekorační objekty mrtvoly vojáků? Jako v TotE 2 mise za skřety za Kudžin u toho Kyklopa? A děkuji za odpověď a trpělivost se mnou :lol:
Právo je na straně silnějšího. Dovednost provést nějaký čin je dostatečný důvod proto ho učinit. Dobývej, drancuj a masakruj slabé. Směj se, když jsi zraněn nebo mučen, utápěj se v sobeckém potěšení, rozsévej anarchii a chaos, zkorumpuj ty správné. Zasvěť ty blázny, kteří neznají pravý význam svobody. Moc je tu proto, aby se jí ujali silní a vládli slabým.
User avatar
Alarik
Posts: 2022
Joined: Wed Jan 02, 2008 10:36 am

Re: Editor map do HoMaM ToE

Post by Alarik »

V ToE to nebylo dělané jako čistě dekorační objekt (jaké jsou např. ve Vynnyho kampani), nýbrž jako klasická jednotka, která byla pouze zablokovaná a které také skriptem vypnuli to barevné "kolečko".
Osobně bych to udělal tak, že bych skriptem SetMonsterSelectionType( monsterName, 0 ) deaktivoval toto "kolečko" a pomocí skriptu SetObjectAnimation(monsterName, "death", ONESHOT_STILL) bych nastavil, aby daná jednotka při spuštění mapy přehrála animaci smrti a zůstala v ní. Možná by to šlo udělat i jinak, ale tohle je dle mého ten nejjednodušší způsob. Podle skriptového manuálu ale musí být daná jednotka deaktivována pomocí skriptu SetObjectEnabled(objectName, false), jinak by skript SetMonsterSelectionType nefungoval.
User avatar
Kha-Beleth
Posts: 58
Joined: Mon Jun 06, 2011 3:56 pm
Location: Ur-Hekal, Sheog

Re: Editor map do HoMaM ToE

Post by Kha-Beleth »

Alarik wrote:V ToE to nebylo dělané jako čistě dekorační objekt (jaké jsou např. ve Vynnyho kampani), nýbrž jako klasická jednotka, která byla pouze zablokovaná a které také skriptem vypnuli to barevné "kolečko".
Osobně bych to udělal tak, že bych skriptem SetMonsterSelectionType( monsterName, 0 ) deaktivoval toto "kolečko" a pomocí skriptu SetObjectAnimation(monsterName, "death", ONESHOT_STILL) bych nastavil, aby daná jednotka při spuštění mapy přehrála animaci smrti a zůstala v ní. Možná by to šlo udělat i jinak, ale tohle je dle mého ten nejjednodušší způsob. Podle skriptového manuálu ale musí být daná jednotka deaktivována pomocí skriptu SetObjectEnabled(objectName, false), jinak by skript SetMonsterSelectionType nefungoval.


Tak teď ještě jednou a pro blbce prosím :lol:
Právo je na straně silnějšího. Dovednost provést nějaký čin je dostatečný důvod proto ho učinit. Dobývej, drancuj a masakruj slabé. Směj se, když jsi zraněn nebo mučen, utápěj se v sobeckém potěšení, rozsévej anarchii a chaos, zkorumpuj ty správné. Zasvěť ty blázny, kteří neznají pravý význam svobody. Moc je tu proto, aby se jí ujali silní a vládli slabým.
User avatar
Alarik
Posts: 2022
Joined: Wed Jan 02, 2008 10:36 am

Re: Editor map do HoMaM ToE

Post by Alarik »

Napíšu tedy postup:
1. Umístíš do mapy ty jednotky, které mají tu animaci smrti provést.
2. Přidělíš těmto jednotkám nějaké skriptové jméno.
3. Pro každou z těchto jednotek pak napíšeš skript v tomto znění
SetObjectEnabled("skriptové_jméno_jednotky", false).
4. Poté napíšeš opět pro každou jednotku skript
SetMonsterSelectionType( "skriptové_jméno_jednotky", 0 ).
5. Nakonec napíšeš rovněž pro každou z těch jednotek skript
SetObjectAnimation("skriptové_jméno_jednotky", "death", ONESHOT_STILL).
6. Mezi skripty z bodů 3 a 4 a bodů 4 a 5 by možná bylo dobré napsat skript sleep(2), aby hra nejprve splnila příkaz ze 3. bodu, potom ze 4. a nakonec z 5. (ta dvojka v té závorce není závazná, ale vyšší číslo více pozdrží hru).

Nakonec ještě malý příklad:
Mám dvě jednotky, jednu pojmenuji "Dead_1", druhou "Dead_2". Poté začnu psát ty skripty:

SetObjectEnabled("Dead_1", false);
SetObjectEnabled("Dead_2", false);
sleep(2);
SetMonsterSelectionType( "Dead_1", 0 );
SetMonsterSelectionType( "Dead_2", 0 );
sleep(2);
SetObjectAnimation("Dead_1", "death", ONESHOT_STILL);
SetObjectAnimation("Dead_2", "death", ONESHOT_STILL);

Takto by to mělo být celé.
User avatar
Kha-Beleth
Posts: 58
Joined: Mon Jun 06, 2011 3:56 pm
Location: Ur-Hekal, Sheog

Re: Editor map do HoMaM ToE

Post by Kha-Beleth »

Alarik wrote:Napíšu tedy postup:
1. Umístíš do mapy ty jednotky, které mají tu animaci smrti provést.
2. Přidělíš těmto jednotkám nějaké skriptové jméno.
3. Pro každou z těchto jednotek pak napíšeš skript v tomto znění
SetObjectEnabled("skriptové_jméno_jednotky", false).
4. Poté napíšeš opět pro každou jednotku skript
SetMonsterSelectionType( "skriptové_jméno_jednotky", 0 ).
5. Nakonec napíšeš rovněž pro každou z těch jednotek skript
SetObjectAnimation("skriptové_jméno_jednotky", "death", ONESHOT_STILL).
6. Mezi skripty z bodů 3 a 4 a bodů 4 a 5 by možná bylo dobré napsat skript sleep(2), aby hra nejprve splnila příkaz ze 3. bodu, potom ze 4. a nakonec z 5. (ta dvojka v té závorce není závazná, ale vyšší číslo více pozdrží hru).

Nakonec ještě malý příklad:
Mám dvě jednotky, jednu pojmenuji "Dead_1", druhou "Dead_2". Poté začnu psát ty skripty:

SetObjectEnabled("Dead_1", false);
SetObjectEnabled("Dead_2", false);
sleep(2);
SetMonsterSelectionType( "Dead_1", 0 );
SetMonsterSelectionType( "Dead_2", 0 );
sleep(2);
SetObjectAnimation("Dead_1", "death", ONESHOT_STILL);
SetObjectAnimation("Dead_2", "death", ONESHOT_STILL);

Takto by to mělo být celé.

Strašně moc děkuju za trpělivost a ochotu.
Právo je na straně silnějšího. Dovednost provést nějaký čin je dostatečný důvod proto ho učinit. Dobývej, drancuj a masakruj slabé. Směj se, když jsi zraněn nebo mučen, utápěj se v sobeckém potěšení, rozsévej anarchii a chaos, zkorumpuj ty správné. Zasvěť ty blázny, kteří neznají pravý význam svobody. Moc je tu proto, aby se jí ujali silní a vládli slabým.
Post Reply