\select@language {ngerman} \contentsline {chapter}{\numberline {1}Einf\IeC {\"u}hrung}{7} \contentsline {section}{\numberline {1.1}Grundlegende Informationen}{7} \contentsline {section}{\numberline {1.2}Vorvereinbarungen}{7} \contentsline {chapter}{\numberline {2}Lua Hooks}{9} \contentsline {section}{\numberline {2.1}Was ist ein Lua Hook}{9} \contentsline {section}{\numberline {2.2}Statische Lua Hooks}{9} \contentsline {subsection}{\numberline {2.2.1}InitGame}{9} \contentsline {subsection}{\numberline {2.2.2}ShutdownGame}{9} \contentsline {subsection}{\numberline {2.2.3}RunFrame}{10} \contentsline {subsection}{\numberline {2.2.4}GClientPrint}{10} \contentsline {subsection}{\numberline {2.2.5}GPrint}{10} \contentsline {section}{\numberline {2.3}Dynamische Lua Hooks}{11} \contentsline {subsection}{\numberline {2.3.1}luaThink}{11} \contentsline {subsection}{\numberline {2.3.2}luaTouch}{11} \contentsline {subsection}{\numberline {2.3.3}luaUse}{11} \contentsline {subsection}{\numberline {2.3.4}luaHurt}{11} \contentsline {subsection}{\numberline {2.3.5}luaDie}{11} \contentsline {subsection}{\numberline {2.3.6}luaFree}{12} \contentsline {subsection}{\numberline {2.3.7}luaReached}{12} \contentsline {subsection}{\numberline {2.3.8}luaReachedAngular}{12} \contentsline {subsection}{\numberline {2.3.9}luaTrigger}{12} \contentsline {subsection}{\numberline {2.3.10}luaSpawn}{12} \contentsline {chapter}{\numberline {3}RPG-X2 Map Scripting}{13} \contentsline {section}{\numberline {3.1}Map scripts}{13} \contentsline {section}{\numberline {3.2}Aufruf von Funktionen}{13} \contentsline {chapter}{\numberline {4}RPG-X2 Lua Bibliotheken}{15} \contentsline {section}{\numberline {4.1}game}{15} \contentsline {subsection}{\numberline {4.1.1}game.Print}{15} \contentsline {subsection}{\numberline {4.1.2}game.ClientPrint}{15} \contentsline {subsection}{\numberline {4.1.3}game.CenterPrint}{15} \contentsline {subsection}{\numberline {4.1.4}game.MessagePrint}{15} \contentsline {subsection}{\numberline {4.1.5}game.LevelTime}{16} \contentsline {subsection}{\numberline {4.1.6}game.SetGlobal}{16} \contentsline {subsection}{\numberline {4.1.7}game.GetGlobal}{16} \contentsline {section}{\numberline {4.2}qmath}{17} \contentsline {subsection}{\numberline {4.2.1}qmath.abs}{17} \contentsline {subsection}{\numberline {4.2.2}qmath.sin}{17} \contentsline {subsection}{\numberline {4.2.3}qmath.cos}{17} \contentsline {subsection}{\numberline {4.2.4}qmath.tan}{17} \contentsline {subsection}{\numberline {4.2.5}qmath.asin}{17} \contentsline {subsection}{\numberline {4.2.6}qmath.acos}{17} \contentsline {subsection}{\numberline {4.2.7}qmath.atan}{17} \contentsline {subsection}{\numberline {4.2.8}qmath.floor}{17} \contentsline {subsection}{\numberline {4.2.9}qmath.ceil}{18} \contentsline {subsection}{\numberline {4.2.10}qmath.fmod}{18} \contentsline {subsection}{\numberline {4.2.11}qmath.modf}{18} \contentsline {subsection}{\numberline {4.2.12}qmath.sqrt}{18} \contentsline {subsection}{\numberline {4.2.13}qmath.log}{18} \contentsline {subsection}{\numberline {4.2.14}qmath.log10}{18} \contentsline {subsection}{\numberline {4.2.15}qmath.deg}{18} \contentsline {subsection}{\numberline {4.2.16}qmath.rad}{18} \contentsline {subsection}{\numberline {4.2.17}qmath.frexp}{18} \contentsline {subsection}{\numberline {4.2.18}qmath.ldexp}{19} \contentsline {subsection}{\numberline {4.2.19}qmath.min}{19} \contentsline {subsection}{\numberline {4.2.20}qmath.max}{19} \contentsline {subsection}{\numberline {4.2.21}qmath.random}{19} \contentsline {subsection}{\numberline {4.2.22}qmath.crandom}{19} \contentsline {section}{\numberline {4.3}vector}{20} \contentsline {subsection}{\numberline {4.3.1}vector.New}{20} \contentsline {subsection}{\numberline {4.3.2}vector.Construct}{20} \contentsline {subsection}{\numberline {4.3.3}vector.Set}{20} \contentsline {subsection}{\numberline {4.3.4}vector.clear}{20} \contentsline {subsection}{\numberline {4.3.5}vector.Add}{20} \contentsline {subsection}{\numberline {4.3.6}vector.Substract}{20} \contentsline {subsection}{\numberline {4.3.7}vector.Scale}{20} \contentsline {subsection}{\numberline {4.3.8}vector.Length}{21} \contentsline {subsection}{\numberline {4.3.9}vector.Normalize}{21} \contentsline {subsection}{\numberline {4.3.10}vector.RotateAroundPoint}{21} \contentsline {subsection}{\numberline {4.3.11}vector.Perpendicular}{21} \contentsline {section}{\numberline {4.4}entity}{22} \contentsline {subsection}{\numberline {4.4.1}entity.Find}{22} \contentsline {subsection}{\numberline {4.4.2}entity.FindNumber}{22} \contentsline {subsection}{\numberline {4.4.3}entity.FindBModel}{22} \contentsline {subsection}{\numberline {4.4.4}ent.GetNumber}{22} \contentsline {subsection}{\numberline {4.4.5}ent.SetKeyValue}{22} \contentsline {subsection}{\numberline {4.4.6}entity.Remove}{22} \contentsline {subsection}{\numberline {4.4.7}ent.GetOrigin}{23} \contentsline {subsection}{\numberline {4.4.8}ent.IsClient}{23} \contentsline {subsection}{\numberline {4.4.9}ent.GetClientname}{23} \contentsline {subsection}{\numberline {4.4.10}ent.GetClassname}{23} \contentsline {subsection}{\numberline {4.4.11}ent.SetClassname}{23} \contentsline {subsection}{\numberline {4.4.12}ent.GetTargetname}{23} \contentsline {subsection}{\numberline {4.4.13}ent.SetupTrigger}{23} \contentsline {subsection}{\numberline {4.4.14}entity.GetTarget}{23} \contentsline {subsection}{\numberline {4.4.15}entity.Use}{23} \contentsline {subsection}{\numberline {4.4.16}entity.Spawn}{24} \contentsline {subsection}{\numberline {4.4.17}entiy.CallSpawn}{24} \contentsline {subsection}{\numberline {4.4.18}entity.DelayedCallSpawn}{24} \contentsline {subsection}{\numberline {4.4.19}entity.RemoveSpawns}{24} \contentsline {subsection}{\numberline {4.4.20}ent.Lock}{24} \contentsline {subsection}{\numberline {4.4.21}ent.Unlock}{24} \contentsline {subsection}{\numberline {4.4.22}ent.IsLocked}{24} \contentsline {subsection}{\numberline {4.4.23}ent.GetParm}{24} \contentsline {subsection}{\numberline {4.4.24}ent.SetParm}{25} \contentsline {section}{\numberline {4.5}mover}{26} \contentsline {subsection}{\numberline {4.5.1}mover.Halt}{26} \contentsline {subsection}{\numberline {4.5.2}mover.HaltAngles}{26} \contentsline {subsection}{\numberline {4.5.3}mover.AsTrain}{26} \contentsline {subsection}{\numberline {4.5.4}mover.SetAngles}{26} \contentsline {subsection}{\numberline {4.5.5}mover.SetPosition}{26} \contentsline {subsection}{\numberline {4.5.6}mover.ToAngles}{26} \contentsline {subsection}{\numberline {4.5.7}mover.ToPosition}{27} \contentsline {section}{\numberline {4.6}sound}{28} \contentsline {subsection}{\numberline {4.6.1}Sound Kan\IeC {\"a}le}{28} \contentsline {subsection}{\numberline {4.6.2}sound.PlaySound}{28} \contentsline {chapter}{\numberline {5}Beispiele}{29} \contentsline {section}{\numberline {5.1}Beispiel 1 - Hallo Welt}{29} \contentsline {subsection}{\numberline {5.1.1}Hallo Welt f\IeC {\"u}r game}{29} \contentsline {subsection}{\numberline {5.1.2}Hallo Welt f\IeC {\"u}r einen Spieler}{29} \contentsline {subsection}{\numberline {5.1.3}Hallo Welt f\IeC {\"u}r alle Spieler}{30} \contentsline {section}{\numberline {5.2}Beispiel 2 - Entities Finden}{30} \contentsline {subsection}{\numberline {5.2.1}Entities \IeC {\"u}ber ihren targetname finden}{31} \contentsline {subsection}{\numberline {5.2.2}Entities \IeC {\"u}ber ihre Entitynummer finden}{31} \contentsline {subsection}{\numberline {5.2.3}Entities \IeC {\"u}ber ihr Brush Modell finden}{31} \contentsline {section}{\numberline {5.3}Beispiel 3 - Entities Spawnen}{31} \contentsline {chapter}{\numberline {6}Wie man ...}{35} \contentsline {section}{\numberline {6.1}Turbolifte zu \IeC {\"a}lteren RPG-X Maps hinzuf\IeC {\"u}gt}{35} \contentsline {section}{\numberline {6.2}Transporter die das ui\_transporter benutzen zu \IeC {\"a}lteren Maps hinzuf\IeC {\"u}gt}{35} \contentsline {section}{\numberline {6.3}func\_usable zu func\_forcefield konvertiert}{35}