) ein Gegner gesetzt wurde, vor dem der Npc fliehen soll.
func void AI_GotoFP(var c_npc self, var string fpname)
Sucht sich einen Freepoint im Umkreis von 20m vom NSC, bewegt sich dorthin und richtet sich entsprechend aus.
Suchkriterium wie bei Wld_IsFPAvailable()
func void AI_GotoItem(var c_npc self, var c_item item)
"self" geht zu "item"
func void AI_GotoNextFP(var c_npc self, var string fpname)
wie AI_GotoFP() allerdings Suchkriterium wie bei Wld_IsNextFPAvailable()
func void AI_GotoNpc(var c_npc self, var c_npc other)
"self" geht zu "other"
func void AI_GotoSound(var c_npc n0)
Npc läuft zum Sound
func void AI_GotoWP(var c_npc n0, var string s0)
Npc-Instanz läuft zum namentlich angegeben Waypoint
func void AI_LookAt(var c_npc self, var string name)
Schaue auf einen Wegpunkt (Wegpunktname angeben) oder auf ein anderes Objekt (Vobname angeben)
func void AI_LookAtNpc(var c_npc self, var c_npc other)
Schaue zu einem NSC
func void AI_LookForItem(var c_npc self, var int instance)
gibt die Möglichkeit nach bestimmten Items zu suchen (z.B.:Das goldene Schwert der Zerstörung, wenn vorhanden)
func void AI_Output(var c_npc self, var c_npc target, var string outputname)
Cutscene mit entsprechender Id wird abgenudelt
func void AI_OutputSVM(var c_npc self, var c_npc target, var string svmname)
Outputbefehl um Svms abzuspielen
func void AI_OutputSVM_Overlay(var c_npc self, var c_npc target, var string svmname)
wie AI_OutputSVM, wartet jedoch NICHT mit der Ausführung des nächsten AI_...-Befehls, bis
das SVM zuende gespielt wird. (Für Kommentare kurz vor und während dem Kampf!)
func void AI_PlayAni(var c_npc n0, var string s0)
Npc-Instanz spielt die angegebene Animation ab
func void AI_PlayAniBS(var c_npc npc, var string aniname, var int bodystate)
Beim Abspielen einer Ani mit diesem Befehl kann ein Bodystate angemeldet werden
func void AI_PlayCutscene(var c_npc self, var string csname)
Eine Cutscene aus den Scripten heraus starten
func void AI_PlayFX(var instance n0, var instance n1, var string s2)
Noch nicht dokumentiert
func void AI_PointAt(var c_npc self, var string name)
Zeige auf einen Wegpunkt (Wegpunktname angeben) oder auf ein anderes Objekt (Vobname angeben)
func void AI_PointAtNpc(var c_npc self, var c_npc other)
Zeige auf einen NSC
func int AI_PrintScreen(var string s0, var int i1, var int i2, var string s3, var int i4)
Noch nicht dokumentiert
func void AI_ProcessInfos(var instance n0)
Noch nicht dokumentiert
func void AI_QuickLook(var instance n0, var instance n1)
Noch nicht dokumentiert
func void AI_Quicklook(var c_npc self, var c_npc other)
NSC kurz ( 2 sec) anschauen ( nur Kopf bewegt sich )
func void AI_ReadyMeleeWeapon(var c_npc self)
Ziehe equippte Nahkampfwaffe
func void AI_ReadyRangedWeapon(var c_npc self)
Ziehe equippte Fernkampfwaffe
func void AI_ReadySpell(var c_npc self, var int spellid, var int investmana)
func void AI_RemoveWeapon(var c_npc n0)
Gezogene Waffe wird weggesteckt
func void AI_SetNpcsToState(var c_npc self, var func aistatefunc, var int radius)
Setze alle NSCs im Umkreis von x cm in entsprechenden AI-Zustand
VORSICHT: Diese Funktion ist Buggy, wird aber derzeit auch NICHT verwendet!
-> FINGER WEG!!! (SN)
func void AI_SetWalkMode(var instance n0, var int i1)
Noch nicht dokumentiert
func void AI_SetWalkmode(var c_npc n, var int n0)
gibt an mit welchem Walkmode Run etc der Character durch das Level läuft
NPC_RUN : Rennen
NPC_WALK : Gehen
NPC_SNEAK : Schleichen
NPC_RUN_WEAPON : Rennen mit gezogener Waffe
NPC_WALK_WEAPON : Gehen mit gezogener Waffe
NPC_SNEAK_WEAPON : Schleichen mit gezogener Waffe
func void AI_ShootAt(var c_npc attacker, var c_npc target)
!!! schießen mit FK
func void AI_Snd_Play(var instance n0, var string s1)
Noch nicht dokumentiert
func void AI_Snd_Play3D(var instance n0, var instance n1, var string s2)
Noch nicht dokumentiert
func void AI_StandUp(var c_npc self)
- Ist der Nsc in einem Animatinsstate, wird die passende Rücktransition abgespielt.
- Benutzt der NSC gerade ein MOBSI, poppt er ins stehen.
func void AI_StandUpQuick(var c_npc self)
Wie AI_StandUp(), jedoch werden keine Rücktransitionen abgespielt, sondern auch dort wird
sofort in den Grundzustand "gepoppt". Wichtig für sehr eilige Situationen!
func void AI_StartState(var c_npc self, var func what, var int statebehaviour, var string wpname)
Versetzt den Nsc aus den Skripten heraus in den entsprechenden ZS (what),
stateBehaviour sagt : "0"-aktuellen Zustand abbrechen "1"-aktuellen Zustand erst ordnungsgemäß beenden (End-Funktion aufrufen) ).
func void AI_StopAim(var c_npc attacker)
!!! stoppt das zielen mit FK ???
func void AI_StopFX(var instance n0, var string s1)
Noch nicht dokumentiert
func void AI_StopLookAt(var c_npc self)
wieder geradeaus schauen
func void AI_StopPointAt(var c_npc self)
nicht mehr auf etwas zeigen
func void AI_StopProcessInfos(var c_npc npc)
???
func void AI_TakeItem(var c_npc self, var c_item item)
der Npc nimmt mit dieser Funktion die globale Item-Instanz auf
func void AI_TakeMob(var instance n0, var string s1)
Noch nicht dokumentiert
func void AI_Teleport(var c_npc self, var string waypoint)
teleportiert den NSC zur angegebenene Location
func void AI_TurnAway(var c_npc n0, var c_npc n1)
Der NSC "self" dreht dem NSC "other" den Rücken zu.
func void AI_TurnToNpc(var c_npc n0, var c_npc n1)
drehe Dich zum angegeben (zweiten) Npc um
func void AI_TurnToSound(var c_npc self)
Charakter dreht sich zur Geräuschquelle
func void AI_UnequipArmor(var c_npc self)
Unequippe aktuelle Rüstung
func void AI_UnequipWeapons(var c_npc self)
Unequippe alle Waffen
func void AI_UnreadySpell(var c_npc self)
func void AI_UseItem(var c_npc self, var int iteminstance)
Item bis zum Ende benutzen
func void AI_UseItemToState(var c_npc self, var int iteminstance, var int state)
Item benutzen bis zum angegebenen State
func int AI_UseMob(var c_npc self, var string schemename, var int targetstate)
Benutze Mob mit angegebenen Schema-Namen bis zum Zustand "targetState". Wird diese Funktion aufgerufen
und der angegebene 'targetState' ist bereits vorhanden, läuft der NSC zwar trotzdem zum MOB, tut dann aber nichts
func void AI_Wait(var c_npc n0, var float n1)
Character wird für n1 Sekunden in einen Wait-Zustand versetzt,
d.h. er tut nichts, aber Treffer etc.(passive Wahrnehmung) werden registriert
func void AI_WaitForQuestion(var c_npc self, var func scriptfunc)
NSC wartet 20 Sekunden, wird er in dieser Zeit vom Spieler angesprochen, wird die angegebene SkriptFunktion ausgeführt.
func void AI_WaitMS(var instance n0, var int i1)
Noch nicht dokumentiert
func void AI_WaitTillEnd(var c_npc self, var c_npc other)
'self' wartet bis 'other' seinen laufenden AI-Befehl zu Ende gespielt hat (funzt allerdings nicht bei AI-Overlays!)
func void AI_WhirlAround(var c_npc self, var c_npc other)
schnelle Drehung zu other
func void AI_WhirlAroundToSource(var instance n0)
Noch nicht dokumentiert
func void Apply_Options_Audio()
Noch nicht dokumentiert
func void Apply_Options_Controls()
Noch nicht dokumentiert
func void Apply_Options_Game()
Noch nicht dokumentiert
func void Apply_Options_Performance()
Noch nicht dokumentiert
func void Apply_Options_Video()
Noch nicht dokumentiert
func string ConcatStrings(var string str1, var string str2)
!!!Erzeugt eine Kopie von dem ersten angegebenen String, hängt den zweiten an diesen an und gibt den neuen String zurück ???
Die folgenden Methoden geben den Text nur unter bestimmten zusätzlichen Bedingungen aus. Für die Methoden mit dem Suffix Inst trifft dies zu, wenn die Instanz von der die Debug-Methode aufgerufen wird, zum Debuggen aktiviert wurde. Die Methoden mit dem Suffix Ch geben den Text nur aus, wenn der angegebene Channel zum Debuggen aktiviert wurde.
func void CreateInvItem(var c_npc n0, var int n1)
gibt der angegebenen Instanz (self oder other) ein Item ins Inventory
func void CreateInvItems(var c_npc n0, var int n1, var int n2)
wie vorherige Funktion, nur das Multi-Items (z.B.: 100 Pfeile) ins Inventory kreiert werden
func int Doc_Create()
func int Doc_CreateMap()
func void Doc_Font(var string s0)
Noch nicht dokumentiert
func void Doc_MapCoordinates(var string s0, var float r1, var float r2, var float r3, var float r4, var float r5, var float r6, var float r7, var float r8)
Noch nicht dokumentiert
func void Doc_Open(var string s0)
Noch nicht dokumentiert
func void Doc_Print(var string s0)
Noch nicht dokumentiert
func void Doc_PrintLine(var int document, var int page, var string text)
func void Doc_PrintLines(var int document, var int page, var string text)
func void Doc_SetFont(var int document, var int page, var string font)
func void Doc_SetLevel(var int document, var string level)
func void Doc_SetLevelCoords(var int document, var int left, var int top, var int right, var int bottom)
func void Doc_SetMargins(var int document, var int page, var int left, var int top, var int right, var int bottom, var int pixels)
func void Doc_SetPage(var int document, var int page, var string texture, var int scale)
func void Doc_SetPages(var int document, var int count)
func void Doc_Show(var int document)
- OBSOLETE -
func void Doc_Open (var string Texture) {};
func void Doc_Font (var string Font) {};
func void Doc_Print (var string Text) {};
func void Doc_MapCoordinates (var string Level, var float GameX1, var float GameY1, var float PixelX1, var float PixelY1, var float GameX2, var float GameY2, var float PixelX2, var float PixelY2) {};
func void EquipItem(var c_npc n0, var int n1)
gibt dem Nsc direkt das angegebene Item an den Gürtel
func void ExitGame()
func void ExitSession()
func int FloatToInt(var float x)
!!! konvertiert einen float in einen int, hier wäre es noch ganz schön zu wissen, wie mit dem float umgesprungen wird --> schneiden oder runden ???
func string FloatToString(var float r0)
Noch nicht dokumentiert
func void Game_InitEnglish()
func void Game_InitGerman()
func int Hlp_CutscenePlayed(var string csname)
Abfrage, ob Cutscene schon gespielt wurde (0 = Nein / 1 = Ja)
func int Hlp_GetInstanceID(var c_item item)
liefert die interne ID ( nicht Var aus der Instanz) zurück, um zwei items miteinander vergleichen zu können ( integer Vergleich)
func c_npc Hlp_GetNpc(var int instancename)
Ermittle einen NSC über den Instanznamen. Dieser kann einer Variablen zugewiesen werden und ist somit gezielt verfügbar
func int Hlp_IsItem(var c_item item, var int instancename)
Prüft, ob der Gegenstand 'item' den Instanznamen 'instanceName' trägt. Will man z.B. testen,
ob die globale Variable item Pfeile sind (ItMuArrow) ruft man Hlp_IsItem(item,ItMuArrow) auf.
Gribt bei Gleichheit TRUE, sonst FALSE zurück.
func int Hlp_IsValidItem(var c_item item)
Prüfe ob Item-Instanz gültig und initialisiert ist True/False
func int Hlp_IsValidNpc(var c_npc self)
Prüfe ob NSC-Instanz gültig und initialisiert ist. True/False
func int Hlp_Random(var int n0)
erzeugt einen Zufallswert (wobei n0 Obergrenze : [0..n0-1] ) Rückgabewert integer
func int Hlp_StrCmp(var string s1, var string s2)
Hilfsfunktion um zwei Strings miteinander zu vergleichen liefert bei Gleichheit eins zurück
func int InfoManager_HasFinished()
Noch nicht dokumentiert
func void Info_AddChoice(var int i0, var string s1, var func f2)
Noch nicht dokumentiert
func void Info_ClearChoices(var int i0)
Noch nicht dokumentiert
func float IntToFloat(var int x)
!!! wie float to int, nur daß ein integer in float umgewandelt wird ???
func string IntToString(var int x)
!!!Funktion überträgt eine Integer variable in eine Stringvariable (Rückgabewert : string)???
func void IntroduceChapter(var string titel, var string untertitel, var string texture, var string sound, var int waittime)
////////////////////////////////////////////////////////////////////////////
MAPS and DOCUMENTS
////////////////////////////////////////////////////////////////////////////
func void Log_AddEntry(var string topic, var string entry)
Der Befehl fügt dem Topics topic ein neues Entrz namens entry hinzu. Wie auch bei der Erzeugung von Topics dient hier der
Name sowohl zur Identifikation als auch zur Anzeige und muss somit eindeutig sein. Doppelte Einträge werden auch hier ignoriert.
Parameter
topic Diejenige Zeichenkette, die bei der Erstellung des Topics per Log_CreateTopic() angegeben wurde.
entry Eine eindeutige Zeichenkette, die sowohl zur Identifikation als auch zur Anzeige des Eintrags verwendet wird.
func void Log_CreateTopic(var string name, var int section)
Der Befehl fügt unter der Sektion 'section' ein neues Topic mit Namen 'name' ein.
Sollte bereits ein Topic dieses Names in irgendeiner Sektion existieren, wird das Topic nicht hinzugefügt.
Parameter:
- name Eine eindeutige Zeichenkette, die sowohl zur Identifikation als auch zur Anzeige des Topics verwendet wird.
- section Eine, in der Constants.d definierte Konstante, die besagt, in welcher Sektion das Topic angezeigt werden soll.
Die Konstante kann folgende Werte annehmen:
- LOG_MISSION
- LOG_NOTE
func void Log_SetTopicStatus(var string name, var int status)
Der Befehl ändert den Status des Topics 'name' in 'status'.
Er sollte nur für Topics verwendet werden, die für die Sektion LOG_MISSION erzeugt wurden.
Parameter:
- name Diejenige Zeichenkette, die bei der Erstellung des Topics per Log_CreateTopic() angegeben wurde.
- status Eine, in der Constants.d definierte Konstante, die besagt, unter welchem Status die Mission dargestellt werden soll.
Folgende Werte sind möglich:
- LOG_RUNNING
- LOG_SUCCESS
- LOG_FAILED
- LOG_OBSOLETE
func void Mdl_ApplyOverlayMDS(var instance n0, var string s1)
Noch nicht dokumentiert
func void Mdl_ApplyOverlayMDSTimed(var c_npc self, var string overlayname, var float timeticks)
Overlay-MDS wird gestartet und automatisch nach der angegebenen Zeit abgeschaltet
func void Mdl_ApplyOverlayMds(var c_npc n0, var string s1)
mit diesem Befehl werden Animationen auf einem höheren Layer gestartet
(z.B. hat der Zombie ein Overlay über die normalen Human-Animationen)
func void Mdl_ApplyOverlayMdsTimed(var instance n0, var string s1, var int i2)
Noch nicht dokumentiert
func void Mdl_ApplyRandomAni(var c_npc n0, var string s1, var string s2)
Fügt Zufallsanimationen (am Kopf kratzen, an den Sack packen etc (s2)) für bestimmte Animationszustände (s1) ein
func void Mdl_ApplyRandomAniFreq(var c_npc n0, var string s1, var float f2)
hiermit kann die Frequenz betimmt werden, wie oft die für den Animationszustand (s1) deklarierten Randomanis abgespielt werden
func void Mdl_ApplyRandomFaceAni(var c_npc self, var string name, var float timemin, var float timeminvar, var float timemax, var float timemaxvar, var float probmin)
Starte zufällige Gesichtsanimation
Mdl_ApplyRandomFaceAni ( self, ANINAME, minTime, minTimeVar, maxTime, maxTimeVar, probMin)
minTime = Minimum an Zeit nachdem Ani startet (in Sekunden)
maxTime = Maximum an Zeit nachdem Ani startet (in Sekunden)
minTimeVar = Abweichung von minTime (in Sekunden)
maxTimeVar = Abweichung von maxTime (in Sekunden)
probMin = Wahrscheinlichkeit [0..1] ob obere oder untere Grenze der Abweichung benutzt wird
func void Mdl_RemoveOverlayMDS(var c_npc self, var string overlayname)
Entferne ein Overlay-MDS
func void Mdl_SetModelFatness(var c_npc self, var float fatness)
Setzt Model-Z-Skalierung
func void Mdl_SetModelScale(var c_npc self, var float x, var float y, var float z)
zum skalieren des Meshes (Breite,Höhe,Tiefe) 1 = 100%, also Normalgröße!
func void Mdl_SetVisual(var instance n0, var string s1)
Noch nicht dokumentiert
func void Mdl_SetVisualBody(var instance n0, var string s1, var int i2, var int i3, var string s4, var int i5, var int i6, var int i7)
Noch nicht dokumentiert
func void Mdl_StartFaceAni(var c_npc self, var string name, var float intensity, var float holdtime)
Starte Gesichtsanimation // intensity 1 = 100% // holdTime -1 = forever
func void Mis_AddMissionEntry(var instance n0, var string s1)
Noch nicht dokumentiert
func int Mis_GetStatus(var int missionname)
Liefert aktuellen Status einer Mission zurück ( Bezogen auf den Spieler ) -> RUNNING, SUCCESS, FAILED etc.
func int Mis_OnTime(var int missionname)
Liefert TRUE, wenn sich Spieler noch innerhalb des Zeitlimits für diese Mission befindet
func void Mis_RemoveMission(var instance n0)
Noch nicht dokumentiert
func void Mis_SetStatus(var int missionname, var int newstatus)
Setzt den Status einer Mission ( Bezogen auf den Spieler ) -> RUNNING, SUCCESS, FAILED etc. )
func void Mob_CreateItems(var string mobname, var int iteminstance, var int amount)
Erzeuge "amount" Items der Instanz "itemInstance" in oCMobContainer mit angegebenen Vobnamen.
func int Mob_HasItems(var string mobname, var int iteminstance)
Liefere Anzahl der Items der Instanz "itemInstance" in oCMobContainer mit angegebenen Vobnamen
func int NPC_GiveInfo(var c_npc npc, var int important)
Überprüft,ob der NSC eine (!) gültige Info für den Spieler hat und startet diese gegebenenfalls (Returnwert "1").
func int Npc_AreWeStronger(var c_npc self, var c_npc other)
ermittelt den stärkeren Nsc,
Wenn die Summe der Level aller NPCs (human, Monster), die zu mir feindlich sind und die zu freundlich sind
MEHR ALS DOPPELT SO HOCH ist (x > 2*y), wie die Summe der Level aller Leute, die zu mir freundlich sind, und die
zu feindlich sind, dann NEIN,
sonst JA (= wir SIND stärker, nicht echt, aber ab doppelter Gegnerstärke zu fliehen ist früh genug, sonst kommen
die Jungs aus dem Rennen nicht mehr raus
Beachten:
1) Monster können feindlich zu beiden Menschen sein --> egal, zählen auf beiden Seiten
2) Jemand, der z.B. zu mir freundlich und zu feindlich ist, wird demnach doppelt gewertet --> ok so
func int Npc_CanSeeItem(var c_npc npc1, var c_item item)
Prueft ob Npc1 den Gegenstand sehen kann ( ein Ray wird gecastet -> Bitte sparsam einsetzen ) True/False
func int Npc_CanSeeNpc(var c_npc npc1, var c_npc npc2)
Prueft ob Npc1 den Npc2 sehen kann ( ein Ray wird gecastet -> Bitte sparsam einsetzen ) True/False Blickwinkelabhängig (+,-100°)+LOS von der Hüfte aus
func int Npc_CanSeeNpcFreeLOS(var c_npc self, var c_npc other)
Prüft ob NSC anderen NSC sehen kann, ohne dabei den Winkel zu berücksichtigen (nur LineOfSight-Check)
func int Npc_CanSeeSource(var c_npc self)
Checkt, ob NSC die Soundquelle sehen kann True/False
func void Npc_ChangeAttribute(var c_npc self, var int atr, var int value)
ändert den Wert des Attributs (atr) um (value) Einheiten.
func int Npc_CheckAvailableMission(var c_npc npc, var int missionstate, var int important)
Prüfe ob zwischen dem NSC eine aktuelle Mission (AVAILABLE,RUNNING) besteht und vergleiche den Status mit den angegebenen.
Falls dieser identisch ist, wird "1" geliefert.
func int Npc_CheckInfo(var c_npc npc, var int important)
Überprüft,ob der NSC gültige Infos für den Spieler hat und startet diese gegebenenfalls (Returnwert "1").
func int Npc_CheckOfferMission(var c_npc npc, var int important)
Überprueft ob der NSC dem Spieler einen Auftrag anbieten kann, wenn ja, wird der Offer-Block gestartet und "1" zurückgeliefert.
func int Npc_CheckRunningMission(var c_npc npc, var int important)
Überprueft ob zwischen dem NSC und dem Spieler eine laufende Mission besteht und startet den entsprechenden Skriptblock.
(Returnwert 1 : Mission aktiv)
func void Npc_ClearAIQueue(var c_npc self)
hiermit werden alle Befehle mit sofortiger Wirkung aus der AI_Queue rausgeworfen
func void Npc_ClearInventory(var instance n0)
Noch nicht dokumentiert
func void Npc_CreateSpell(var c_npc self, var int spellnr)
NSc bekommt Zauberspruch zugewiesen kann diesen aber noch nicht gebrauchen
(erscheint ausgegraut im Auswahlkranz)
func int Npc_DeleteNews(var instance n0, var int i1)
Noch nicht dokumentiert
func void Npc_ExchangeRoutine(var c_npc self, var string routinename)
Tausche meherere Tagesabläufe aus
func int Npc_GetActiveSpell(var c_npc self)
liefert den Zauber zurück, der auf der Hand ist (self oder other)
liefert -1 zurück, wenn kein Zauber auf der Hand ist
func int Npc_GetActiveSpellCat(var c_npc self)
Unterscheidet zwischen den drei Kategorien (Spell_Bad, Spell_neutral,Spell_Good) Spellkat ist Rückgabewert
func int Npc_GetActiveSpellIsScroll(var instance n0)
Noch nicht dokumentiert
func int Npc_GetActiveSpellLevel(var c_npc self)
????
func int Npc_GetAttitude(var c_npc self, var c_npc other)
Gibt die Attitüde von self zu other zurück (temp. / perm. / Gilden )
func int Npc_GetBodyState(var c_npc self)
Ermittle BodyState ( Liefert BS_-Konstanten )
!!! VORSICHT !!!: Diese Funktion gibt den Bodystate mit allen eventuellen
ver-oderten Modifiern wie "brennend". Besser 'C_BodyStateContains(self,bodystate)' benutzen
func int Npc_GetComrades(var instance n0)
Noch nicht dokumentiert
func string Npc_GetDetectedMob(var c_npc self)
liefert den Schemanamen des Mobsi zurück, das der Nsc entdeckt hat. Schemaname ist das String-Kürzel des Mobs, daß im Visualnamen vor dem ersten "_"-Zeichen steht, also z.B. "DOOR" wenn der Visualname "DOOR_OCR__135" ist.
VORSICHT: Diese Funktion ist nur in Verbindung mit PERC_MOVEMOB erlaubt !!!
WORKAROUND: zur Zeit werden hiermit nur Tür-MOBSIs zurückgegeben, dies soll aber wieder zurückgebaut werden
func int Npc_GetDistToItem(var c_npc npc, var c_item item)
Liefert Entfernung ( ín cm ! ) zwischend NSC und Gegenstand
func int Npc_GetDistToNpc(var c_npc npc1, var c_npc npc2)
Liefert Entfernung ( ín cm ! ) zwischend den beiden NSCs
func int Npc_GetDistToPlayer(var c_npc npc1)
Liefert Entfernung ( ín cm ! ) zwischend den beiden NSCs
func int Npc_GetDistToWP(var c_npc self, var string wpname)
liefert die Entfernung vom NSC 'self' zum angegebenen Waypoint in cm
func c_item Npc_GetEquippedArmor(var c_npc n0)
Liefert die angelegte Rüstung des NSCs.
func c_item Npc_GetEquippedMeleeWeapon(var c_npc n0)
Liefert die gegurtete Nahkampfwaffe des NSCs.
func c_item Npc_GetEquippedRangedWeapon(var c_npc n0)
Liefert die gegurtete Fernkampfwaffe des NSCs.
func int Npc_GetGuildAttitude(var c_npc npc, var c_npc npc)
Ermittelt die Gildenattitüde von zwei Nsc´s direkt im Gegensatz zu Wld_GetGuildAttitude
func int Npc_GetHeightToItem(var instance n0, var instance n1)
Noch nicht dokumentiert
func int Npc_GetHeightToNpc(var c_npc npc1, var c_npc npc2)
Liefert Höhendifferenz ( ín cm ! ) zwischend den beiden NSCs