NavigaceDotazy Kampaně Civilizace Jednotky Ke stažení Tvorba map - Menu editoru - Vychytávky - Spouště - Kampaňe - AI script - RMS script Cheaty Citáty Kniha návštev OstatníOdkazyAoe.cz Aoe2 by HHPZ AoK Heaven Aoe2 FacebookAnketa |
Tvorba AI Část II. : EfektyTakže už víme co je podmínka a jak se nastavíTeď se pro změnu kouknem na Efekty. ~ Některé z hotových typů efektů:(attack-now) ; Zaútoč (train villager) ; Vytvoř vesničana (build barracks) ; Postav kasárny (chat-local-to-self <string>) ; Pošli zprávu-sobě "Text" ~ Rozeberem si například efekt (train villiager):train ; Základní část, která se pro tento druh efektu nemění villiager ; Představuje objekt typu <UNIT> Objekt <UNIT> je zástupcem pro skutečný název daného předmětu v AOE. V tomto případě se vybírá z jednotek (Rytíř na koni, Mnich ...) Nepsanou podmínkou pro to, aby tento příkaz mohl fungovat, je samozřejmě přítomnost budovy, která má jednotku vyprodukovat, možnost vůbec jednotku vytvářet a dostatek surovin. ~ Příklady možností alternativ tohoto efektu:(train archer) (train champion) (train cannon-galleon) (train trade-cart) (train monk) ... Přehled naleznete v CPSB na 56 nebo v RMSG na 16 straně ~ Praxe :Teď se vratime k našemu me_ai a přepíšeme původní syntaxi na : (defrule (civilian-population == 3) => (train villager) (chat-local-to-self "Máš jen 3 vesničany. Vytvořím ti ještě jednoho") ) Pro pochopení :
Nastavili jsme podmínku: "Je-li civilní populace je rovna 3"
"pak spusť" efekty :"Vytvoř vesničana" a "zobraz o tom zprávu." ~ A nakonec si přidáme ještě podmínky typu "můžeš-li" :(building-available <building>) ; Můžeš-li postavit <typ budovy> (can-train <unit>) ; Můžeš-li vytvořit <typ jednotky> (can-research <age nebo research-item>) ; Můžeš-li provést výzkum <dobu nebo výzkum > ~ A typu "kolik" :(building-type-count <building> <rovnítko> <počet>) ; Porovnání počtu přesně určené budovy (building-type-count <rovnítko> <počet>) ; Porovnává všechny budovy ... více v CPSB ve Fact listu (str. 17).
~ Zkusíme lehčí verzi AI, pomocí které se dostanem do druhé doby aniž bychom museli kamkoliv klikat myší :1) Pro postup bude dobré mít více vesničanů, proto nastavíme podmínku "tvoř vesničany dokud jich nebudeš mít 10". 2) Dále by potěšilo kdyby vesničani těžili pouze jídlo a dřevo, ale to jsou SNka a ty ještě neumíme, takže to vynecháme. 3) Je vcelku nutné postavit 2 budovy. Třeba pilu a mlýn jinak se nám možnost postupu do feudálu neuvolní. 4) Když 10 vesničanů tak dva domy ... Populace je prevít! 5) A co scout? Toho zatím necháme... Ještě není v našich silách dát ho do pohybu...
6) A konečně by bodlo, až budem mít dostatek surovin abychom také postoupili !... Víme tedy co chcem a už jen zbývá, to převést do syntaxí : (defrule (civilian-population < 10) (can-train villager) => (train villager) ) (defrule (building-type-count lumber-camp < 1) (building-type-count mill < 1) (building-available lumber-camp) => (build lumber-camp) ) (defrule (building-type-count mill < 1) (building-available mill) => (build mill) ) (defrule (building-type-count house < 2) (building-available house) => (build house) ) (defrule (can-research feudal-age) => (research feudal-age) ) A to je vše ... Zkuste, zda-li to funguje... Patrně nebudete chtit dlouho čekat, tak doporučuju AEGIS. A jelikož nemáte pomocí SNek přidělené žádné dřevorubce, tak i LUMBERJACK.
A příště dáme třeba právě ta SNka. (MW) |