-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathai-scripting.html
144 lines (139 loc) · 8.21 KB
/
ai-scripting.html
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
124
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head lang="en">
<title>UnrealWiki: AI Scripting</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" media="screen, print"
href="shared/stylebase.structural.css">
<link rel="stylesheet" type="text/css" media="screen"
href="shared/template-default.css">
<link rel="stylesheet" type="text/css" media="screen"
href="shared/styles.chblue.css">
<link rel="stylesheet" type="text/css" media="print"
href="shared/template-default-print.css">
<!--[if IE 6]>
<style>
/* dirty hack for IE6. */
#quickbar {
position: absolute;
}
</style>
<![endif]-->
<link rel="start" href="http://wiki.beyondunreal.com/">
<link rel="glossary" href="http://wiki.beyondunreal.com/wiki/Terminology">
<link rel="help" href="http://wiki.beyondunreal.com/wiki/Using_The_Wiki">
<script type="text/javascript" src="shared/dhtml.js"></script>
<script type="text/javascript" src="shared/dhtml-menu.js"></script>
<style type="text/css">#dhtml-menu { background: #eee; padding: 5px 0px; margin-right: -20px; border: 1px solid #888; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #888; border-bottom: 1px solid #888 }
#dhtml-menu td { color: #000; font-family: Arial,Helvetica,sans-serif; font-size: 9pt; line-height: 13pt; padding: 1px 10px; cursor: default }
#dhtml-menu a { color: #000; font-family: Arial,Helvetica,sans-serif; font-size: 9pt; line-height: 13pt; text-decoration: none }
#dhtml-menu tt { font-family: monospace; font-size: 9pt }
#dhtml-menu-separator { height: 1px; background: red }
#dhtml-menu-anchor { cursor: default }
</style>
<script type="text/javascript" src="shared/expandable.js"></script>
</head>
<body onLoad="menuInit(); document.cookie='page=AI_Scripting; path=/'" class="default">
<div id="scrolling"><!-- contains all except the fixed sidebar -->
<div id="topbar" class="bar">
<div class="righthalf">
<form class="inline" method="post" action="/wiki" enctype="application/x-www-form-urlencoded"><input type="text" name="search" size="20" /> <input type="submit" name="search" value="search" /></form>
</div>
<div class="lefthalf">
<script type="text/javascript"><!--
menuAlignRight = false;
//--></script>
<span><script type="text/javascript"><!--
menuWriteAnchor("Quick Navigation") //--></script></span> | <a href="(start).html">Home Page</a> | <a href="recent-changes.html">Recent Changes</a> | <a href="http://wiki.beyondunreal.com/wiki?action=editprefs">Preferences</a>
</div>
</div>
<div id="content"><!-- contains the title and article -->
<h1 class='pagetitle'><a href="http://wiki.beyondunreal.com/wiki?back=AI Scripting">AI Scripting</a></h1>
<div class="wiki"><p><em class="em2">AI Scripting</em> allows enemies (and friends) to be controlled via external .<a href="ucs-file.html">ucs file</a>s that can be changed without map rebuilding. Almost every important NPC (non player character) in Unreal II has a long and detailed script behind it controlling its behavious and actions under various conditions. Note that .<a href="ucs-file.html">ucs file</a>s can only be attached to pawns which are subclassed from U2NPCControllerScriptable<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=U2NPCControllerScriptable&referrerid=AI_Scripting">?</a>.</p>
<p>Likewise, any custom scripting meant to control bots in UT2003/UT2004 is done via AI Scripting.</p>
<h2><a name="0.1"></a>Classes</h2>
<p>The following classes and subclasses thereof are involved in the UT2003/UT2004 bot support AI:</p>
<dl><dt><a href="teamai.html">TeamAI</a></dt><dd>Creates squads, assigns bots to them and changes the objectives of squads based on the objectives of the <a href="gametype.html">gametype</a>.</dd><dt><a href="squadai.html">SquadAI</a></dt><dd>Team of bots following a Squad Leader.</dd><dt><a href="bot.html">Bot</a></dt><dd>Low-level bot behavior (navigation, combat, inventory acquisition).</dd></dl>
<p>Certain game objects have to tell bots what to do with them:</p>
<dl><dt><a href="gameobjective.html">GameObjective</a></dt><dd>Immobile (though possibly destructible) markers for relevant places in a map: CTF flag bases, Bombing Run bomb spawn points, goal hoops, Domination control points and so on.</dd><dt><a href="weapon.html">Weapon</a></dt><dd>Weapon inventory items.</dd><dt><a href="navigationpoint.html">NavigationPoint</a></dt><dd>Various NavigationPoints, like <a href="door.html">Door</a>, <a href="liftexit.html">LiftExit</a>, etc., have code or critical properties that work with other bot support actors.</dd></dl>
<h2><a name="0.2"></a>Related Topics</h2>
<ul><li><a href="scriptedpawn.html">ScriptedPawn</a></li>
<li><a href="ai-scripting-reference.html">AI Scripting Reference</a></li>
<li><a href="artificial-intelligence.html">Artificial Intelligence</a> – A super topic for all AI (bots, monsters, NPCs, etc)</li>
<li><a href="bot-vision.html">Bot Vision</a> – Modding unreal bots</li>
<li><a href="basic-ai-scripting-tutorial.html">Basic AI Scripting Tutorial</a></li>
</ul>
<h2><a name="0.3"></a>Discussion</h2>
<p><em class="em2">SuperApe:</em> Classes related to bot support moved here, as it relates more closely to AIScripting and does not relate to stock bot suppot methods.</p>
<hr class="thin"><p><a href="category-mapping.html">Category Mapping</a></p>
<script type="text/javascript"><!--
menuItemAdd("Classes", "#0.1");
menuItemAdd("Related Topics", "#0.2");
menuItemAdd("Discussion", "#0.3");
menuWrite() //--></script></div>
</div>
<div id="footer" class="bar">
<p><form method="post" action="http://wiki.beyondunreal.com/wiki" enctype="application/x-www-form-urlencoded">
<a href="(start).html">Home Page</a> | <a href="recent-changes.html">Recent Changes</a> | <a href="http://wiki.beyondunreal.com/wiki?action=editprefs">Preferences</a><br>
<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=AI_Scripting">Edit text of this page</a> | <a href="http://wiki.beyondunreal.com/wiki?action=history&id=AI_Scripting">View other revisions</a><br>Last edited June 22, 2007 19:21 <a href="http://wiki.beyondunreal.com/wiki?action=browse&diff=1&id=AI_Scripting">(diff)</a><br>Search: <input type="text" name="search" size="20" /><input type="hidden" name="dosearch" value="1" /><br><br><small><a href="http://wiki.beyondunreal.com/wiki/AI_Scripting">Original page</a> – copy created Sat, Jun 23, 2007</small><div></div>
</form>
</p>
<p>The three virtues of a programmer: Laziness, Impatience, and Hubris. (Larry Wall)
</p>
</div>
</div><!-- close of "scrolling" div -->
<div id="quickbar">
<div id="logo"><a href="http://wiki.beyondunreal.com/"><img src="shared/wikilogo.jpg" width="143" height="100" border="0"></a>
</div>
<div class="qbsitename">
<p>The Unreal Engine Documentation Site</p>
</div>
<div class="qbsection">
<p><a href="metatopics.html">Wiki Community</a></p>
<p><a href="category-category.html">Topic Categories</a></p>
<p><a href="/cgi-bin/imageupload.cgi/wiki-ext/imageupload.htt" target="_blank ">Image Uploads</a></p>
<p><a href="http://wiki.beyondunreal.com/wiki?action=random">Random Page</a></p>
<p><a href="recent-changes.html">Recent Changes</a></p>
<p><a href="offline-wiki.html">Offline Wiki</a></p>
</div><div class="qbsection">
<p><a href="unreal-engine.html">Unreal Engine</a></p>
<p><a href="console-commands.html">Console Commands</a></p>
<p><a href="terminology.html">Terminology</a></p>
<p><a href="category-faq.html">FAQs</a></p>
<p><a href="help-desk.html">Help Desk</a></p>
</div><div class="qbsection">
<p><a href="topics-on-mapping.html">Mapping Topics</a></p>
<p><a href="mapping-lessons.html">Mapping Lessons</a></p>
<p><a href="unrealed-3.html">UnrealEd Interface</a></p>
</div><div class="qbsection">
<p><a href="unrealscript.html">UnrealScript Topics</a></p>
<p><a href="unrealscript-lessons.html">UnrealScript Lessons</a></p>
<p><a href="making-mods.html">Making Mods</a></p>
<p><a href="class-tree.html">Class Tree</a></p>
</div><div class="qbsection">
<p><a href="topics-on-modeling.html">Modeling Topics</a></p>
</div><div class="qbsection">
<p><a href="chongqing-page.html">Chongqing Page</a></p>
<p><a href="log-in.html">Log In</a></p></div>
</div>
</body></html>