Navigace

Dotazy 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í

Odkazy

Aoe.cz Aoe2 by HHPZ AoK Heaven Aoe2 Facebook pocitadlo

Anketa

   

Užití AI Část I.: Scénáře

Druhou velkou kapitolou bude užití AI v reálu.

V první části si řeknem, jak to udělat, aby AI funguvalo i u jiného než univerzálního hráče.
 

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

Bod 1) - Typy AI souborů:


   A) *.PER
      1) Univerzální
      2) Přiřazený
      3) Externí
   B) *.AI

 
PER je textový dokument do kterého se zapisuje řetězec syntaxí AI scriptu.
 
AI je zástupný soubor PER, pokud mají stejné názvy, může být umělá inteligence použita pro určitého hráče. (Samostatné PER přidělit nelze)
 
1) Je soubor per obsahující kopletní zápis umělé inteligence pro každého hráče, který ji bude využívat.
 
2) Per ve kterém je zápis UI* pouze pro jednoho hráče.
 
3) Další per který obsahuje jen určité syntaxe. (Tvoří se kvůli přehlednosti a navíc na něj může odkazovat jyný přiřazený, nebo univerzální per. (Něco jako externí css)
 
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

Bod 2) - Jak přiřadit hráči AI:

V editoru, záložka "Hráči" nastavení "Osobnost".
- Editor načítá pouze soubory typu AI, nikoliv per!

Ještě před tím, než to zbytečně vyzkoušíte, Vás upozorním :
- V editoru nelze nastavit AI pro hráče 1!
- A nebude to fungovat ani když scénář uložíte a spustíte jinde!
 

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

Bod 3) - Univerzální PER:

Poukud budete chtít aby v jednom PER byla uložena UI pro více hráčů, je potřeba přidat do zápisu podmínky některou ze syntaxí typu PLAYER, a to pro všechny defrule !!! Pokud bude syntaxe bez upřesnění, převezmou ji za svojí všichni hráči, co z per čtou.
 
Příklad :
 
(defrule
   (player-number 2)
=>
   (build mill)
)
 
(defrule
   (player-number 2)
   (unit-type-count villager < 5)
=>
   (train villager)
)
 
(defrule
   (player-number 3)
   (building-type-count barracks == 0)
=>
   (build barracks)
)

 

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

Bod 4) - Externí PER:


Ve složce AI si vytvořte 3 soubory:
 
   AA.ai
   AA.per
   AA2.per
 
AA2 nám poslouží jako externí per.
 
Do AA.per zkopírujte toto:
 
(load "AA2")
 
(defrule
   (unit-type-count villager < pocet_vesnicanu)
   (can-train villager)
=>
   (train villager)
)
 
(defrule
   (building-type-count house < domy)
   (can-build house)
=>
   (build house)
)

Jak vidíte použil jsem místo čísel slova, ale nikde jsem neurčil jaké hodnoty zastupují. K tomu jsem použil příkaz "LOAD", který do tohoto zápisu nahraje syntaxe z externího per.
 
Do AA2 zkopírujte tento kód:
 
(defconst pocet_vesnicanu 8)
(defconst domy 1)

 
Celkem jednoduché ne?
Vyzkoušet můžete v náhodné hře.
 

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

Bod 5) - Přiřazený PER:

V podstatě vše co jsme dělali do teď... : )
Bez upřesnění pomocí podmínky PLAYER.
 

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

*UI - Umělá inteligence

^ >

Copyright © 2006 - Autoři