1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
--
-- Example AIOptions.lua
--
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Custom Options Definition Table format
--
-- NOTES:
-- - using an enumerated table lets you specify the options order
--
-- These keywords must be lowercase for LuaParser to read them.
--
-- key: the string used in the script.txt
-- name: the displayed name
-- desc: the description (could be used as a tooltip)
-- type: the option type (bool|number|string|list|section)
-- section: can be used to group this option with others (optional)
-- def: the default value
-- min: minimum value for type=number options
-- max: maximum value for type=number options
-- step: quantization step, aligned to the def value
-- maxlen: the maximum string length for type=string options
-- items: array of item strings for type=list options
-- scope: 'all', 'player', 'team', 'allyteam' <<< not supported yet >>>
--
-- This is an example file, show-casting all the possibilities of this format.
-- It contains one example for option types bool, string and list, and two
-- for number and section.
--
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
local options = {
{ -- section
key = 'cheats',
name = 'Cheats',
desc = 'Fine-Grained settings specifying which kind of cheats \nthe AI is allowed to use.',
type = 'section',
},
{ -- section
key = 'performance',
name = 'Performance Relevant Settings',
desc = 'These settings may be relevant for both CPU usage and AI difficulty.',
type = 'section',
},
{ -- list
key = 'aggressiveness',
name = 'Level Of Aggressivity',
desc = 'How aggressive the AI should act.\nkey: aggressiveness',
type = 'list',
section = 'performance',
def = 'normal',
items = {
{
key = 'deffensive',
name = 'Deffensive',
desc = 'The AI will hardly ever attack.',
},
{
key = 'normal',
name = 'Normal',
desc = 'The AI will try to keep a balance between defensive and aggressive play styles.',
},
{
key = 'aggressive',
name = 'Aggressive',
desc = 'The AI will put most of its resources into building attack forces.',
},
},
},
{ -- number (decimal)
key = 'maxgroupsize',
name = 'Max Group Size',
desc = 'Maximum number of units per group, which the AI tries to keep together.\nkey: maxgroupsize',
type = 'number',
section = 'performance',
def = 10,
min = 2,
max = 50,
step = 1.0,
},
{ -- number (float)
key = 'resourcebonous',
name = 'Resource Bonous',
desc = 'The AI will get 1+[this-value] times as muhc resources as a normal player.\nkey: resourcebonous',
type = 'number',
section = 'cheats',
def = 0.0,
min = 0.0,
max = 20.0,
-- quantization is aligned to the def value
-- (step <= 0) -> there is no quantization
step = 0.1,
},
{ -- bool
key = 'maphack',
name = 'Map Hack',
desc = 'Whether the AI can see everything on the map, always, or is bount to LOS & Radar usage.\nkey: maphack',
type = 'bool',
section = 'cheats',
def = false,
},
{ -- string
key = 'reporturl',
name = 'Report URL',
desc = 'Statistics and learning data will be sent ot this URL every 5 minutes.\nkey: reporturl',
type = 'string',
def = 'http://myAIStats.myDomain.com/statsReceiver.cgi',
},
}
return options
|