Editor map do HoMaM ToE
Re: Editor map do HoMaM ToE
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.
- Kha-Beleth
- Posts: 58
- Joined: Mon Jun 06, 2011 3:56 pm
- Location: Ur-Hekal, Sheog
Re: Editor map do HoMaM ToE
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
„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.
Re: Editor map do HoMaM ToE
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ý
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...

~Killunia Firewind~
~Killunia Firewind~
Re: Editor map do HoMaM ToE
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;
- Kha-Beleth
- Posts: 58
- Joined: Mon Jun 06, 2011 3:56 pm
- Location: Ur-Hekal, Sheog
Re: Editor map do HoMaM ToE
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
„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.
Re: Editor map do HoMaM ToE
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.
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...
Ať si věří, kdo chce, v co chce, mně je to úplně jedno...

~Killunia Firewind~
~Killunia Firewind~
Re: Editor map do HoMaM ToE
Lopicia wrote:Děkuju za radu.Já jsem pořád taková trouba přes skripty...
![]()
Takže ode mě čekej ještě další otázky ohledně skriptování...
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...
V nastavení úkolů vyber možnost "OBJECTIVE_KIND_CAPTURE_OBJECT" a do parametrů pak zadej skriptové jméno daného města.
Re: Editor map do HoMaM ToE
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...
Ať si věří, kdo chce, v co chce, mně je to úplně jedno...

~Killunia Firewind~
~Killunia Firewind~
Re: Editor map do HoMaM ToE
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...![]()
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???
Re: Editor map do HoMaM ToE
Přesně tak, tato podmínka by měla fungovat pro všechny obsaditelné objekty.
- Kha-Beleth
- Posts: 58
- Joined: Mon Jun 06, 2011 3:56 pm
- Location: Ur-Hekal, Sheog
Re: Editor map do HoMaM ToE
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 
„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.
Re: Editor map do HoMaM ToE
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.
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.
- Kha-Beleth
- Posts: 58
- Joined: Mon Jun 06, 2011 3:56 pm
- Location: Ur-Hekal, Sheog
Re: Editor map do HoMaM ToE
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
„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.
Re: Editor map do HoMaM ToE
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é.
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é.
- Kha-Beleth
- Posts: 58
- Joined: Mon Jun 06, 2011 3:56 pm
- Location: Ur-Hekal, Sheog
Re: Editor map do HoMaM ToE
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.