-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaicontroller.html
158 lines (153 loc) · 11.1 KB
/
aicontroller.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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head lang="en">
<title>UnrealWiki: AIController</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=AIController; 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=AIController">AIController</a></h1>
<div class="wiki"><div class="classpath"><img src="shared//gameicons/icon-ut2003.png"> <a href="unreal-tournament-2003.html">UT2003</a> :: <a href="actor.html">Actor</a> >> <a href="controller.html">Controller</a> >> AIController<br></div>
<p>This is the parent class of all AI-based <a href="controller.html">controller</a>s.</p>
<h2><a name="0.1"></a>Properties</h2>
<dl><dt>bool bHunting</dt><dd>This is true if the controlled <a href="pawn.html">pawn</a> is hunting another <a href="pawn.html">pawn</a>.</dd><dt>bool bAdjustFromWalls</dt><dd>Auto-adjust around corners, with no hitwall notification for <a href="controller.html">controller</a> or <a href="pawn.html">pawn</a> (???)</dd><dt><a href="aiscript.html">AIScript</a> MyScript</dt><dd>The AIScript that controls this AIController.</dd><dt>float Skill</dt><dd>The skill of the AI. Generally, from 0 to 7.</dd></dl>
<h2><a name="0.2"></a>Functions</h2>
<dl><dt>WaitToSeeEnemy() (native, final, latent)</dt><dd>Returns when the <a href="pawn.html">pawn</a> is looking directly at a visible enemy.</dd><dt>bool WeaponFireAgain( float RefireRate, bool bFinishedFire )</dt><dd>Called by <a href="weapon.html">Weapon</a>. Returns true if the weapon should fire.</dd><dt>bool TriggerScript( <a href="actor.html">Actor</a> Other, <a href="pawn.html">Pawn</a> EventInstigator )</dt><dd>Any trigger is sent to this function, which in turn triggers MyScript if it exists.</dd><dt>DisplayDebug( <a href="canvas.html">Canvas</a> Canvas, out float YL, out float YPos )</dt><dd>If the "showdebug" console command is on, this is called to display debug information on the screen.</dd><dt>float AdjustDesireFor( <a href="pickup.html">Pickup</a> P )</dt><dd>In subclasses, returns a float indicating how much the AI wants the <a href="pickup.html">Pickup</a> P. In this class, it always returns 0.</dd><dt>int GetFacingDirection()</dt><dd>Returns direction faced relative to movement dir, where 0 = forward, 16384 = right, 32768 = back, and 49152 = left</dd><dt>AdjustView( float DeltaTime )</dt><dd>Called if Controller's pawn is the viewtarget of a player</dd><dt>SetOrders( name NewOrders, <a href="controller.html">Controller</a> OrderGiver )</dt><dd></dd><dt>Actor GetOrderObject()</dt><dd></dd><dt>name GetOrders()</dt><dd>In subclasses, sets and gets info about the AI's orders, but in this class they don't do anything.</dd><dt>WaitForMover( <a href="mover.html">Mover</a> M )</dt><dd>Sets up the AI to wait for Mover M to tell the AI that it has completed its move. Sets PendingMover.</dd><dt>MoverFinished()</dt><dd>Called by Mover when it finishes a move, and this pawn has the mover set as its PendingMover.</dd><dt>UnderLift( <a href="mover.html">Mover</a> M )</dt><dd>Called by mover when it hits a pawn with that mover as its pendingmover while moving to its destination.</dd><dt>bool PriorityObjective()</dt><dd>This always returns false here.</dd><dt>Startle( <a href="actor.html">Actor</a> A )</dt><dd>"Startles" the AI. Basically, this is a message to the AI to stop everything and re-evaluate its situation as soon as possible. Something calls this when the AI absolutely needs to know about it RIGHT NOW. The Actor A being the cause of the startle.</dd></dl>
<h2><a name="0.3"></a>Events</h2>
<dl><dt>PrepareForMove( <a href="navigationpoint.html">NavigationPoint</a> Goal, <a href="reachspec.html">ReachSpec</a> Path )</dt><dd>Called if the reachspec doesn't support the pawn's current configuration. The code should tell the Pawn what to do to deal with it (e.g. crouch). It's implemented in subclasses; here it doesn't do anything.</dd></dl>
<h2><a name="0.4"></a>Known Subclasses</h2>
<pre class="paraverbatim"> AIController
+- <a href="scriptedcontroller.html">ScriptedController</a>
| +- <a href="bot.html">Bot</a>
| | +- <a href="xbot.html">xBot</a>
| | +- InvasionBot<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=InvasionBot&referrerid=AIController">?</a> (Epic Bonuspack & UT2004)
| +- <a href="monstercontroller.html">MonsterController</a> (Epic Bonuspack & UT2004)
| +- ScriptedTriggerController<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=ScriptedTriggerController&referrerid=AIController">?</a>
+- TurretController<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=TurretController&referrerid=AIController">?</a> (UT2004)
+- LinkTurretController<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=LinkTurretController&referrerid=AIController">?</a>
+- ONSTurretController<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=ONSTurretController&referrerid=AIController">?</a>
+- SentinelController<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=SentinelController&referrerid=AIController">?</a>
+- ASSentinelController<a href="http://wiki.beyondunreal.com/wiki?action=edit&id=ASSentinelController&referrerid=AIController">?</a></pre><h2><a name="0.5"></a>Relevant Links</h2>
<ul><li><a href="aiscript.html">AIScript</a></li>
<li><a href="ai-scripting-reference.html">AI Scripting Reference</a></li>
<li><a href="controller-overview.html">Controller Overview</a></li>
<li><a href="playercontroller.html">PlayerController</a> – Controllers for player characters</li>
</ul>
<h2><a name="0.6"></a>Discussion</h2>
<p><em class="em2">SuperApe:</em> Updated known subclasses.</p>
<hr class="thin"><p><a href="category-class-ut2003.html">Category Class (UT2003)</a></p>
<script type="text/javascript"><!--
menuItemAdd("Properties", "#0.1");
menuItemAdd("Functions", "#0.2");
menuItemAdd("Events", "#0.3");
menuItemAdd("Known Subclasses", "#0.4");
menuItemAdd("Relevant Links", "#0.5");
menuItemAdd("Discussion", "#0.6");
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=AIController">Edit text of this page</a> | <a href="http://wiki.beyondunreal.com/wiki?action=history&id=AIController">View other revisions</a><br>Last edited December 7, 2005 17:43 <a href="http://wiki.beyondunreal.com/wiki?action=browse&diff=1&id=AIController">(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/AIController">Original page</a> – copy created Sat, Jun 23, 2007</small><div></div>
</form>
</p>
<p>I love the smell of UnrealEd crashing in the morning. (tarquin)</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>