Age of Empires II: Definitive Edition

Age of Empires II: Definitive Edition

Ver estadísticas:
Mr. Greenways 8 OCT 2021 a las 12:33
AI scripting
Hi, I am currently scripting an AI for Aoe2. One thing I noticed about my AI that it does only build 1 building at the same time.

How do I make the AI build more buildings at the same time?
Publicado originalmente por SpoOkyMagician:
You will need to use the following:

(defrule
(true)
=>
(set-strategic-number sn-enable-new-building-system 1)
(disable-self)
)

(defrule
(can-build BUILDING)
(building-type-count-total BUILDING < NUMBER-OF-BUILDINGS-YOU-WANT-TO-BUILD)
(up-pending-objects c: BUILDING < NUMBER-OF-BUILDINGS-YOU-WANT-TO-BUILD)
=>
(build BUILDING)
)

Replace these as needed.

BUILDING (The Building ID.)
NUMBER-OF-BUILDINGS-YOU-WANT-TO-BUILD (Any Number you want. Note that you need that number of villagers before it will actually work correctly though.)

Edit: Also, you can assign how many builders to foundations like this:

(defrule
(true)
=>
(up-assign-builders c: farm c: 1)
(up-assign-builders c: house c: 1)
(up-assign-builders c: town-center-foundation c: 3)
(up-assign-builders c: mill c: 1)
(up-assign-builders c: mining-camp c: 1)
(up-assign-builders c: lumber-camp c: 1)
(up-assign-builders c: dock c: 1)
(up-assign-builders c: barracks c: 1)
(up-assign-builders c: archery-range c: 1)
(up-assign-builders c: stable c: 1)
(up-assign-builders c: blacksmith c: 1)
(up-assign-builders c: market c: 1)
(up-assign-builders c: stone-wall-line c: 1)
(up-assign-builders c: watch-tower c: 1)
(up-assign-builders c: guard-tower c: 1)
(up-assign-builders c: keep c: 1)
(up-assign-builders c: donjon c: 1)
(up-assign-builders c: gate c: 1)
(up-assign-builders c: monastery c: 1)
(up-assign-builders c: university c: 1)
(up-assign-builders c: siege-workshop c: 1)
(up-assign-builders c: castle c: 10)
(up-assign-builders c: krepost c: 5)
(up-assign-builders c: bombard-tower c: 1)
(up-assign-builders c: feitoria c: 5)
(up-assign-builders c: wonder c: 100)
(disable-self)
)
< >
Mostrando 1-6 de 6 comentarios
djmas314 5 NOV 2021 a las 3:03 
Need to add scripts to the AI file. Look at an example below:


(defrule
(current-age == dark-age)
(building-type-count-total barracks < 1)
(can-build barracks)
=>
(build barracks)
)

The more rules the more buldings.
Mr. Greenways 5 NOV 2021 a las 3:11 
Thanks for the answer.

Yes I know the above.

The problem I am encountering is that it starts to build 1 building and waits for it to finish before starting another one.
Última edición por Mr. Greenways; 5 NOV 2021 a las 3:12
El autor de este hilo ha indicado que este mensaje responde al tema original.
SpoOkyMagician 12 NOV 2021 a las 16:05 
You will need to use the following:

(defrule
(true)
=>
(set-strategic-number sn-enable-new-building-system 1)
(disable-self)
)

(defrule
(can-build BUILDING)
(building-type-count-total BUILDING < NUMBER-OF-BUILDINGS-YOU-WANT-TO-BUILD)
(up-pending-objects c: BUILDING < NUMBER-OF-BUILDINGS-YOU-WANT-TO-BUILD)
=>
(build BUILDING)
)

Replace these as needed.

BUILDING (The Building ID.)
NUMBER-OF-BUILDINGS-YOU-WANT-TO-BUILD (Any Number you want. Note that you need that number of villagers before it will actually work correctly though.)

Edit: Also, you can assign how many builders to foundations like this:

(defrule
(true)
=>
(up-assign-builders c: farm c: 1)
(up-assign-builders c: house c: 1)
(up-assign-builders c: town-center-foundation c: 3)
(up-assign-builders c: mill c: 1)
(up-assign-builders c: mining-camp c: 1)
(up-assign-builders c: lumber-camp c: 1)
(up-assign-builders c: dock c: 1)
(up-assign-builders c: barracks c: 1)
(up-assign-builders c: archery-range c: 1)
(up-assign-builders c: stable c: 1)
(up-assign-builders c: blacksmith c: 1)
(up-assign-builders c: market c: 1)
(up-assign-builders c: stone-wall-line c: 1)
(up-assign-builders c: watch-tower c: 1)
(up-assign-builders c: guard-tower c: 1)
(up-assign-builders c: keep c: 1)
(up-assign-builders c: donjon c: 1)
(up-assign-builders c: gate c: 1)
(up-assign-builders c: monastery c: 1)
(up-assign-builders c: university c: 1)
(up-assign-builders c: siege-workshop c: 1)
(up-assign-builders c: castle c: 10)
(up-assign-builders c: krepost c: 5)
(up-assign-builders c: bombard-tower c: 1)
(up-assign-builders c: feitoria c: 5)
(up-assign-builders c: wonder c: 100)
(disable-self)
)
Última edición por SpoOkyMagician; 12 NOV 2021 a las 16:10
Mr. Greenways 12 NOV 2021 a las 23:47 
Hi SpoOkyMagician,

Thanks! I will try it out this weekend :)
Mr. Greenways 14 NOV 2021 a las 7:08 
Hey SpoOkyMagician,

I tried it out and it works! Thanks :) They now place more foundations in quick succession.
Última edición por Mr. Greenways; 14 NOV 2021 a las 7:19
SpoOkyMagician 14 NOV 2021 a las 15:25 
No Problem. :)
< >
Mostrando 1-6 de 6 comentarios
Por página: 1530 50