From: <Mit Windows Internet Explorer 8 gespeichert>
Subject: =?Windows-1252?Q?W_O_D=A0=A0_-=A0=A0_U_S_c_r_i_p_t?=
Date: Sun, 18 Dec 2011 18:25:28 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_006A_01CCBDB2.6B539590"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3664

This is a multi-part message in MIME format.

------=_NextPart_000_006A_01CCBDB2.6B539590
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://hyper.dnsalias.net/infobase/archive/wod/tutorials/pix/vectors1.gif

R0lGODlhQwHBAPcAAAAAAAAIAAApAAAxAABKAABSAABjAACcAAClAAC9AADGAK3vrf//////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////ywAAAAAQwHBAEAI/gABCBxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjxgZJBipYCRJkwkUMADJsqXLlzBjumRAs6ZN
mxFPJjg48uZKmUCDCh0a06dRmkBNllQg0SfRp1CjdjxqVCpEpSM5OrXKtatGqlu9ssS6s+hNsWhf
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
t7rWt871rntdIQEBADs=

------=_NextPart_000_006A_01CCBDB2.6B539590
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_006D_01CCBDB2.6B560690"


------=_NextPart_001_006D_01CCBDB2.6B560690
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://hyper.dnsalias.net/infobase/archive/wod/tutorials/vectors.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>W O D=A0=A0 -=A0=A0 U S c r i p t</TITLE>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<SCRIPT type=3Dtext/javascript> =0A=
document.write("<"+"script type=3D'text/javascript' =
src=3D'http://wrapper.gamespy.com/a?pagetype=3Dpnh_content&size=3D728x90'=
>"); =0A=
document.write("<"+"/script>"); =0A=
</SCRIPT>
<NOSCRIPT>
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18928"></HEAD>
<BODY aLink=3D#00c000 link=3D#00c000 bgColor=3D#000000 text=3D#ffffff =
vLink=3D#00c000>
<CENTER><IFRAME height=3D90 marginHeight=3D0=20
src=3D"http://tag.admeld.com/ad/iframe/177/ign_apx/728x90/ign?t=3D1324229=
101953&amp;tz=3D-60&amp;m=3D0&amp;hu=3D&amp;ht=3Djs&amp;hp=3D0&amp;fo=3D&=
amp;url=3Dhttp%3A%2F%2Fhyper.dnsalias.net%2Finfobase%2Farchive%2Fwod%2Ftu=
torials%2Fvectors.htm&amp;refer=3Dhttp%3A%2F%2Fhyper.dnsalias.net%2Finfob=
ase%2Farchive%2Fwod%2Ftutorials%2Fswitchcase.html"=20
frameBorder=3D0 width=3D728 marginWidth=3D0 scrolling=3Dno =
BORDERCOLOR=3D"#000000"=20
valign=3D"top"> =0A=
</IFRAME></NOSCRIPT></CENTER><BR><!-- Mirrored from =
wod.planetunreal.gamespy.com/tutorials/vectors.htm by HTTrack Website =
Copier/3.x [XR&CO'2007], Wed, 26 Sep 2007 07:18:22 GMT -->
<META content=3Den-us http-equiv=3DContent-Language>
<META name=3DGENERATOR content=3D"Microsoft FrontPage 4.0">
<META name=3DProgId content=3DFrontPage.Editor.Document>
<STYLE type=3Dtext/css>BODY {
	SCROLLBAR-ARROW-COLOR: #00c000; SCROLLBAR-FACE-COLOR: #000000; =
SCROLLBAR-DARKSHADOW-COLOR: #000000; SCROLLBAR-BASE-COLOR: #00c000; =
SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #00c000; =
SCROLLBAR-TRACK-COLOR: #000000; SCROLLBAR-3DLIGHT-COLOR: #00c000
}
</STYLE>

<SCRIPT language=3Djavascript type=3Dtext/javascript>=20
<!--=20
document.write("<"+"script type=3D'text/javascript' =
src=3D'http://wrapper.gamespy.com/a?pagetype=3Dpnh_content&amp;size=3Dpre=
stitial'>");=20
document.write("<"+"/script>");=20
//-->=20
</SCRIPT>
<FONT size=3D3 face=3D"Garamond, Book Antiqua, Arial">
<TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
cols=3D1>
  <TBODY>
  <TR>
    <SCRIPT language=3Djavascript src=3D"">=0A=
</SCRIPT>
  </TR></TBODY></TABLE>
<TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
cols=3D1>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop width=3D188>
      <SCRIPT language=3Djavascript=20
      =
src=3D"http://hyper.dnsalias.net/infobase/archive/wod/tutorials/sidebar.j=
s">=0A=
</SCRIPT>
    </TD>
    <TD vAlign=3Dtop></FONT>
      <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
height=3D156>
        <TBODY>
        <TR>
          <TD height=3D40 width=3D541>
            <P><FONT size=3D2 face=3DArial><BR></FONT></P><FONT size=3D3 =

            face=3D"Garamond, Book Antiqua, Arial"><FONT color=3D#d9ffd9 =
size=3D4=20
            face=3DVerdana,Arial><BR>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"90%" cols=3D1>
              <TBODY>
              <TR>
                <TD width=3D35></TD>
                <TD vAlign=3Dtop><FONT color=3D#00c000 size=3D5 =
face=3DVerdana,Arial>
                  <P align=3Dright><U>V</U>&nbsp;&nbsp; e&nbsp;&nbsp;=20
                  c&nbsp;&nbsp; t&nbsp;&nbsp; o&nbsp;&nbsp; =
r&nbsp;&nbsp;=20
                  s<BR><FONT size=3D2>by &nbsp;&nbsp;<A=20
                  =
href=3D"mailto:windex@planetunreal.com">Windex</A></P></FONT></FONT></TD>=
</TR></TBODY></TABLE><BR><BR><!--------------  Introduction  =
-------------------------><I>I=20
            n t r o d u c t i o n</I><BR><BR>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"90%" cols=3D1>
              <TBODY>
              <TR>
                <TD width=3D35></TD>
                <TD vAlign=3Dtop><FONT size=3D2 =
face=3DVerdana,Arial>Before you get=20
                  too far into this, I should let you know that this is =
not a=20
                  tutorial for someone just starting out in =
UnrealScript. If=20
                  you're new to coding, you should check out the <A=20
                  =
href=3D"http://hyper.dnsalias.net/infobase/archive/wod/tutorials/guide.ht=
m">Beginner's=20
                  Guide to UnrealScript</A>. That ought to get you a =
good start.=20

                  <P>Alright, with that out of the way, let's get down =
to the=20
                  good stuff. Vectors are a very important part of =
UnrealScript,=20
                  since they are responsible for controlling how objects =
move in=20
                  the 3D world. If you fire a grenade from your =
Eightball gun,=20
                  its path is determined by a vector. Anything you see=20
                  <I>moving</I> in some way is most likely controlled by =
a=20
                  vector. So what <I>is</I> a vector? Keep=20
              =
reading.</FONT></P></TD></TR></TBODY></TABLE><BR><BR><!--------------  =
The Mystical Vector  -------------------------><I>T=20
            h e&nbsp;&nbsp; M y s t i c a l&nbsp;&nbsp; V e c t o =
r</I><BR><BR>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"90%" cols=3D1>
              <TBODY>
              <TR>
                <TD width=3D35></TD>
                <TD vAlign=3Dtop><FONT size=3D2 =
face=3DVerdana,Arial>Well, not=20
                  exactly mystical, but pretty damned cool, anyway. If =
you get=20
                  right down to it, a vector in UnrealScript is simply a =
struct=20
                  with three float components: X, Y, and Z. Sounds =
simple, eh?=20
                  Well, those three little numbers can do quite a bit.=20
                  <P>There are two different ways in which a vector can =
be used=20
                  in UnrealScript. First, they can represent a position =
in the=20
                  3D world. X, Y, and Z: Just a point in 3D space. =
Second, a=20
                  vector can be used to represent a <I>direction</I> and =

                  <I>speed</I>. A direction and speed, you ask? How in =
hell=20
                  could 3 simple numbers tell all that? Well, =
understanding how=20
                  they <I>do</I> tell all that is key to being =
successful when=20
                  you work with vectors. Think of it like this: Say you =
have an=20
                  object at position (1,1,1). You set that object's =
velocity to=20
                  a vector of (0,0,1). After one unit of time the =
object's new=20
                  position will be (1,1,2). How'd it get to (1,1,2)? =
Well, in=20
                  that unit of time, the value of the movement vector =
was added=20
                  on to the object's original position, giving a new =
position of=20
                  (1,1,2). After another unit of time, the object's =
position=20
                  will be (1,1,3), then (1,1,4), and so on. So, which =
direction=20
                  is the object moving? Why, up, of course. It's Z value =
is=20
                  continually getting bigger, while it's X and Y values =
stay the=20
                  same.=20
                  <P>So, there's the direction part. But what about =
speed? Well,=20
                  what if the object's velocity was set to (0,0,5) =
instead of=20
                  (0,0,1). Then, after one unit of time, the object's =
position=20
                  would be (1,1,6). After two units of time, it would be =

                  (1,1,11). So, it's still moving in the same direction =
(up),=20
                  it's just moving much more quickly. There's the speed =
part.=20
                  <P>By supplying different values for these three =
numbers, you=20
                  can make an object move in <I>any</I> direction at =
<I>any</I>=20
                  speed. Conceptually, it's not too hard to see this. =
But how in=20
                  the hell would you do the math to figure out what =
three=20
                  numbers to use if you wanted an object to move at some =
obscure=20
                  angle at some obscure speed? It's possible, obviously, =
but=20
                  there must be an easier way. Fortunately, there=20
                =
is.</FONT></P></TD></TR></TBODY></TABLE><BR><BR><!--------------  The =
Role of Rotators  -------------------------><I>T=20
            h e&nbsp;&nbsp; R o l e&nbsp;&nbsp; o f&nbsp;&nbsp; R o t a =
t o r=20
            s</I><BR><BR>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"90%" cols=3D1>
              <TBODY>
              <TR>
                <TD width=3D35></TD>
                <TD vAlign=3Dtop><FONT size=3D2 =
face=3DVerdana,Arial>Let's move away=20
                  from the X, Y, Z view of vectors for a while, and take =
another=20
                  look at them. When I picture a vector in my mind, I =
always=20
                  think of an arrow. Where this arrow points indicates a =

                  direction, and the length of the arrow indicates a =
speed. The=20
                  longer the arrow, the faster the object will move. I =
don't=20
                  worry too much about the actual <I>numbers</I> of the =
vector,=20
                  because I don't need to. There's an easier way to get =
to them.=20

                  <P>You may have encountered rotators before. Like =
vectors,=20
                  they're also structs with three float components: =
pitch, yaw,=20
                  and roll. These three values are angles that can =
describe any=20
                  rotational direction in 3D space. Pitch is up and =
down, yaw is=20
                  side to side, and roll is... well, roll. Roll is =
unimportant=20
                  when you're working with vectors, though, so don't =
worry about=20
                  it too much. There's one important thing to remember =
about=20
                  UnrealScript rotators, though. They're <I>not</I> =
measured in=20
                  degrees, or even radians. For some reason, Epic chose =
to make=20
                  up their own little system of angle measure. In this =
system,=20
                  360 degrees is about equal to 65535 Unreal angle =
units. Quite=20
                  a big difference there. So don't get the two mixed up, =
or=20
                  you'll spend hours trying to figure out why in the =
hell your=20
                  setting of 60 degrees still looks like 0 in the game.=20
                  <P>Now, say you're in a game, and the player is facing =
a=20
                  certain direction. How would you find a vector that =
points 45=20
                  degrees to the player's right? Well, it's simple =
really.=20
                  <P>&nbsp;=20
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
cols=3D1>
                    <TBODY>
                    <TR>
                      <TD width=3D40></TD>
                      <TD>
                        <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0 cols=3D1=20
                        rows=3D"2">
                          <TBODY>
                          <TR>
                            <TD bgColor=3D#c0c0c0 width=3D450><FONT =
color=3Dblack=20
                              face=3DSystem, Arial><B>&nbsp;&nbsp; =
Vectors and=20
                              Rotators</B></FONT></TD></TR>
                          <TR>
                            <TD bgColor=3D#000040 width=3D450><BR>
                              <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
                              width=3D"90%" cols=3D1>
                                <TBODY>
                                <TR>
                                <TD width=3D35></TD>
                                <TD vAlign=3Dtop><PRE><FONT size=3D1 =
face=3DCourier Arial Verdana, New,><FONT color=3D#00ffff>function</FONT> =
VectorRotator()
{
	<FONT color=3D#00ffff>local rotator</FONT> VectRot;
	<FONT color=3D#00ffff>local vector</FONT> SomeVector;
=09
	VectRot =3D Player.ViewRotation;
	VectRot.Yaw =3D VectRot.Yaw + 8192;
	SomeVector =3D <FONT color=3D#00ffff>Vector</FONT>(VectRot);
}</PRE>&nbsp;</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><=
/TD></TR></TBODY></TABLE>
                  <P>Note that this is all assuming "Player" is an actor =

                  reference variable set equal to some PlayerPawn. =
Anyway,=20
                  what's going on here? Well, first, VectRot is set =
equal to the=20
                  player's view rotation. Then, 8192 (45 degrees) is =
added to=20
                  its yaw, making it point 45 degrees to the player's =
right.=20
                  Finally, SomeVector is set equal to "Vector(VectRot)". =
The=20
                  Vector() function simply takes a rotator, and returns =
a vector=20
                  pointing in the same direction as the rotator, with a =
length=20
                  (speed) of one. So, now you have an easy way of =
getting a=20
                  vector that points in any direction. But what about =
its speed?=20
                  What if you want a vector with a speed of five instead =
of one?=20
                  This is easy, too. Simply multiply the one-length =
vector by=20
                  five. You'll get a vector pointing in the same =
direction, but=20
                  with a length of five instead of=20
            =
one.</FONT></P></TD></TR></TBODY></TABLE><BR><BR><!--------------  Other =
Vector Operations  -------------------------><I>O=20
            t h e r&nbsp;&nbsp; V e c t o r&nbsp;&nbsp; O p e r a t i o =
n=20
            s</I><BR><BR>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"90%" cols=3D1>
              <TBODY>
              <TR>
                <TD width=3D35></TD>
                <TD vAlign=3Dtop><FONT size=3D2 =
face=3DVerdana,Arial>There are quite=20
                  a few little tricks you can use to get the vector =
you're=20
                  looking for. For instance, how the hell would you come =
up with=20
                  a vector that points from one object to another? It's =
simple,=20
                  really. You just have to know the trick. So, for your =
reading=20
                  pleasure, here is the amazing and wonderful chart of =
useful=20
                  UnrealScript vector operations.=20
                  <P>&nbsp;=20
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                  cols=3D2>
                    <TBODY>
                    <TR>
                      <TD vAlign=3Dtop width=3D"30%"><FONT size=3D2=20
                        =
face=3DVerdana,Arial><I>Normal(Direction)</I>:</FONT></TD>
                      <TD><FONT size=3D2 face=3DVerdana,Arial>Returns a =
vector=20
                        pointing in the same direction as the vector you =
supply,=20
                        but with a length of =
one.<BR><BR></FONT></TD></TR>
                    <TR>
                      <TD vAlign=3Dtop width=3D"30%"><FONT size=3D2=20
                        =
face=3DVerdana,Arial><I>VSize(Direction)</I>:</FONT></TD>
                      <TD><FONT size=3D2 face=3DVerdana,Arial>Returns a =
floating=20
                        point value equal to the length of the vector =
you=20
                        supply.<BR><BR></FONT></TD></TR>
                    <TR>
                      <TD vAlign=3Dtop width=3D"30%"><FONT size=3D2=20
                        face=3DVerdana,Arial><I>Direction +=20
                      Direction</I>:</FONT></TD>
                      <TD><FONT size=3D2 face=3DVerdana,Arial>Returns a =
direction=20
                        vector which is equal to the bisector of the=20
                        parallelogram formed by the original two =
direction=20
                        vectors. What the bloody hell does this mean? =
Just take=20
                        a look at the diagram.=20
                        <P>
                        <CENTER><IMG=20
                        =
src=3D"http://hyper.dnsalias.net/infobase/archive/wod/tutorials/pix/vecto=
rs1.gif"></CENTER>
                        <P>As you can see, this is on a 2D plane, and =
we're=20
                        talking about 3D space. If you think about it, =
though,=20
                        two vectors in 3D space, no matter which =
direction=20
                        they're pointing, can <I>always</I> be thought =
of as=20
                        being on some 2D plane or=20
                    another.<BR><BR></FONT></P></TD></TR>
                    <TR>
                      <TD vAlign=3Dtop width=3D"30%"><FONT size=3D2=20
                        face=3DVerdana,Arial><I>Location - =
Location</I>:</FONT></TD>
                      <TD><FONT size=3D2 face=3DVerdana,Arial>Gives you =
a=20
                        direction vector which points from the second =
location=20
                        to the first, and has a length equal to the =
distance=20
                        between the two locations. This is not only =
useful for=20
                        making one object move towards another, but also =
for=20
                        determining the distance between=20
                      things.<BR><BR></FONT></TD></TR>
                    <TR>
                      <TD vAlign=3Dtop width=3D"30%"><FONT size=3D2=20
                        face=3DVerdana,Arial><I>Location +=20
Direction</I>:</FONT></TD>
                      <TD><FONT size=3D2 face=3DVerdana,Arial>Gives you =
a location=20
                        equal to the new location an object would have =
after one=20
                        unit of time with a velocity of the direction =
vector. If=20
                        that made no sense whatsoever to you, think of =
it this=20
                        way. Take the X component of the location =
vector, and=20
                        add to it the X component of the direction =
vector. Do=20
                        the same for the Y and Z components, and you'll =
end up=20
                        with the location that's returned by this=20
                        operation.</FONT></TD></TR></TBODY></TABLE>
                  <P>So, that's that. Pretty much everything you'll need =
to get=20
                  a good start working with vectors in UnrealScript. If =
you've=20
                  got any further questions, feel free to mail me at <A=20
                  =
href=3D"http://wod.planetunreal.gamespy.com/tutorials/windex@planetunreal=
.com">http://wod.planetunreal.gamespy.com/tutorials/windex@planetunreal.c=
om</A>.</FONT></P></TD></TR></TBODY></TABLE><BR></FONT></FONT>
            <HR>

            <P align=3Dcenter><FONT face=3DArial><FONT size=3D3><IMG=20
            src=3D""><BR></FONT><FONT size=3D1 face=3DArial>Visitors =
Since December=20
            26, 2000</FONT><FONT size=3D3=20
        =
face=3DArial><BR></FONT></FONT></P></TD></TR></TBODY></TABLE></></TD></TR=
></TBODY></TABLE><!-- Mirrored from =
wod.planetunreal.gamespy.com/tutorials/vectors.htm by HTTrack Website =
Copier/3.x [XR&CO'2007], Wed, 26 Sep 2007 07:18:23 GMT =
--></FONT></BODY></HTML>

------=_NextPart_001_006D_01CCBDB2.6B560690
Content-Type: text/html;
	charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://tag.admeld.com/ad/iframe/177/ign_apx/728x90/ign?t=1324229101953&tz=-60&m=0&hu=&ht=js&hp=0&fo=&url=http%3A%2F%2Fhyper.dnsalias.net%2Finfobase%2Farchive%2Fwod%2Ftutorials%2Fvectors.htm&refer=http%3A%2F%2Fhyper.dnsalias.net%2Finfobase%2Farchive%2Fwod%2Ftutorials%2Fswitchcase.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dwindows-1252" =
http-equiv=3DContent-Type>
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18928"></HEAD>
<BODY=20
style=3D"PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px"=20
bgColor=3D#ffffff>
<SCRIPT type=3Dtext/javascript>=0A=
          =
document.write(unescape('%3C%21--%20BEGIN%20STANDARD%20TAG%20-%20728%20x%=
2090%20-%20ROW%3A%20Run-of-site%20-%20DO%20NOT%20MODIFY%20--%3E%0A%3CSCRI=
PT%20TYPE%3D%22text%2Fjavascript%22%20SRC%3D%22http%3A%2F%2Fad.bannerconn=
ect.net%2Fst%3Fad_type%3Dad%26ad_size%3D728x90%26section%3D1653114%22%3E%=
3C%2FSCRIPT%3E%0A%3C%21--%20END%20TAG%20--%3E'));      =0A=
        </SCRIPT>
</BODY></HTML>

------=_NextPart_001_006D_01CCBDB2.6B560690--

------=_NextPart_000_006A_01CCBDB2.6B539590
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://hyper.dnsalias.net/infobase/archive/wod/tutorials/sidebar.js

function StartList(title)
{
	document.writeln("<font size=3D+1>" + title + "</font><br>")
	document.writeln("<table width=3D100% cols=3D2 rows=3D64 =
cellspacing=3D0 cellpadding=3D0 border=3D0>")
}
function FItem(name, loc)
{
	document.writeln("<tr><td width=3D5 valign=3Dtop><img =
src=3D'pix/bullet.gif'></td><td valign=3Dtop><font size=3D1 =
face=3DArial><a href=3D'" + loc + "'>" + name +"</a><br>")
}
function Item(name, loc)
{
	document.writeln("</td></tr><tr><td width=3D5 valign=3Dtop><img =
src=3D'pix/bullet.gif'></td><td valign=3Dtop><font size=3D1 =
face=3DArial><a href=3D'" + loc + "'>" + name +"</a><br>")
}
function EndList()
{
	document.writeln("</td></tr></table><br>")
}

function ReviewHead()
{
	document.writeln("<br>Jump To:<br>")
}

//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
// Back To the /wod directory
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/blanktop.jpg'></td></tr>")
document.writeln("    </table>")
document.writeln("    <table cols=3D3 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
document.writeln("    <tr><td width=3D14 height=3D3 =
background=3D'pix/infleft.jpg' valign=3Dtop>&nbsp;</td>")
document.writeln("        <td width=3D143 height=3D3 =
background=3D'pix/infmiddle.jpg' valign=3Dtop>")
document.writeln("        <font size=3D1 face=3DArial>")

StartList("<a name=3D'reflist'>Return to WoD</a>");
FItem("Main Page", "http://wod.planetunreal.gamespy.com/index.shtml");
//Item("Review Selection", "../reviews.html");
//Item("Mutator Review Selection", "../mutators.html");
EndList();

document.writeln("        </td>")
document.writeln("        <td width=3D31 height=3D3 =
background=3D'pix/infright.jpg' valign=3Dtop>&nbsp;</td></tr>")
document.writeln("    </table>")
document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/infbottom.jpg'></td></tr></table>")

//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
// Pic-O-Week
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
//document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/powTop.jpg'></td></tr>")
//document.writeln("    </table>")
//document.writeln("    <table cols=3D3 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D14 height=3D3 =
background=3D'pix/infleft.jpg' valign=3Dtop>&nbsp;</td>")
//document.writeln("        <td width=3D143 height=3D3 =
background=3D'pix/infmiddle.jpg' valign=3Dtop>")
//document.writeln("        <font size=3D1 face=3DArial>")

//document.writeln("    <center>")
//document.writeln("    <a href=3D'../pow.html'>")
//document.writeln("    <img src=3D'../pix/POW.gif' border=3D2></a>")
//document.writeln("    </center>")

//document.writeln("        </td>")
//document.writeln("        <td width=3D31 height=3D3 =
background=3D'pix/infright.jpg' valign=3Dtop>&nbsp;</td></tr>")
//document.writeln("    </table>")
//document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/infbottom.jpg'></td></tr></table>")

//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
// UScript
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/uscripttitle.jpg'></td></tr>")
document.writeln("    </table>")
document.writeln("    <table cols=3D3 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
document.writeln("    <tr><td width=3D14 height=3D3 =
background=3D'pix/infleft.jpg' valign=3Dtop>&nbsp;</td>")
document.writeln("        <td width=3D143 height=3D3 =
background=3D'pix/infmiddle.jpg' valign=3Dtop>")
document.writeln("        <font size=3D1 face=3DArial>")

StartList("Beginner");
FItem("Beginner's Guide to UnrealScript", "guide.htm");
Item("Class Tree", "classtree.htm");
Item("Download the MASSIVE all inclusive UScript Tutorial", =
"UScript%20Tutorial.doc");
Item("My First Mod (Part 1)", "1stmod.html");
Item("My First Mod (Part 2)", "1stmod2.html");
Item("My First Mod (Part 3UT)", "1stmod3.html");
Item("The Console", "console.html");
EndList();

StartList("Intermediate");
FItem("Burning Enemies", "burningpawns.html");
Item("Death Messages", =
"http://wod.planetunreal.gamespy.com/tutorials/DeathMessage.html");
Item("EXEC's", "exec.html");
Item("Function Refrence", "functionreference.htm");
Item("Homing Missiles", "homingmissle.html");
Item("ShotGun tutorial", "shotguntut.html");
Item("Switches & Cases", "switchcase.html");
Item("Upgradable Weapons", "upgradables.html");
EndList();

StartList("Advanced");
FItem("How to Use Vectors", "vectors.htm");
Item("Importing a Model", "importing.htm");
Item("Scripted Textures", "scriptedtextures.html");
Item("Using Unreal -make", "make.htm");
Item("Your Registry & UT", "registry.html");
EndList();

StartList("IRC Logs");
FItem("IRC Class #1", "irc1.htm");
Item("IRC Class #2", "irc2.htm");
Item("IRC Class #3", "irc3.htm");
Item("IRC Class #4", "irc4.htm");
Item("IRC Class #5", "irc5.htm");
EndList();

StartList("Other Sources");
FItem("Tim Sweeney's Language Reference", =
"http://unreal.epicgames.com/UnrealScript.htm");
Item("Unreal Networking Architecture", =
"http://unreal.epicgames.com/Network.htm");
Item("GreenMarine's OOP Tutorial", =
"http://www.planetquake.com/osp/tuts/GM-OOtutorial.html");
Item("CHiMERiC", "http://chimeric.beyondunreal.com/");
Item("UnrealEd.net", "http://www.planetunreal.com/unrealed/");
EndList();


document.writeln("        </td>")
document.writeln("        <td width=3D31 height=3D3 =
background=3D'pix/infright.jpg' valign=3Dtop>&nbsp;</td></tr>")
document.writeln("    </table>")
document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/infbottom.jpg'></td></tr></table>")

//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
// Reviews
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
//document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/reviewsTop.jpg'></td></tr>")
//document.writeln("    </table>")
//document.writeln("    <table cols=3D3 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D14 height=3D3 =
background=3D'pix/infleft.jpg' valign=3Dtop>&nbsp;</td>")
//document.writeln("        <td width=3D143 height=3D3 =
background=3D'pix/infmiddle.jpg' valign=3Dtop>")
//document.writeln("        <font size=3D1 face=3DArial>")

//StartList("<a name=3D'reflist'>Mutators</a>");
//FItem("Mutator Review Selection", "../mutators.html");
//ReviewHead();
//Item("System Altering", "../mutatorsa.html");
//Item("Weapon Replacement", "../mutatorsb.html");
//Item("Game Type Altering", "../mutatorsc.html");
//EndList();

//StartList("<a name=3D'reflist'>General Reviews</a>");
//FItem("General Review Selection", "../reviews.html");
//ReviewHead();
//Item("Modifications", "../reviewsa.html");
//Item("Total Conversions", "../reviewsb.html");
//Item("Other Reviews", "../reviewsc.html");
//EndList();

//document.writeln("        </td>")
//document.writeln("        <td width=3D31 height=3D3 =
background=3D'pix/infright.jpg' valign=3Dtop>&nbsp;</td></tr>")
//document.writeln("    </table>")
//document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/infbottom.jpg'></td></tr></table>")

//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
// Other Stuff
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
//document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/MiscTop.jpg'></td></tr>")
//document.writeln("    </table>")
//document.writeln("    <table cols=3D3 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D14 height=3D3 =
background=3D'pix/infleft.jpg' valign=3Dtop>&nbsp;</td>")
//document.writeln("        <td width=3D143 height=3D3 =
background=3D'pix/infmiddle.jpg' valign=3Dtop>")
//document.writeln("        <font size=3D1 face=3DArial>")

//StartList("<a name=3D'reflist'>Spot Light</a>");
//FItem("Featured Mod", "../Featured.html");
//Item("Pic of the Week", "../POW.html");
//Item("WOD Weapon X-Clusives", "../wodx.html");
//Item("IRC Interviews", "../Chats.html");
//Item("Smashdroids Preview", "../smashdroidpreview.html");
//EndList();

//StartList("<a name=3D'reflist'>Human Contact</a>");
//FItem("Forums", =
"http://forums.unreal2.net/forumdisplay.php?s=3D7c0f800aae433a08f13bbfa72=
358f537&forumid=3D53");
//Item("Chat Room", "http://network54.com/Hide/Chat/47315");
//Item("IRC Chat Room", "../IRCChat.html");
//Item("Team Biographies", "../Bios.html");
//EndList();

//StartList("<a name=3D'reflist'>Other WOD Stuff</a>");
//FItem("Unreal Weapons", "../unrealweapons.html");
//Item("Stream Some Music", "../Streams.html");
//Item("Links", "../Links.html");
//EndList();

//document.writeln("        </td>")
//document.writeln("        <td width=3D31 height=3D3 =
background=3D'pix/infright.jpg' valign=3Dtop>&nbsp;</td></tr>")
//document.writeln("    </table>")
//document.writeln("    <table cols=3D1 cellspacing=3D0 cellpadding=3D0 =
border=3D0>")
//document.writeln("    <tr><td width=3D188 height=3D48><img =
src=3D'pix/infbottom.jpg'></td></tr></table>")
------=_NextPart_000_006A_01CCBDB2.6B539590--
