- Joined
- Jul 18, 2005
- Messages
- 320
This tutorial is about the different parts of the .wai AI editor, how to configure conditions, the condition explaination. and also it will give a explaination about the functions. (How I'm going to write it is by the left)
How to configure conditions
To configure conditions right click where you want to configure it and bam there the option!
The Conditions
Well this part is currently being written so all things might not be there
Base Conditions
Boolean Condition: Condtion then ture or flase. Similar to the Trigger Editor one.
Integer Condition: Condition then the amount. Similar to the Trigger Editor one.
And Condition: Condition 1 and Condition 2. Both required to activate the string assigned to. Similar to the Trigger Editor one.
Or Condition: Condition 1 or Condition 2. Any required to activate the string assigned to. Similar to the Trigger Editor one.
Boolean Condition Triggers
Most of these are pretty straight forward only the ones that are tricky I'll give an explaination for.
Preset - Current game is single player
Hero - Attack Captian is at Home: It means that the leader of an attack group is at base.
Hero - Attack Captian is Retreating
Hero - Attack Captian is at Goal
Hero - Attack Group is Complete
Hero - Attack Group is Empty
Hero - Captian is in Combat: Any captian (Attack or Defense) is in combat.
Misc - Creeps exist anywhere
Town - Town is under attack
Town - Town has mine: You have to put down the town number not an other trigger.
Town - Town has Hall: You have to put down the town number not an other trigger.
Town - Expansion Spot Needed
Integer Condition Triggers
Most of these are pretty straight forward only the ones that are tricky I'll give an explaination for.
Preset - Maxium number of inventory slots (6)
Preset - Maxium number of players (12)
Preset - Maxium number of player slots(16)
Arithmetric: Okay this is the combonation Integer Trigger and operator (+,-,x,/) and an other Integer Trigger. Simlilar to the Trigger editor one.
Note that Commands are sent from the trigger editor
Commands - Commands Waiting
Commands - Last command sent: You can either remove or leave the last sent command.
Commands - Last command data: You can either remove or leave the last sent command data.
Hero -Attack Group Size
Hero - Attack Group Health Level
Hero - Attack Group Mana Level
Misc - Current Attack Wave
Misc - Melee Diffuculty Level
Resources - Current Gold Amount
Resources - Current Lumber Amount
Resources - Total unmined Gold Owned
Resources - Food used
Resources - Food Produced
Resources - Food Produced by unit type: The unit must produe food.
Town - Number of Mines owned
Town - Town with Mine: Using Town id.
Town - Next expansion town: Using Town id.
Unit - Total units of type:Owns an certian amount of an unit type.
Unit - Total units of type - Completed Only: Owns an certian amount of an unit type completed.
Unit - Total units of type - By Town: Owns an certian amount of an unit type completed or uncompleted in an town.
Unit - Gold cost of Unit Type
Unit - Lumber Cost of Unit Type
Unit - Build time of Unit
Upgrade - Current Upgrade level
Upgrade - Gold cost of upgrade
Upgrade - Lumber cost of upgrade
The First Page
On the first page there will be a AI name, race selector, behaviors, import custom data, and where to add conditions.
Name:This sets the name of your AI. (Check the box "Set Player Name" for this to work if your map has fixed player names.)
Races: You can pick between Human, Orc, Undead and Night Elf. If you are using an custom race there is an Custom option for that. (For Custom import your Object Data from your map.)
Behaviors: These are the Behaviors.
Set Player Name: This shows the name of your AI even if it has a set player name on the map.
Melee: This states if it is an melee AI.
Defend Users: The AI will protect other players if they are attacked.
Random Paths: The AI will pick paths in a more random fashon.
Target Heroes: The AI will target enemy heroes more.
Repair Structures: The AI will repair strcutures.
Heroes Flee: The AI will retreat its hero if they are in a crictical condition.
Units Flee: The AI will retreat its units if they are in a crictical condition.
Groups Flee: The AI will retreat attacking groups if their are in a disadvantage.
Have no Mercy: The AI will attack if the enemy has weaken units or at a disadvantage.
Ignore Injured: The AI will ignore units under 50% when assembling attack forces.
Remove Injuries: The AI will send injured units back to base or somewhere where it could heal.
Take Items: Heroes will pick up useful items.
Buy Items: Heroes will buy useful items.
Slow Harvesting: Workers will harvest 1 gold or 1 lumber depending on their mining type.
Allow Home Changes: The AI will pick new locations for an home base and retreating locations.
Smart Artillery: The Ai siege units will seige enemy bases when possible.
Custom Object Data Import/Export: This option allows you to Import and Export custom object data. The file type is .w3o.
Conditions: This allows you to create conditions for building orders and attacking groups. It alsos allows you to edit and delete them as well.
The Second Page
This allows you to pick the heroes that your AI uses, the chance of getting them, and skill seletion.
Hero Selection: Allows you to pick the heroes your hero uses.
Chances: The many combinations of the hero order compiled into chances. There are 6 chances for different hero orders.
Skill Selection: The skill selection order for your hero. This allows you to select what skills they learn.
The Thrid Page
This page allows you to pick what is their town hall, thier mine building, harvesters, building order, and harvest priorities
Town Hall, Mine building, Harvesters: This allows you to pick thier Town Hall, Mine Building, and Harvesters.
Building Order: The order of construction of your AI. Conditions are used here. The first building should be your town hall then your starting units.
Harvest Priorities: These Prioirities is how much harvesters are to mine in its Towns.
The Fourth Page
This page allows you to add attack groups, order attack waves, and target priorities.
Attack Groups: This allows you to order the attack groups of the AI allowing you to order thier conditions and how much they send of each unit.
Attack Waves: This makes the Attack Groups to be ordered in waves with a delay time, to add multiple waves of the same group add it again. Also it allows you to pick its minium forces, delay time before the first wave and repeat the attack wave.
Attack Priorities: These priorities will order the AI which in want to do the top one will be its first priority, conditions will also be configued and minium units and maxium units to be used as well top enable flyers to join.
The Last Page
Lastly this page where you can observe your AI but if it has custom object data this cannot be done since it was designed for Melee AI observing.
Game Speed: Adjusts the game speed for observing your AI.
Game Options: Allows you to disable fog of war and victory/defeat conditions.
Map File: Sets the melee map for testing.
Players: Sets the User (you) as an observer or you can play against your AI, at least 1 computer player must use your AI for testing if you want to see if you done everything correctly.
Now I hope you got an better understanding of the .wai editor!'
Other AI editing links
Might help for those interested in triggering an AI via triggers, more advance detailed guide on the AI Editor or editing the .ai file directly.
http://wc3campaigns.net/showthread.php?t=79638 (Arena: Trigger AI)
http://wc3campaigns.net/showthread.php?t=87999 (Campaign AI)
http://wc3campaigns.net/showthread.php?t=89199 (AI Editor)
http://wc3campaigns.net/showthread.php?t=92915 (Incomplete but still good, AI Editor)
-Av3n
How to configure conditions
To configure conditions right click where you want to configure it and bam there the option!
The Conditions
Well this part is currently being written so all things might not be there
Base Conditions
Boolean Condition: Condtion then ture or flase. Similar to the Trigger Editor one.
Integer Condition: Condition then the amount. Similar to the Trigger Editor one.
And Condition: Condition 1 and Condition 2. Both required to activate the string assigned to. Similar to the Trigger Editor one.
Or Condition: Condition 1 or Condition 2. Any required to activate the string assigned to. Similar to the Trigger Editor one.
Boolean Condition Triggers
Most of these are pretty straight forward only the ones that are tricky I'll give an explaination for.
Preset - Current game is single player
Hero - Attack Captian is at Home: It means that the leader of an attack group is at base.
Hero - Attack Captian is Retreating
Hero - Attack Captian is at Goal
Hero - Attack Group is Complete
Hero - Attack Group is Empty
Hero - Captian is in Combat: Any captian (Attack or Defense) is in combat.
Misc - Creeps exist anywhere
Town - Town is under attack
Town - Town has mine: You have to put down the town number not an other trigger.
Town - Town has Hall: You have to put down the town number not an other trigger.
Town - Expansion Spot Needed
Integer Condition Triggers
Most of these are pretty straight forward only the ones that are tricky I'll give an explaination for.
Preset - Maxium number of inventory slots (6)
Preset - Maxium number of players (12)
Preset - Maxium number of player slots(16)
Arithmetric: Okay this is the combonation Integer Trigger and operator (+,-,x,/) and an other Integer Trigger. Simlilar to the Trigger editor one.
Note that Commands are sent from the trigger editor
Commands - Commands Waiting
Commands - Last command sent: You can either remove or leave the last sent command.
Commands - Last command data: You can either remove or leave the last sent command data.
Hero -Attack Group Size
Hero - Attack Group Health Level
Hero - Attack Group Mana Level
Misc - Current Attack Wave
Misc - Melee Diffuculty Level
Resources - Current Gold Amount
Resources - Current Lumber Amount
Resources - Total unmined Gold Owned
Resources - Food used
Resources - Food Produced
Resources - Food Produced by unit type: The unit must produe food.
Town - Number of Mines owned
Town - Town with Mine: Using Town id.
Town - Next expansion town: Using Town id.
Unit - Total units of type:Owns an certian amount of an unit type.
Unit - Total units of type - Completed Only: Owns an certian amount of an unit type completed.
Unit - Total units of type - By Town: Owns an certian amount of an unit type completed or uncompleted in an town.
Unit - Gold cost of Unit Type
Unit - Lumber Cost of Unit Type
Unit - Build time of Unit
Upgrade - Current Upgrade level
Upgrade - Gold cost of upgrade
Upgrade - Lumber cost of upgrade
The First Page
On the first page there will be a AI name, race selector, behaviors, import custom data, and where to add conditions.
Name:This sets the name of your AI. (Check the box "Set Player Name" for this to work if your map has fixed player names.)
Races: You can pick between Human, Orc, Undead and Night Elf. If you are using an custom race there is an Custom option for that. (For Custom import your Object Data from your map.)
Behaviors: These are the Behaviors.
Set Player Name: This shows the name of your AI even if it has a set player name on the map.
Melee: This states if it is an melee AI.
Defend Users: The AI will protect other players if they are attacked.
Random Paths: The AI will pick paths in a more random fashon.
Target Heroes: The AI will target enemy heroes more.
Repair Structures: The AI will repair strcutures.
Heroes Flee: The AI will retreat its hero if they are in a crictical condition.
Units Flee: The AI will retreat its units if they are in a crictical condition.
Groups Flee: The AI will retreat attacking groups if their are in a disadvantage.
Have no Mercy: The AI will attack if the enemy has weaken units or at a disadvantage.
Ignore Injured: The AI will ignore units under 50% when assembling attack forces.
Remove Injuries: The AI will send injured units back to base or somewhere where it could heal.
Take Items: Heroes will pick up useful items.
Buy Items: Heroes will buy useful items.
Slow Harvesting: Workers will harvest 1 gold or 1 lumber depending on their mining type.
Allow Home Changes: The AI will pick new locations for an home base and retreating locations.
Smart Artillery: The Ai siege units will seige enemy bases when possible.
Custom Object Data Import/Export: This option allows you to Import and Export custom object data. The file type is .w3o.
Conditions: This allows you to create conditions for building orders and attacking groups. It alsos allows you to edit and delete them as well.
The Second Page
This allows you to pick the heroes that your AI uses, the chance of getting them, and skill seletion.
Hero Selection: Allows you to pick the heroes your hero uses.
Chances: The many combinations of the hero order compiled into chances. There are 6 chances for different hero orders.
Skill Selection: The skill selection order for your hero. This allows you to select what skills they learn.
The Thrid Page
This page allows you to pick what is their town hall, thier mine building, harvesters, building order, and harvest priorities
Town Hall, Mine building, Harvesters: This allows you to pick thier Town Hall, Mine Building, and Harvesters.
Building Order: The order of construction of your AI. Conditions are used here. The first building should be your town hall then your starting units.
Harvest Priorities: These Prioirities is how much harvesters are to mine in its Towns.
The Fourth Page
This page allows you to add attack groups, order attack waves, and target priorities.
Attack Groups: This allows you to order the attack groups of the AI allowing you to order thier conditions and how much they send of each unit.
Attack Waves: This makes the Attack Groups to be ordered in waves with a delay time, to add multiple waves of the same group add it again. Also it allows you to pick its minium forces, delay time before the first wave and repeat the attack wave.
Attack Priorities: These priorities will order the AI which in want to do the top one will be its first priority, conditions will also be configued and minium units and maxium units to be used as well top enable flyers to join.
The Last Page
Lastly this page where you can observe your AI but if it has custom object data this cannot be done since it was designed for Melee AI observing.
Game Speed: Adjusts the game speed for observing your AI.
Game Options: Allows you to disable fog of war and victory/defeat conditions.
Map File: Sets the melee map for testing.
Players: Sets the User (you) as an observer or you can play against your AI, at least 1 computer player must use your AI for testing if you want to see if you done everything correctly.
Now I hope you got an better understanding of the .wai editor!'
Other AI editing links
Might help for those interested in triggering an AI via triggers, more advance detailed guide on the AI Editor or editing the .ai file directly.
http://wc3campaigns.net/showthread.php?t=79638 (Arena: Trigger AI)
http://wc3campaigns.net/showthread.php?t=87999 (Campaign AI)
http://wc3campaigns.net/showthread.php?t=89199 (AI Editor)
http://wc3campaigns.net/showthread.php?t=92915 (Incomplete but still good, AI Editor)
-Av3n
Last edited: