func int Npc_GetTarget(var c_npc self)
Befüllt 'other' mit dem aktuellen Ziel. Das aktuelle Ziel wird intern gespeichert, wird
durch Npc_SetTarget() bzw. Npc_GetNextTarget() gesetzt.
- return: aktuelles Ziel gespeichert -> TRUE
kein Ziel gespeichert -> FALSE
func int Npc_GetTrueGuild(var c_npc npc)
liefert immer!!! die wahre Gilde zurück, ignoriert also auch ohne die Regeln die Verkleidung
func int Npc_GiveInfo(var instance n0, var int i1)
Noch nicht dokumentiert
func void Npc_GiveItem(var c_npc n0, var c_item n1, var c_npc n2)
Der NSC "self" gibt den NSC "other" den angegebenen Gegenstand "item". Der Gegenstand wandert sofort ins Inventory des anderen.
func int Npc_HasBodyFlag(var c_npc self, var int bodyflag)
Liefert >0, falls BodyFlag gesetzt ist.
func int Npc_HasDetectedNpc(var c_npc self, var c_npc other)
liefert eins zurück, wenn der Spieler in Sinnesreichweite und entdeckt ist // SPIELER ???
func int Npc_HasEquippedArmor(var c_npc self)
Armor angezogen True/False
func int Npc_HasEquippedMeleeWeapon(var c_npc self)
gibt eins zurück, wenn eine Nahkampfwaffe Equipped ist
func int Npc_HasEquippedRangedWeapon(var c_npc self)
Fernkampwaffe auf dem Rücken True/False
func int Npc_HasEquippedWeapon(var c_npc self)
gibt eins zurück, wenn die abgefragte Instanz (self oder other) eine Waffe sichtbar mit sich rumträgt
func int Npc_HasFightTalent(var c_npc self, var int tal)
Spezialabfrage auf Kampftalente (z.B. 1hSword) ansonsten wie Npc_HasTalent
func int Npc_HasItems(var c_npc n0, var int iteminstance)
Liefert "1", wenn NSC die angegebene Anzahl von Items besitzt.-> NpcHasItem ist damit obsolete
func int Npc_HasNews(var c_npc self, var int newsid, var c_npc offender, var c_npc victim)
Liefert Newsnummer>0 (für weitere Referenzen) falls entsprechende News vorhanden.
Nicht benötigte Parameter können mit "NULL" leergelassen werden
func int Npc_HasOffered(var c_npc self, var c_npc other, var int iteminstance)
Bietet Spieler dem NSC einen Gegenstand übers Trade-Modul an ? True/False
func int Npc_HasRangedWeaponWithAmmo(var c_npc npc)
Gibt TRUE zurück, wenn 'npc' irgendeine Fernkampfwaffe im Inventory oder in der Hand hat UND
dazu auch passende Munition vorhanden ist. Sonst FALSE.
func int Npc_HasReadiedMeleeWeapon(var c_npc self)
Nahkampfwaffe in der Hand
func int Npc_HasReadiedRangedWeapon(var c_npc self)
Fernkampfwaffe in der Hand
func int Npc_HasReadiedWeapon(var c_npc self)
gibt eins zurück, wenn die Waffe schon in der Hand ist
func int Npc_HasSpell(var c_npc self, var int spellid)
Kann der NSC den angegebenen Zauberspruch benutzen ?
func int Npc_HasTalent(var c_npc self, var int tal)
liefert eins zurück, wenn der geprüfte Charakter das Talent tal hat
func int Npc_IsAiming(var c_npc self, var c_npc other)
liefert eins zurück, wenn der zweite Character auf den ersten zielt (Fernkampfwaffen und Zauber)
func int Npc_IsDead(var c_npc n0)
Funktion liefert einen Wert zurück, falls Dead true ist
func int Npc_IsDetectedMobOwnedByGuild(var c_npc user, var int ownerguild)
Liefert >0, falls "ownerguild" der Besitzer des vom "user" benutzten Mob ist.
VORSICHT: Diese Funktion ist nur in Verbindung mit PERC_MOVEMOB erlaubt !!!
func int Npc_IsDetectedMobOwnedByNpc(var c_npc user, var c_npc owner)
Liefert >0, falls "owner" der Besitzer des vom "user" benutzten Mob ist.
VORSICHT: Diese Funktion ist nur in Verbindung mit PERC_MOVEMOB erlaubt !!!
func int Npc_IsInCutscene(var c_npc self)
liefert eins zurück, wenn der entsprechende Nsc in einer Cutscene ist
func int Npc_IsInFightMode(var c_npc self, var int fmode)
liefert eins zurück, wenn der Charakter im angegebenen Fightmode (z.B. FMODE_MAGIC) ist
func int Npc_IsInRoutine(var c_npc self, var func state)
Check ob der angegebene Zustand der aktuelle TA des NSCs ist. True/FAlse
func int Npc_IsInState(var c_npc self, var func state)
Abfrage auf den aktuellen Zustand einer Spielfigur True/False
func int Npc_IsNear(var c_npc self, var c_npc other)
liefert eins zurück, wenn geprüfte Instanz sich im Bereich von drei Metern zur prüfenden Instanz befindet
func int Npc_IsNewsGossip(var c_npc self, var int newsnumber)
Liefert >0, falls News "Gossip" ist
func int Npc_IsNextTargetAvailable(var c_npc self)
Sucht genauso wie Npc_GetNextTarget nach einem neuen Ziel, überschreibt aber weder
das interne Ziel, noch 'other'
- return: neues Ziel gefunden -> TRUE
kein Ziel gefunden -> FALSE
VORSICHT: Beruht auf der aktuellsten VOB-Liste, die durch aktive Wahrnehmungen oder durch
Npc_PerceiveAll() erstellt wurde. Wird diese Funktion in einem Zustand ohne aktive
Wahrnehmungen benutzt, muß vorher ein Npc_PerceiveAll() aufgerufen werden
func int Npc_IsOnFP(var c_npc self, var string name)
Abfrage darauf, ob der Nsc auf einem Freepoint mit name Teilstring steht
func int Npc_IsPlayer(var c_npc player)
liefert eins zurück, wenn der geprüfte Charakter der Spieler himself ist
func int Npc_IsPlayerInMyRoom(var c_npc npc)
gibt TRUE zurück, wenn sich SC im Raum des 'npc' oder seiner Gilde befindet, sonst FALSE
func int Npc_IsVoiceActive(var instance n0)
Noch nicht dokumentiert
func int Npc_IsWayBlocked(var c_npc self)
Liefert "1", falls Weg von NSC durch Hindernis versperrt ist.
func int Npc_KnowsInfo(var c_npc self, var int infoinstance)
Liefert TRUE, wenn der angegebene Spieler die Info schon einmal erhalten hat.
VORSICHT: auch wenn eine permanente Info schon einmal dem Spieler erzählt wurde, so gibt diese Funktion trotzdem FALSE zurück!
func int Npc_KnowsPlayer(var c_npc self, var c_npc player)
Kennt der NSC den Spieler? True/False
func void Npc_LearnSpell(var c_npc self, var int spellnr)
Was könnte das wohl heißen ? Ich glaube damit kann man den (spellnr) Zauber zuweisen
func void Npc_MemoryEntry(var c_npc self, var int source, var c_npc offender, var int newsid, var c_npc victim)
mit dieser Funktion wird eine NSC bezogene News geschrieben newsid : News ID source > 0 : "gossip", ansonsten "witness",
self: NSC, bei dem News eingespeist werden soll, other: Täter victim : Opfer
func void Npc_MemoryEntryGuild(var c_npc self, var int source, var c_npc offender, var int newsid, var c_npc victimguild)
wie MemoryEntry nur, das die Memory für die ganze Gilde kreiert wird
func int Npc_OwnedByGuild(var c_item item, var int guild)
Liefert "1", wenn der angegebenen Gilde das Item gehört ( Gildenbesitz )
func int Npc_OwnedByNpc(var c_item item, var c_npc npc)
Liefert "1", wenn dem NSC das Item gehört ( persönliches Besitzflag )
func void Npc_PercDisable(var c_npc self, var int percid)
Deaktiviere Perception
func void Npc_PercEnable(var c_npc self, var int percid, var func function)
Aktiviere Perception
func void Npc_PerceiveAll(var c_npc self)
Nimm alle Objekte in Wahrnehmungsreichweite wahr, die dann mit WLD_DetectNpc und Wld_DetectItem auswertbar sind
func void Npc_PlayAni(var instance n0, var string s1)
Noch nicht dokumentiert
func int Npc_RefuseTalk(var c_npc self)
Abfrage ob Dialog-Refuse Counter noch aktiv ist True/False
func void Npc_RemoveInvItem(var c_npc owner, var int iteminstance)
das angegebene Item wird aus dem Inventory des NSCs entfernt und gelöscht
func void Npc_RemoveInvItems(var c_npc owner, var int iteminstance, var int amount)
das angegebene Anzahl des Multi-Items wird aus dem Inventory des NSCs entfernt und gelöscht
func void Npc_SendPassivePerc(var c_npc npc1, var int perc_type, var c_npc npc2, var c_npc npc3)
Sende eine passive Wahrnehmung aus.Npc1 = wer schickt Npc2 = Opfer, Npc3 = Täter
func void Npc_SendSinglePerc(var c_npc self, var c_npc target, var int percid)
verschicke Wahrnehmung an einzelnen NSC
func int Npc_SetActiveSpellInfo(var c_npc npc, var int i1)
Hier kann ein Wert für den Zauberspruch gesetzt werden. Was dieser Wert bewirkt, haengt allein von der Nutzung im
Skript ab. Das Programm benutzt diesen nicht.
func void Npc_SetAttitude(var c_npc self, var int att)
setzt die permanente Attitüde auf einen festen Wert
func void Npc_SetKnowsPlayer(var c_npc self, var c_npc player)
NSC kennt SC
func void Npc_SetPercTime(var c_npc self, var float seconds)
Setze Zeitdelta für aktive Wahrnehmungen, alle Zeitdelta-Sekunden wird WN gesendet
func void Npc_SetRefuseTalk(var c_npc self, var int timesec)
Dialog Refuse Counter aus "x" Sekunden setzen
func void Npc_SetStateTime(var c_npc self, var int seconds)
_Setzt_ Anzahl Sekunden, wie lange der NSC sich in diesem Zustand im "Loop" befindet.
--> Das ist dann über Npc_GetStateTime abfragbar.
func void Npc_SetTalentSkill(var instance n0, var int i1, var int i2)
Noch nicht dokumentiert
func void Npc_SetTalentValue(var instance n0, var int i1, var int i2)
Noch nicht dokumentiert
func void Npc_SetTarget(var c_npc self, var c_npc other)
Gibt dem Nsc 'self' das interne Ziel 'other'. --> Nur wenn per GetTarget auch der other "geholt" wird ist er vorhanden, da hier interne Variablen, die in den Skripten nicht vorhanden sind verwendet werden
func void Npc_SetTeleportPos(var c_npc self)
Magie/Zauberstein Teleport Spruch : letzte Position des NSCs merken, zwecks späteren dahinbeamens.
func void Npc_SetTempAttitude(var c_npc self, var int att)
setzt die temporäre Attitüde auf einen Wert (att)
func void Npc_SetToFightMode(var c_npc self, var int weapon)
Setzt den NSC beim Start in den der Waffe entsprechenden Kampfmodus (Waffe wird erzeugt)
func void Npc_SetToFistMode(var c_npc self)
Setzt den NSC beim Start in den Faustkampfmodus (zB.Monster)
func int Npc_SetTrueGuild(var c_npc npc, var int guildid)
Setzt die wahre Gilde des NSCs
func int Npc_StartItemReactModules(var c_npc self, var c_npc other, var c_item item)
Prüfe alle ItemReact-Module von "self" auf Gegenstand "item" von Geber "other" und starte passende Reaction-Funktion
liefert True beim finden eines Moduls
func int Npc_WasInState(var c_npc self, var func state)
Abfrage auf den vorherigen Zustand einer Spielfigur True/False
func int Npc_WasPlayerInMyRoom(var c_npc npc)
gibt TRUE zurück, wenn sich SC vor dem letzten Raumwechsel im Raum des 'npc' oder seiner Gilde befindet, sonst FALSE
Raumwechsel ist dabei: Außen->Raum1, Raum1->Raum2, -> Raum1->Außen
func void Perc_SetRange(var int percid, var int range)
Setze Reichweite fuer eine passive Wahrnehmung int cm
func int PlayVideo(var string s0)
Noch nicht dokumentiert
func void Print(var string s0)
Ausgabebefehl, der Text ins Game schreibt (wie OutputunitTexte)
func void PrintDebug(var string s)
Printausgabe, die nur bei eingeschaltetem Debugmodus (Alt+D) im Spy/logfile ausgegeben wird
func void PrintDebugCh(int ch, string text)
gibt nur den Text eines bestimmten Channels wieder, unabhängig von der Instanz ???
func void PrintDebugInst(string text)
!!! gibt nur den Debugtext der eingeschalteten (SetDebugFocus --> siehe Intranetpage Erweitertes Skript-Debugging) Instanz aus ???
func void PrintDebugInstCh(int ch, string text)
!!! gibt nur in einem bestimmten channel liegende Debuginfos einer Instanz aus ???
func int PrintDialog(var int i0, var string s1, var int i2, var int i3, var string s4, var int i5)
Noch nicht dokumentiert
func void PrintMulti(var string s0, var string s1, var string s2, var string s3, var string s4)
Printbefehl, der aus den angegebenen Strings einen Auswählt und auf den Bildschirm schreibt
func void PrintScreen(var int dialognr, var string msg, var int posx, var int posy, var string font, var int timesec)
Gibt den Text 'msg' auf dem Bildschrim aus und benutzt dabei den Font 'font'.
Die Position ist für jede Koordinate eine Zahl zwischen 0 und 99 und gibt die prozentuale Position an.
Der Ursprung befindet sich oben links (also 0% X und 0% Y)
func void Rtn_Exchange(var string oldroutine, var string newroutine)
Tausche aktuellen Tagesablauf des NSC "self" gegen angegebenen aus
(Name wird automatisch mit "RTN_" am Anfang und NSC-Skript-ID am Ende ergänzt)
func void SetPercentDone(var int i0)
Noch nicht dokumentiert
func int Snd_GetDistToSource(var c_npc self)
Liefert Entfernung ( in cm ! ) zum letzten logischen Sound
func int Snd_IsSourceItem(var c_npc self)
Check, ob Quelle des letzten Sound Item war (Return >0) und setzt "item" auf diesen Gegenstand
func int Snd_IsSourceNpc(var c_npc self)
Check, ob Quelle des letzten Sound NPC war (Return >0) und setzt "other" auf diesen NPC
func void Snd_Play(var string s0)
spielt einen Sound ab
func void Snd_Play3D(var c_npc n0, var string s1)
spielt einen 3D-Sound ab.
func void TA(var c_npc self, var int start_h, var int stop_h, var func state, var string waypoint)
Mit _(Zustandsname) wird ein neuer Tagesablauf generiert, siehe TA.d
func void TA_BeginOverlay(var c_npc self)
Melde einen Overlay-Tagesablauf an
func void TA_CS(var c_npc self, var string csname, var string rolename)
Cutscene an den zuletzt angegebenen Tagesablaufpunkt hängen
csName : Name der Cutscene ( der Name des "CS" - Files )
roleName : Die Rolle die der NSC dabei übernehmen soll.
func void TA_EndOverlay(var c_npc self)
Beende einen Overlay-Tagesablauf
func void TA_Min(var c_npc self, var int start_h, var int start_m, var int stop_h, var int stop_m, var func state, var string waypoint)
Tagesablaufpunkt minutengenau angeben
func void TA_RemoveOverlay(var c_npc self)
Entferne aktiven TA-Overlay
func void Tal_Configure(var int i0, var int i1)
Noch nicht dokumentiert
func void Update_ChoiceBox(var string s0)
Noch nicht dokumentiert
func void Wld_AssignRoomToGuild(var string s0, var int guild)
Ordnet den Raum: 's0' der Gilde 'guild' zu
func void Wld_AssignRoomToNpc(var string s0, var c_npc roomowner)
Ordnet den Raum: 's0' dem speziellen Nsc 'roomowner' zu
func int Wld_DetectItem(var c_npc self, var int flags)
liefert eins zurück, wenn ein Item mit dem Entsprechende Flag (z.B.ITEM_KAT_FOOD )gefunden wurde
Globale Variable 'item' wird mit dem gefundenen Gegenstand initialisiert
func int Wld_DetectNpc(var c_npc self, var int instance, var func aistate, var int guild)
Diese Methode initilisiert die globale Skriptvariable "other" mit einem NSC, den "self" beim letzten Warnehmungscheck wargenommen hat.
instance = Name der zu suchenden Instanz ( "-1" angeben, wenn Instanzname unwichtig )
guild = Der zu suchende NSC muss Mitglied dieser Gilde sein ( "-1" angeben, wenn Gilde unwichtig )
aiState = Der AI-Zustandsname, in dem sich der NSC befinden soll ( NOFUNC angeben, wenn AI-State unwichtig )
Wenn die Methode einen entsprechenden NSC gefunden hat, liefert diese "1" und 'other' ist initialisiert
ansonsten wird "0" geliefert und "other" wird nicht verändert.
func int Wld_DetectNpcEx(var c_npc self, var int npcinstance, var func aistate, var int guild, var int detectplayer)
Wie Wld_DetectNpc(). Zusätzlich kann per detectPlayer=0 der Spieler ignoriert werden.
func int Wld_DetectPlayer(var c_npc self)
liefert eins zurück, wenn der Player in der Nähe ist
func void Wld_ExchangeGuildAttitudes(var string name)
Tausche Gilden-AttitudenTabelle aus.
func int Wld_GetDay()
Liefert den aktuellen Tag zurück (Zähler), hierbei ist der StartTag (Gamestart) = 0.
func int Wld_GetFormerPlayerPortalGuild()
liefert den NSC des Raums, in dem sich der SC vor dem letzten "Raumwechsel" befunden hat, zurück
Raumwechsel ist dabei: Außen->Raum1, Raum1->Raum2, -> Raum1->Außen
- wenn der SC 'draußen' ist, dann wird GIL_NONE zurückgegeben
- wenn der aktive Raum gildenlos ist, dann wird GIL_NONE zurückgeliefert
func c_npc Wld_GetFormerPlayerPortalOwner()
liefert den NSC des Raums, in dem sich der SC vor dem letzten "Raumwechsel" befunden hat, zurück
Raumwechsel ist dabei: Außen->Raum1, Raum1->Raum2, -> Raum1->Außen
- wenn der SC 'draußen' ist, dann ist der Rückgabe-Npc 'notValid'
- wenn der aktive Raum besitzerlos ist, dann ist der Rückgabe-Npc 'notValid'
func int Wld_GetGuildAttitude(var int guild1, var int guild2)
Ermittle Gildenattitude
func int Wld_GetMobState(var c_npc self, var string schemename)
Liefert den State zum nächsten Mob mit 'schemeName' zurück bzw. '-1' wenn kein solches Mob gefunden wurde
func int Wld_GetPlayerPortalGuild()
liefert Gilde des aktiven Raums, in dem sich der SC gerade befindet, zurück
- wenn der SC 'draußen' ist, dann wird GIL_NONE zurückgegeben
- wenn der aktive Raum gildenlos ist, dann wird GIL_NONE zurückgeliefert
func c_npc Wld_GetPlayerPortalOwner()
liefert den NSC des aktiven Raums, in dem sich der SC gerade befindet, zurück
- wenn der SC 'draußen' ist, dann ist der Rückgabe-Npc 'notValid'
- wenn der aktive Raum besitzerlos ist, dann ist der Rückgabe-Npc 'notValid'
func void Wld_InsertItem(var int iteminstance, var string spawnpoint)
Füge Item in Welt ein entweder an einem WP oder einem FP
Vorsicht, funktioniert nicht, Items werden immer im Mittelpunkt der Welt inserted
func void Wld_InsertNpc(var int npcinstance, var string spawnpoint)
Füge NSC in Welt ein. Wobei SPawnpoint entweder ein WP oder ein FP sein darf.
func void Wld_InsertNpcAndRespawn(var int instance, var string spawnpoint, var float spawndelay)
Füge NSC in Welt ein. Wobei SPawnpoint entweder ein WP oder ein FP sein darf. Stirbt dieser NSC wird
nach "spawnDelay"-Sekunden ein neuer NSC am Spawnpoint erzeugt.
func void Wld_InsertObject(var string s0, var string s1)
Noch nicht dokumentiert
func int Wld_IsFPAvailable(var c_npc self, var string fpname)
Sucht einen Freepoint im Umkreis von 20m vom NSC und liefert TRUE falls vorhanden und frei ('self' zählt als Blockierer nicht!) und sichtbar
func int Wld_IsFpAvailable(var instance n0, var string s1)
Noch nicht dokumentiert
func int Wld_IsMobAvailable(var c_npc self, var string schemename)
Sucht sich ein Mobsi im Umkreis von 10m und liefert TRUE falls gefunden. MOB wird nur zurückgeliefert, wenn es nicht besetzt ist.
func int Wld_IsNextFPAvailable(var c_npc self, var string fpname)
wie Wld_IsFPAvailable(), aber es wird immer der nahegelegenste genommen und 'self' zählt als Blockierer!
func int Wld_IsNextFpAvailable(var instance n0, var string s1)
Noch nicht dokumentiert
func int Wld_IsTime(var int hour1, var int min1, var int hour2, var int min2)
Liefert "1" wenn aktuelle Weltzeit zwischen den beiden angegebenen Zeiten liegt (von - bis)
func void Wld_PlayEffect(var string effectinstance, var int originvob, var int targetvob, var int effectlevel, var int damage, var int damagetype, var int bisprojectile)
effectInstance: Name der VisualFX-Instanz
originVob: Ursprung/Verursacher (muss existieren!)
targetVob: Ziel fuer Effekt + Schaden
effectLevel: Bei Angabe von effectLevel wird nach einer VisualFX-Instanz mit dem Namen _L gesucht und verwendet falls sie
gefunden wurde. (es muss trotzdem eine VisualFX-Instanz mit dem Namen definiert worden sein!)
damage: Hoehe des Schadens
damageType: Schadensart (DAM_Xxx)
bIsProjectile: Effekt ist Projektil
func int Wld_RemoveItem(var c_item item)
Hiermit wird das angegebene Item aus der Welt entfernt und gelöscht
func void Wld_RemoveNpc(var int i0)
Noch nicht dokumentiert
func void Wld_SendTrigger(var string vobname)
Sendet eine Trigger-Nachricht an das VOB (z.B. Mover) mit dem angegeben Namen.
func void Wld_SendUntrigger(var string vobname)
Sendet eine UnTrigger-Nachricht an das VOB (z.B. Mover) mit dem angegeben Namen.
func void Wld_SetGuildAttitude(var int guild1, var int attitude, var int guild2)
Setze Gildenattitude neu
func void Wld_SetMobRoutine(var int hour1, var int min1, var string objname, var int state)
_Alle_ Mobs mit diesem _Schemanamen_ werden getriggert.
func void Wld_SetObjectRoutine(var int hour1, var int min1, var string objname, var int state)
_Ein_ Objekt mit diesem _Vobnamen_ wird getriggert
func void Wld_SetTime(var int hour, var int min)
Setzt die Uhrzeit auf hour:min. hour kann größer als 23 sein, um zum nächsten Tag zu springen.
func void Wld_SpawnNpcRange(var instance n0, var int i1, var int i2, var float r3)
Noch nicht dokumentiert