\relax \@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{5}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{lol}{\addvspace {10\p@ }} \newlabel{intro}{{1}{5}} \@writefile{toc}{\contentsline {section}{\numberline {1.1}General Information}{5}} \newlabel{gen-info}{{1.1}{5}} \@writefile{toc}{\contentsline {section}{\numberline {1.2}Prerequisites}{5}} \newlabel{preq}{{1.2}{5}} \@writefile{toc}{\contentsline {chapter}{\numberline {2}Lua Hooks}{6}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{lol}{\addvspace {10\p@ }} \newlabel{lua-hooks}{{2}{6}} \@writefile{toc}{\contentsline {section}{\numberline {2.1}What is a Lua Hook}{6}} \newlabel{wia-lh}{{2.1}{6}} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Static Lua Hooks}{6}} \newlabel{s-lh}{{2.2}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}InitGame}{6}} \newlabel{init-game}{{2.2.1}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}ShutdownGame}{6}} \newlabel{shutdown-game}{{2.2.2}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}RunFrame}{6}} \newlabel{run-frame}{{2.2.3}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.4}GClientPrint}{6}} \newlabel{cli-print}{{2.2.4}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.5}GPrint}{7}} \newlabel{g-print}{{2.2.5}{7}} \@writefile{toc}{\contentsline {section}{\numberline {2.3}Dynamic Lua Hooks}{8}} \newlabel{dyn-lh}{{2.3}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}luaThink}{8}} \newlabel{luaThink}{{2.3.1}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}luaTouch}{8}} \newlabel{luaTouch}{{2.3.2}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.3}luaUse}{8}} \newlabel{luaUse}{{2.3.3}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.4}luaHurt}{8}} \newlabel{luaHurt}{{2.3.4}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.5}luaDie}{8}} \newlabel{luaDie}{{2.3.5}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.6}luaFree}{9}} \newlabel{luaFree}{{2.3.6}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.7}luaReached}{9}} \newlabel{luaReached}{{2.3.7}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.8}luaReachedAngular}{9}} \newlabel{luaReachedAngular}{{2.3.8}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.9}luaTrigger}{9}} \newlabel{luaTrigger}{{2.3.9}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.10}luaSpawn}{9}} \newlabel{luaSpawn}{{2.3.10}{9}} \@writefile{toc}{\contentsline {chapter}{\numberline {3}RPG-X2 Map Scripting}{10}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{lol}{\addvspace {10\p@ }} \newlabel{rpgx2-mapscripting}{{3}{10}} \@writefile{toc}{\contentsline {section}{\numberline {3.1}Map scripts}{10}} \newlabel{map-scripts}{{3.1}{10}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Calling Functions}{10}} \newlabel{map-callingfunction}{{3.2}{10}} \@writefile{toc}{\contentsline {chapter}{\numberline {4}RPG-X2 Lua Libraries}{11}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{lol}{\addvspace {10\p@ }} \newlabel{rpgx2-llibs}{{4}{11}} \@writefile{toc}{\contentsline {section}{\numberline {4.1}game}{11}} \newlabel{g}{{4.1}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}game.Print}{11}} \newlabel{g-prnt}{{4.1.1}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}game.ClientPrint}{11}} \newlabel{g-clientprint}{{4.1.2}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}game.CenterPrint}{11}} \newlabel{g-centerprint}{{4.1.3}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}game.MessagePrint}{11}} \newlabel{g-messagepritn}{{4.1.4}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1.5}game.LevelTime}{11}} \newlabel{g-leveltime}{{4.1.5}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1.6}game.SetGlobal}{11}} \newlabel{g-setglobal}{{4.1.6}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1.7}game.GetGlobal}{12}} \newlabel{g-getglobal}{{4.1.7}{12}} \@writefile{toc}{\contentsline {section}{\numberline {4.2}qmath}{13}} \newlabel{qmath}{{4.2}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}qmath.abs}{13}} \newlabel{qm-abs}{{4.2.1}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}qmath.sin}{13}} \newlabel{qm-sin}{{4.2.2}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}qmath.cos}{13}} \newlabel{qm-cos}{{4.2.3}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}qmath.tan}{13}} \newlabel{qm-tan}{{4.2.4}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.5}qmath.asin}{13}} \newlabel{qm-asin}{{4.2.5}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.6}qmath.acos}{13}} \newlabel{qm-acos}{{4.2.6}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.7}qmath.atan}{13}} \newlabel{qm-atan}{{4.2.7}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.8}qmath.floor}{13}} \newlabel{qm-floor}{{4.2.8}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.9}qmath.ceil}{14}} \newlabel{qm-ceil}{{4.2.9}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.10}qmath.fmod}{14}} \newlabel{qm-fmod}{{4.2.10}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.11}qmath.modf}{14}} \newlabel{qm-modf}{{4.2.11}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.12}qmath.sqrt}{14}} \newlabel{qm-sqrt}{{4.2.12}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.13}qmath.log}{14}} \newlabel{qm-log}{{4.2.13}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.14}qmath.log10}{14}} \newlabel{qm-log10}{{4.2.14}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.15}qmath.deg}{14}} \newlabel{qm-deg}{{4.2.15}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.16}qmath.rad}{14}} \newlabel{qm-rad}{{4.2.16}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.17}qmath.frexp}{14}} \newlabel{qm-frexp}{{4.2.17}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.18}qmath.ldexp}{15}} \newlabel{qm-ldexp}{{4.2.18}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.19}qmath.min}{15}} \newlabel{qm-min}{{4.2.19}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.20}qmath.max}{15}} \newlabel{qm-max}{{4.2.20}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.21}qmath.random}{15}} \newlabel{qm-random}{{4.2.21}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.22}qmath.crandom}{15}} \newlabel{qm-crandom}{{4.2.22}{15}} \@writefile{toc}{\contentsline {section}{\numberline {4.3}vector}{16}} \newlabel{vect}{{4.3}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}vector.New}{16}} \newlabel{vect-new}{{4.3.1}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}vector.Construct}{16}} \newlabel{vect-cons}{{4.3.2}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}vector.Set}{16}} \newlabel{vect-set}{{4.3.3}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.4}vector.clear}{16}} \newlabel{vect-clear}{{4.3.4}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.5}vector.Add}{16}} \newlabel{vect-add}{{4.3.5}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.6}vector.Substract}{16}} \newlabel{vect-sub}{{4.3.6}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.7}vector.Scale}{16}} \newlabel{vect-scale}{{4.3.7}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.8}vector.Length}{17}} \newlabel{vect-length}{{4.3.8}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.9}vector.Normalize}{17}} \newlabel{vect-norm}{{4.3.9}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.10}vector.RotateAroundPoint}{17}} \newlabel{vect-rotarndpnt}{{4.3.10}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.11}vector.Perpendicular}{17}} \newlabel{vect-Perpendicular}{{4.3.11}{17}} \@writefile{toc}{\contentsline {section}{\numberline {4.4}entity}{18}} \newlabel{enty}{{4.4}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}entity.Find}{18}} \newlabel{enty-find}{{4.4.1}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}entity.FindNumber}{18}} \newlabel{enty.findnumber}{{4.4.2}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.3}entity.FindBModel}{18}} \newlabel{enty-findbmodel}{{4.4.3}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.4}ent.GetNumber}{18}} \newlabel{enty-getnumber}{{4.4.4}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.5}ent.SetKeyValue}{18}} \newlabel{enty-setkeyvalue}{{4.4.5}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.6}entity.Remove}{18}} \newlabel{enty-remove}{{4.4.6}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.7}ent.GetOrigin}{18}} \newlabel{enty-getorigin}{{4.4.7}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.8}ent.IsClient}{19}} \newlabel{enty-isclient}{{4.4.8}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.9}ent.GetClientname}{19}} \newlabel{enty-getclientname}{{4.4.9}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.10}ent.GetClassname}{19}} \newlabel{enty-getclassname}{{4.4.10}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.11}ent.SetClassname}{19}} \newlabel{enty-setclassname}{{4.4.11}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.12}ent.GetTargetname}{19}} \newlabel{enty-gettargetname}{{4.4.12}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.13}ent.SetupTrigger}{19}} \newlabel{enty-setuptrigger}{{4.4.13}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.14}entity.GetTarget}{19}} \newlabel{enty-gettarget}{{4.4.14}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.15}entity.Use}{19}} \newlabel{enty-use}{{4.4.15}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.16}entity.Spawn}{19}} \newlabel{enty-spawn}{{4.4.16}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.17}entiy.CallSpawn}{20}} \newlabel{enty-callspawn}{{4.4.17}{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.18}entity.DelayedCallSpawn}{20}} \newlabel{enty-delayedcallspawn}{{4.4.18}{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.19}entity.RemoveSpawns}{20}} \newlabel{enty-removespawns}{{4.4.19}{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.20}ent.Lock}{20}} \newlabel{enty-lock}{{4.4.20}{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.21}ent.Unlock}{20}} \newlabel{enty-unlock}{{4.4.21}{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.22}ent.IsLocked}{20}} \newlabel{enty-locked}{{4.4.22}{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.23}ent.GetParm}{20}} \newlabel{enty-getparm}{{4.4.23}{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.24}ent.SetParm}{20}} \newlabel{enty-setparm}{{4.4.24}{20}} \@writefile{toc}{\contentsline {section}{\numberline {4.5}mover}{21}} \newlabel{mver}{{4.5}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}mover.Halt}{21}} \newlabel{mver-halt}{{4.5.1}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.2}mover.HaltAngles}{21}} \newlabel{mver-haltangles}{{4.5.2}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.3}mover.AsTrain}{21}} \newlabel{mver-astrain}{{4.5.3}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.4}mover.SetAngles}{21}} \newlabel{mver-setangles}{{4.5.4}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.5}mover.SetPosition}{21}} \newlabel{mver-setposition}{{4.5.5}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.6}mover.ToAngles}{21}} \newlabel{mver-toangles}{{4.5.6}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.7}mover.ToPosition}{21}} \newlabel{mver-toposition}{{4.5.7}{21}} \@writefile{toc}{\contentsline {section}{\numberline {4.6}sound}{22}} \newlabel{sound}{{4.6}{22}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.6.1}Sound Channels}{22}} \newlabel{sound-chan}{{4.6.1}{22}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.6.2}sound.PlaySound}{22}} \newlabel{snd-playsnd}{{4.6.2}{22}} \@writefile{toc}{\contentsline {chapter}{\numberline {5}Examples}{23}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{lol}{\addvspace {10\p@ }} \newlabel{examples}{{5}{23}} \@writefile{toc}{\contentsline {section}{\numberline {5.1}Example 1 - HelloWorld}{23}} \newlabel{example1}{{5.1}{23}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Hello World for game}{23}} \newlabel{example11}{{5.1.1}{23}} \newlabel{helloworldgame}{{5.1}{23}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.1}Hello World for game}{23}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Hello World for a client}{23}} \newlabel{example12}{{5.1.2}{23}} \newlabel{helloworldclient}{{5.2}{23}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.2}Hello World for client}{23}} \newlabel{helloworldclient1}{{5.3}{23}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.3}First function}{23}} \newlabel{helloworldclient2}{{5.4}{24}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.4}Second function}{24}} \newlabel{helloworldclient3}{{5.5}{24}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.5}Third function}{24}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}Hello World for all clients}{24}} \newlabel{example13}{{5.1.3}{24}} \newlabel{helloworldclientall}{{5.6}{24}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.6}Hello World for all client}{24}} \@writefile{toc}{\contentsline {section}{\numberline {5.2}Example 2 - Finding Entities}{24}} \newlabel{example2}{{5.2}{24}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Finding entities by their targetnames}{24}} \newlabel{example21}{{5.2.1}{24}} \newlabel{findents1}{{5.7}{24}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.7}Find an entity by its targetname}{24}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Finding entities by their entity number}{25}} \newlabel{example22}{{5.2.2}{25}} \newlabel{findents2}{{5.8}{25}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.8}Find an entity by its entity number}{25}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Finding entities by thier brush model}{25}} \newlabel{example23}{{5.2.3}{25}} \newlabel{findents3}{{5.9}{25}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.9}Find an entity by its brush model}{25}} \@writefile{toc}{\contentsline {section}{\numberline {5.3}Example 3 - Spawning entities}{25}} \newlabel{spawnents}{{5.10}{25}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.10}Spawning an entity}{25}} \@writefile{toc}{\contentsline {chapter}{\numberline {6}How to ...}{27}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{lol}{\addvspace {10\p@ }} \newlabel{howto}{{6}{27}} \@writefile{toc}{\contentsline {section}{\numberline {6.1}add RPG-X2 Turbolifts to older maps}{27}} \newlabel{howto-x2turbo}{{6.1}{27}} \@writefile{toc}{\contentsline {section}{\numberline {6.2}add Transporters with ui\_transporter to older maps}{27}} \newlabel{howto-uitrans}{{6.2}{27}} \@writefile{toc}{\contentsline {section}{\numberline {6.3}convert func\_usable force field from older maps to func\_forcefield}{27}} \newlabel{howto-usabletoforcefield}{{6.3}{27}} \newlabel{fustoff}{{6.1}{28}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.1}Example 1}{28}} \newlabel{fustoff2}{{6.2}{28}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.2}Example 2}{28}}