|
-
Zitat von Neconspictor
Die Funktionsnamen sind B_CreateAmbientInv und B_CreateAmbientInv_Bau, also genauso wie du es vermutet hast.
Solange die Zuweisung nach B_CreateAmbientInv_Bau für den NPC korrekt ist, kann man also mit hoher Gewissheit sagen, dass self bis zu dem Zeitpunkt noch gültig ist. Vermutlich wird dann innerhalb des Externals CreateInvItems ein Randfall nicht aufgefangen.
...Da schaue ich gerade noch einmal in die von mir so bezeichnete zCParser::PopNpc und siehe da: Es könnte doch glatt genau das gleiche Problem mit dem korrupten Stack sein. Das Argument, das zu einem NPC gecastet werden soll (self), wird vom Datenstack gepoppt. Und zwar mit der gleichen Funktion, die wir bei den anderen AV diskutiert haben. Es ist also gut möglich, dass sich hier einfach das gleiche Problem in anderer Form geäußert hat: Der Datenstack ist korrupt.
Entsprechend würde ich jetzt einfach die weiteren Tests mit der zurvor veränderten HookEngine.d abwarten.
Zitat von Neconspictor
Könntest du den Source code zu deinem Ninja-Code posten? Könnte in der Zukunft vielleicht noch nützlich sein
Ja, das war so halbwegs meine Absicht. Den Code findest du in unkompilierter Form innerhalb der VDF-Datei.
-
Informationen (bezüglich Daedalus-Skripten) auf diese Weise aus Access Violations zu gewinnen geht übrigens ganz einfach, unkompliziert und schnell mit DecDat.
Generelles Vorgehen bei Access Violations
...die mit Daedalus zusammenhängen.
1. Vorbereitung
Vorweg: Entsteht die Violation aus Daedalus heraus, sollten wir im zSpy von Ikarus einen Daedalus-Stacktrace serviert bekommen. In dem Fall brauchen wir nicht weiter suchen. Falls das nicht der Fall ist oder wir keinen zSpy-Log zur Verfügung haben, können wir uns die Informationen aus der Access Violation zu Nutzen machen.
Die Access Violation zeigt im großen Feld den Stacktrace von Enginefunktionen an. Der Stacktrace beinhaltet von unten nach oben alle Adressen die jeweils die nächste Adresse aufgerufen haben, bis zur Adresse ganz oben wo die Access Violation (dt. Zugriffsverletzung) aufgetreten ist. Beinhaltet der Stacktrace etwas mit zCParser::DoStack, wurde von der Engine - wie schon erwähnt - etwas in den Daedalus-Skripten ausgeführt. Hier braucht man jetzt nicht groß in IDA herum zu forschen, denn der Stacktrace gibt uns genug Informationen.
Fast alle der Zahlen in der Acccess Violation sind im Hexadezimalsystem. Um damit zu arbeiten brauchen wir sie im Dezimalsystem. Umrechnen können wir diese mit dem Windows-Taschenrechner, Google, o.Ä.
Außerdem brauchen wir DecDat und exakt die unveränderte Gothic.dat, mit der die Access Violation aufgetreten ist, die wir jetzt in DecDat öffnen.
2. CallFunc
Meist finden wir mehrere zCParser::DoStack übereinander, die, wie beschrieben, von unten nach oben durchlaufen wurden. Außerdem geht dem, ein paar Zeilen darunter, ein zCParser::CallFunc()+719 byte(s) voran. Das ist die Enginefunktion, die eine Daedalusfunktion aufgerufen hat. Welche Funktion das war, können wir an der zweiten Hex-Zahl in den Klammern im Stacktrace ablesen.
0023:00792CBF (0x00AB40C0 0x00004B7E 0x00000000 0x39E471A8) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\...
Diese Zahl ist der Symbolindex der Funktion. ( Achtung: Manchmal werden Werte auf dem Stack überschrieben. Wenn also die erste Zahl in den Klammern nicht 0x00AB40C0 ist, sollte auch die zweite nicht der Symbolindex der Funktion sein! Dann überspringen wir diesen Schritt und machen direkt weiter in 4. DoStack weiter unten).
In DecDat suchen wir nach dieser Zahl (umgerechnet zu dezimal) unten im Feld mit dem Filter auf ID. In diesem Beispiel suchen wir nach 19326, denn das ist die Dezimalzahl für 0x00004B7E. Die nachfolgenden beiden Zahlen in den Klammern in der Zeile im Stacktrace sind die ersten beiden Funktionsargumente, falls die Daedalusfunktion welche erwartet (selten). [Nicht sicher, überprüfen]
Damit haben wir schon einmal die Funktion, die aus der Engine aufgerufen wurde. Manchmal reicht uns diese Information schon, in den meisten Fällen brauchen wir aber mehr Details (siehe 4. DoStack weiter unten)
3. CreateInstance
Manchmal finden wir anstatt zCParser::CallFunc, ein zCParser::CreateInstance+87 byte(s) im Stacktrace. Das ist der Fall, wenn die Engine keine Daedalusfunktion aufgerufen hat, sondern das Erstellen einer Daedalusinstanz angestoßen hat (z.B. einen NPC, ein Item, usw.). Hier finden wir den Symbolindex an dritter Stelle in den Klammern.
0023:00792FF7 (0x001EAC2D 0x8094BD90 0x00008577 0x228954A8) Gothic2.exe, zCParser::CreateInstance()+87 byte(s), P:\...
Diese Hexzahl wandeln wir wieder in dezimal um und finden sie so in DecDat.
4. DoStack
In den Zeilen mit zCParser::DoStack ist das erste Element in den Klammern der Offset im Daedalus-Codestack (eigentlich kein Stack), der ausgeführt werden soll:
0023:00792504 (0x000F3F96 0x8094C1D0 0x8094BD90 0x0072F161) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\...
Hier gehen wir etwas anders vor, weil man in DecDat nicht direkt nach Offsets suchen kann.
[Bild: 6qDdEfTtav_decdat.png] |
- Wir filtern die Suche nach Type.
- Wir geben folgenden regulären Ausdruck ein: func .*
- Wir drücken suchen.
- Wir scrollen über die externen Funktionen oben in der Liste hinweg und klicken auf eines der Symbole. Dann navigieren wir mit Pfeiltaste-Nachunten oder Bild-Nachunten...
- ...bis wir rechts unter content genau auf oder kurz vor den Offset aus der AV (umgerechnet zu dezimal) gelangen. In diesem Beispiel suchen wir nach 999318, denn das ist die Dezimalzahl für 0x000F3F96.
So finden wir die entsprechende Funktion.
Aufgepasst: Wir haben nach Funktionen gefiltert, um alle Variablen bei der Suche aus dem Weg zu haben. Der Offset aus der AV mag möglicherweise auch in einer Instanz liegen. |
[Bild: decdat_offsets.png] |
Im Tab "Tokens" finden wir dann sogar die genauen Offsets innerhalb der Funktion (diesmal als Hex-Zahlen) und können zum einen so genau die referenzierte Stelle finden, und zum anderen bestätigen, dass der Offset tatsächlich innerhalb der Funktion ist und nicht etwa in der nochfolgenden Instanz/Funktion. |
Alternativ (und mit gewissen Einschränkungen) geht das auch aus dem Spiel heraus, falls wir die CC-Call-Skripte in der Gothic.dat mitbenutzt hatten, oder mit dem Workaround Helper.
Wir öffnen die Konsole im MARVIN-Mode und geben nach einander ein:
call MEM_GetFuncIDByOffset 999318
call MEM_GetSymbolByIndex [Ausgabe vom vorherigen Befehl]
call MEM_ReadString [Ausgabe vom vorherigen Befehl] So sollten wir den Funktionsnamen erhalten, in dem der Offset liegt.
5. DoStack Operationen
Einige hilfreiche Byte-Offsets innerhalb von zCParser::DoStack, die in der AV mit " +xxx" nachgestellt sind, geben zusätzlich noch Aufschluss darüber was für eine Operation in den Skripten ausgeführt wurde.
0023:00792504 (0x000F3F96 0x8094C1D0 0x8094BD90 0x0072F161) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\...
Anstatt einzelner Offsets (sprich zCParser::DoStack()+offset), habe ich Offset-Bereiche aufgelistet. Die meisten sollte man allerdings nie in einer Access Violation finden.
Offset Bereich |
Operation/Token |
Dokumentation aus Ikarus |
351 bis 366 |
zPAR_TOK_PUSHINT |
Schiebe Integer Konstante auf den Datenstack |
366 bis 385 |
zPAR_TOK_PUSHVAR |
Schiebe Variable auf den Datenstack |
|
|
|
415 bis 449 |
zPAR_TOK_PUSH_ARRAYVAR |
Schiebe Adresse eines entsprechenden Arrayelements auf den Stack |
449 bis 538 |
zPAR_OP_IS |
"=" |
538 bis 631 |
zPAR_OP_ISPLUS |
"+=" |
631 bis 724 |
zPAR_OP_ISMINUS |
"-=" |
724 bis 828 |
zPAR_OP_ISMUL |
"*=" |
828 bis 934 |
zPAR_OP_ISDIV |
"/=" |
934 bis 1034 |
zPAR_OP_PLUS |
"+" |
1034 bis 1137 |
zPAR_OP_MINUS |
"-" |
1137 bis 1240 |
zPAR_OP_MUL |
"*" |
1240 bis 1351 |
zPAR_OP_DIV |
"/" |
1351 bis 1465 |
zPAR_OP_MOD |
"%" |
1465 bis 1565 |
zPAR_OP_OR |
"|" |
1565 bis 1665 |
zPAR_OP_AND |
"&" |
1665 bis 1783 |
zPAR_OP_LOWER |
"<" |
1783 bis 1901 |
zPAR_OP_HIGHER |
">" |
1901 bis 1999 |
zPAR_OP_LOG_OR |
"||" |
1999 bis 2090 |
zPAR_OP_LOG_AND |
"&&" |
|
|
|
2100 bis 2209 |
zPAR_OP_SHIFTL |
"<<" |
2209 bis 2318 |
zPAR_OP_SHIFTR |
">>" |
2318 bis 2436 |
zPAR_OP_LOWER_EQ |
"<=" |
2436 bis 2554 |
zPAR_OP_EQUAL |
"==" |
2554 bis 2672 |
zPAR_OP_NOTEQUAL |
"!=" |
2672 bis 2787 |
zPAR_OP_HIGHER_EQ |
">=" |
2787 bis 2837 |
zPAR_OP_UN_MINUS |
"-" |
2837 bis 1992 |
zPAR_OP_UN_PLUS |
"+" |
|
|
|
2881 bis 2898 |
zPAR_OP_UN_NOT |
"!" |
2898 bis 2910 |
zPAR_OP_UN_NEG |
"~" |
|
|
|
2932 bis 2999 |
zPAR_TOK_CALL |
Rufe Funktion auf |
2999 bis 3119 |
zPAR_TOK_CALLEXTERN |
Rufe External auf |
3119 bis 3139 |
zPAR_TOK_JUMP |
Springe im Parserstack |
3139 bis 3182 |
zPAR_TOK_JUMPF |
Konditioneller Sprung im Parserstack (lies: "jump if false". Für "if"-Bedingungen) |
3182 bis 3212 |
zPAR_TOK_SETINSTANCE |
So grob: "Setze aktuelle Instanz" |
3212 bis 3300 |
zPAR_TOK_ASSIGNSTR |
Zuweisung |
3300 bis 3333 |
zPAR_TOK_ASSIGNSTRP |
Zuweisung |
3333 bis 3356 |
zPAR_TOK_ASSIGNFUNC |
Zuweisung |
3356 bis 3379 |
zPAR_TOK_ASSIGNFLOAT |
Zuweisung |
3379 bis 3400 |
zPAR_TOK_PUSHINST |
Schiebe Instanz auf den Datenstack |
3400 bis 3463 |
zPAR_TOK_ASSIGNINST |
Zuweisung |
3463 bis 3515 |
INVALID_TOKEN |
"Error DoStack" |
3515 bis 3533 |
zPAR_TOK_RET |
Return |
Geändert von mud-freak (15.01.2021 um 10:33 Uhr)
Grund: Erweiterung
-
Danke mud_freak! Ich werde mir das später noch in aller Ruhe anschauen, aber ich denke, das dürfte in der Tat sehr hilfreich sein.
-
Ich habe mal eine Liste im Post oben angefügt. Anstatt einzelner Offsets (sprich zCParser::DoStack()+offset), habe ich Offset-Bereiche aufgelistet. Die meisten sollte man nie in einer Access Violation finden. So ist es aber wenigstens vollständig.
-
Ein Absturz, aber eventuell etwas andere Ursache. Passierte "mitten im Spiel"
AV:
Code:
//======================UNHANDLED EXCEPTION======================
//======================UNHANDLED EXCEPTION======================
Gothic2.exe caused a EXCEPTION_ACCESS_VIOLATION in module Gothic2.exe at 0023:00402EC7, std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign()+263 byte(s), P:\vs6\VC98\INCLUDE\xstring, line 123+7 byte(s)
EAX=0000FFFF EBX=00000005 ECX=FFFFFFFF EDX=00000000 ESI=00000000
EDI=0135F834 EBP=36E2D2DC ESP=0135F7F4 EIP=00402EC7 FLG=00210206
CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B
//===================== INFOS =========================
Gothic II - 2.6 (fix), Parser Version: 50
User: Chris, CPUType: 586, Mem: 0 MB total, 0 MB free
Camera: Pos(17986.7617/1825.74377/-916.150513), At(0.436580032/-0.0546001755/-0.898007095)
//====================== CALLSTACK ========================
0023:00402EC7 (0x0135F834 0x00000000 0xFFFFFFFF 0x00AB4108) Gothic2.exe, std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign()+263 byte(s), P:\vs6\VC98\INCLUDE\xstring, line 123+7 byte(s)
0023:00792624 (0x000642CF 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+3268 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1457+49 byte(s)
0023:00792504 (0x0007B416 0x1B433D5C 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
0023:00792504 (0x001A0BFA 0x0082E6F0 0xFFFFFFFF 0x36E2D860) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
0023:00792CBF (0x00AB40C0 0x00007C23 0x00000000 0x36FFC920) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
0023:0076D53E (0x1A9799A4 0x36E2D2D8 0x00000002 0x00000000) Gothic2.exe, oCNpc_States::DoAIState()+926 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oNpcStates.cpp, line 800+18 byte(s)
0023:0069BFBF (0x36E2D2D8 0x0135FB20 0x1A979758 0x00000000) Gothic2.exe, oCAIHuman::DoAI()+1295 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oAiHuman.cpp, line 2576
0023:00602E59 (0x00000001 0x014D3250 0x00000000 0x0135FCA8) Gothic2.exe, zCVob::DoFrameActivity()+505 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zVob.cpp, line 2258
0023:006C87EB (0x00400000 0x014D368A 0x0135FECC 0xFFFDE000) Gothic2.exe, oCGame::Render()+331 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGame.cpp, line 2658
0023:00425E6E (0x0082F0EC 0x00000000 0x00080112 0x014D3250) Gothic2.exe, CGameManager::Run()+1598 byte(s), P:\dev\g2addon\release\Gothic\_bert\oGameManager.cpp, line 767+47 byte(s)
0023:0078188B (0x0000002C 0x0000F8F0 0x00000000 0x00000000) Gothic2.exe, MainProg()+75 byte(s), P:\dev\g2addon\release\Gothic\_ulf\Phoenix.cpp, line 111
0023:00503270 (0x00400000 0x00000000 0x014D368A 0x0000000A) Gothic2.exe, HandledWinMain()+928 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1169
0023:00502DFD (0x0135FED0 0x00000000 0x014D368A 0x0000000A) Gothic2.exe, WinMain()+141 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1054+17 byte(s)
0023:007D43F8 (0x00000004 0x0000FFFF 0x000000B8 0x00000000) Gothic2.exe, WinMainCRTStartup()+224 byte(s)
//=====================================================
Die Adresse 0x00007C23 (=31779) von CallFunc zeigt auf diese Funktion:
Code:
func int ZS_Guide_Player_Loop()
{
if ((Npc_GetDistToNpc (self, hero) > 800)) //&& (Npc_GetDistToWP (self, self.wp) < Npc_GetDistToWP (hero, self.wp)))
{
B_AssessGuidePlayer ();
}
//-------- Ziel zu weit entfernt ! --------
else if ((Npc_GetDistToWP (self, self.wp) > 300))
{
if (!C_BodyStateContains (self, BS_SWIM))
{
AI_SetWalkMode (self, NPC_RUN);
};
AI_GotoWP (self, self.wp);
}
else if (Npc_GetStateTime (self) > 2)
{
B_TurnToNpc (self, hero);
Npc_SetStateTime (self, 0);
};
if (Npc_GetDistToNpc (self, hero) > 1300) {
LoA_ChangeRoutine(self, PARTYMEMBER_STAND, VAR_FOLLOWER_WAIT_WP);
};
return LOOP_CONTINUE;
};
DoStack()+2980 ist laut der Liste jeweils ein Funktionsaufruf:
0x001A0BFA (= 1707002) -- MEM_GetFuncIDByOffset: 31386 (int), MEM_GetSymbolByIndex 2139789708 (int), MEM_ReadString: "LOA_CHANGEROUTINE"
0x0007B416 (= 504854) -- 11610, 2140976268, "STR_SAVESTRONHANDLE")
Code:
var oCNpc FOLLOWER_oCNpc;
func void LoA_ChangeRoutine(VAR C_NPC npc, var int type, var string WP){
self = Hlp_GetNpc(npc);
if ( (Npc_IsInState (self, ZS_Attack) || Npc_IsInState (self, ZS_ReactToDamage)) ){
PrintDebugg("FIGHTING");
return;
};
Npc_ClearAIQueue (self);
AI_StandUp (self);
PrintDebugg("not fighting Rodrigo");
FOLLOWER_oCNpc = Hlp_GetNpc(self);
//quit memorizing guiding, if npc is not valid or target wp already reached. -> not working
// if (!Hlp_IsValidNpc(self)){ self.aivar[AIV_RoutineHandle] = 0; VAR_FOLLOWER_LAST_ROUTINE = ""; return; };
// && Npc_GetDistToWp(self, FOLLOWER_oCNpc.wpname) > 1000
if (type == PARTYMEMBER_STAND && Npc_GetDistToWp(self, FOLLOWER_oCNpc.wpname) > 1000) {
VAR_FOLLOWER_LAST_ROUTINE = STR_GetSavedStr(self.aivar[AIV_RoutineHandle]);
if (Hlp_StrCmp(VAR_FOLLOWER_LAST_ROUTINE, "")){
FOLLOWER_oCNpc = Hlp_GetNpc(self);
//Print(FOLLOWER_oCNpc.wpname);Print(self.wp);
self.aivar[AIV_RoutineHandle] = STR_SaveStrOnHandle(self.aivar[AIV_RoutineHandle], Npc_GetRoutineName(self));
PrintDebugg(ConcatStrings("AIV_RoutineHandle: ", IntToString(self.aivar[AIV_RoutineHandle])));
PrintDebugg(ConcatStrings("Routine Name: ", Npc_GetRoutineName(self)));
// PrintDebugg(ConcatStrings(
// ConcatStrings("Destination WP: ", FOLLOWER_oCNpc.wpname),
// ConcatStrings(" -> stop ", FOLLOWER_oCNpc.name )
// )
// );
VAR_FOLLOWER_WAIT_WP = Npc_GetNearestWP (self);
Npc_ExchangeRoutine(self, "waitstd");
VAR_FOLLOWER_WAIT_WP = "";
AI_ContinueRoutine (self);
};
}else if (type == PARTYMEMBER_LEAD){
if (!Hlp_StrCmp(STR_GetSavedStr(self.aivar[AIV_RoutineHandle]), "")) {
Npc_ExchangeRoutine(self, STR_GetSavedStr(self.aivar[AIV_RoutineHandle]));
AI_ContinueRoutine (self);
var oCNpc dsFOLLOWER_oCNpc;dsFOLLOWER_oCNpc = Hlp_GetNpc(self);
//Print(dsFOLLOWER_oCNpc.wpname);
// PrintDebugg(ConcatStrings(" -> go ", FOLLOWER_oCNpc.name ));
self.aivar[AIV_RoutineHandle] = STR_SaveStrOnHandle(self.aivar[AIV_RoutineHandle], "");
VAR_FOLLOWER_NPC = Hlp_GetNpc(hero);
};
};
};
Code:
func int STR_SaveStrOnHandle(var int sh, var string str) {
if (sh <= 0){
sh = new(string@);
};
var _string s; s = get(sh);
s.s = str;
return sh;
};
Den Code kann ich mir morgen noch mal selbst ansehen, da (LoA_ChangeRoutine) hatte ich vor ein paar Monaten mal was probiert - evt. aber nicht in einen funktionstüchtigen Zustand versetzt. Ziel ist es letztlich, dass Npc an beliebiger Stelle warten können, während sie dem Spieler den Weg zeigen / folgen.
Danke also für deine Anleitung, damit konnte ich mir hier selbst helfen! Lassen sich die Schritte auch mit DecDat o.ä. durchgehen, statt im Spiel?
-
Cool, dass du das Vorgehen direkt ausprobieren konntest - und dass es funktioniert.
Zitat von Milky-Way
Danke also für deine Anleitung, damit konnte ich mir hier selbst helfen! Lassen sich die Schritte auch mit DecDat o.ä. durchgehen, statt im Spiel?
Sehr gute Idee. Ich hatte ganz vergessen, dass DecDat mehr als nur den "Inhalt" von Symbolen bereitstellt. Ich habe den Beitrag oben editiert, wodurch dieser Prozess jetzt noch schneller und einfacher geht.
Laut der AV entsteht der Crash bei der Zuweisung von einem String (DoStack+3268 Bytes -> zPAR_TOK_ASSIGNSTR). Die einzige String-Zuweisung in STR_SaveStrOnHandle ist in Zeile 5.
Zitat von Milky-Way
Code:
func int STR_SaveStrOnHandle(var int sh, var string str) {
if (sh <= 0){
sh = new(string@);
};
var _string s; s = get(sh);
s.s = str;
return sh;
};
Ich gehe davon aus, dass s ungültig ist. Das kann passieren, wenn get(sh) eine leere Instanz zurückgibt, was durch die Abfrage vorher abgefangen werden sollte. Hier wird das Handle aber lediglich gegen Null verglichen. Das reicht nicht. Benutzt dort besser Hlp_IsValidHandle.
Code:
func int STR_SaveStrOnHandle(var int sh, var string str) {
if (!Hlp_IsValidHandle(sh)){
sh = new(string@);
};
var _string s; s = get(sh);
s.s = str;
return sh;
};
EDIT: Übrigens wird in LoA_ChangeRoutine das Symbol self überschrieben. Das sollte vermieden werden, da es in der ZS-Loop noch weiter verwendet werden könnte. Hier in diesem Fall ist self zwar der selbe NPC, aber mit einer lokalen Variable, z.B. slf, kann man schwere Bugs vorbeugen.
Geändert von mud-freak (14.09.2018 um 10:31 Uhr)
-
@mud_freak:
Also ich muss schon sagen, ich bin begeistert, dass man durch deine Anleitung die Access Violations gut verstehen kann.
Ein paar Fragen hätte ich noch: Und zwar geht es um die Aufschlüsselung des Call-Stacks:
Nehmen wir folgendes Beispiel:
0023:00792CBF (0x00AB40C0 0x00007C23 0x00000000 0x36FFC920) Gothic2.exe, zCParser::CallFunc()+719 byte(s)
0023 : Ist mir nicht klar, was das genau ist. Ich habe überlegt ob es der aktuelle Thread ist, aber Gothic wird doch eigtl. nicht so viele Threads verwenden?
00792CBF : Adresse im Code-Segment, wo es gecrasht hat. Über Ida kann man so die Funktion rausfinden.
Die Signatur wäre hier: void *zCParser::CallFunc(zCParser *this, int Value, ...)
(0x00AB40C0 0x00007C23 0x00000000 0x36FFC920) : Sind das die ersten vier DWORDs auf dem Stack? Also ESP+4, ESP+8, ESP+12 und ESP+16 ? Das heißt, sofern die Funktion Parameter hat, werden sie dort aufgezeigt.
Also durch die die Signatur wäre
0x00AB40C0 = Die Adresse des zCParser Objekts (this).
0x00007C23 = Parameter "Value", was der Symbolindex der Daedalus Funktion ist. In diesem Fall also "func int ZS_Guide_Player_Loop()"
0x00000000 und 0x36FFC920 = Sofern die Daedalus-Funktion Parameter hat, könnten das die ersten beiden sein. Die Parameter werden als Integers übergeben (... in der Signatur). Bei numerischen Werten ist das selbsterklärend. Aber andere Objekte? Wird da der Symbolindex oder ein pointer zu einem zCPar_Symbol übergeben?
Ich weiß, ganz schön viele Fragen...
-
Zitat von Neconspictor
Also ich muss schon sagen, ich bin begeistert, dass man durch deine Anleitung die Access Violations gut verstehen kann.
Ich habe mir erlaubt, die Anleitung mal direkt im Editing Wiki zu verlinken. Die Anleitung habe ich jetzt auch etwas erweitert.
0023 : Das müsste man nachschauen. Dort scheint aber immer 0023 zu stehen. Informationen bietet diese Zahl also nicht.
Zitat von Neconspictor
(0x00AB40C0 0x00007C23 0x00000000 0x36FFC920) : Sind das die ersten vier DWORDs auf dem Stack? Also ESP+4, ESP+8, ESP+12 und ESP+16 ?
Soweit richtig.
Zitat von Neconspictor
Das heißt, sofern die Funktion Parameter hat, werden sie dort aufgezeigt.
Diese Folgerung allerdings nicht: Es ist zwar der Stack ausgehend vom Stackpointer in der Funktion, aber der hat sich an der Adresse schon verändert.
Da wir in diesem Fall 719 Bytes innerhalb von zCParser::CallFunc() sind, ist es nicht identisch mit der Funktionssignatur. Die Funktionssignatur hilft hier also nicht weiter. Wenn man in IDA nachverfolgt, wie der Stack innerhalb dieser 719 Bytes manipuliert wird, kann man sich die Bedeutung der Werte heraussuchen. Dem entsprechend ist der erste Wert nicht *this! Das trifft nur an dieser speziellen Adresse zu, denn dort wurde ECX (*this) auf den Stack gepusht.
Speziell an dieser Adresse sollte der Stack aber so aussehen, wie du das beschrieben hast. Wie Parameter an Daedalusfunktionen übergeben werden entscheidet die Signatur der Daedalusfunktion. Wenn diese ein Objekt erwartet, ist das der Symbolindex. Allerdings kommt das (so gut wie?) nie vor. Die meisten Daedalusfunktionen, die aus der Engine aufgerufen werden erwarten maximal Integer als Argumente. Mir fallen aus dem Stegreif jetzt nur Spell-Funktionen ein, die manaInvested als Integer erwarten.
Geändert von mud-freak (14.09.2018 um 13:58 Uhr)
-
Vielen Dank für die ausführliche Anleitung! Ich habe sie direkt auch mal in den Editing FAQ verlinkt. Damit sollte ich einige AV endlich auch selbst lesen können.
Jetzt gab es aber leider eine, die leider ein wenig anders aussieht.
AV als ich aus dem Spiel heraus ein Save laden wollte. Bin zuvor aber nicht gestorben.
Code:
//======================UNHANDLED EXCEPTION======================
//======================UNHANDLED EXCEPTION======================
Gothic2.exe caused a EXCEPTION_ACCESS_VIOLATION in module Gothic2.exe at 0023:0075E950, oCNpc::SetBodyState()+48 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oNpc.cpp, line 15764+7 byte(s)
EAX=0135E670 EBX=00000000 ECX=00000000 EDX=00018000 ESI=00000000
EDI=34211F48 EBP=00000000 ESP=0135E5B0 EIP=0075E950 FLG=00210297
CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B
//===================== INFOS =========================
Gothic II - 2.6 (fix), Parser Version: 50
User: Chris, CPUType: 586, Mem: 0 MB total, 0 MB free
//====================== CALLSTACK ========================
0023:0075E950 (0x00AB4108 0x00000000 0x00AB40C0 0x00001614) Gothic2.exe, oCNpc::SetBodyState()+48 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oNpc.cpp, line 15764+7 byte(s)
0023:00792568 (0x01510000 0x00AB40C0 0x00000000 0x0135E6C8) Gothic2.exe, zCParser::DoStack()+3080 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1433
0023:75B614AD (0x00000010 0x00000000 0x1ACB0024 0xFFFFFFFF) kernel32.dll, HeapFree()+20 byte(s)
//=====================================================
Mit HeapFree kann ich noch nichts anfangen.
DoStack()+3080 weißt auf den Aufruf einer External hin, ich vermute mal, dass es hier dann SetBodyState() ist? 0x01510000 = 22085632 ist deutlich zu groß; die höchsten Werte, die ich in DecDat im content-Feld finde, sind etwas über 4 Mio, nicht 22 Mio.
Lässt sich noch irgendwie erkennen, wo / wie / wann / warum / womit SetBodyState aufgerufen wurde? Eine Suche in unseren Skripten nach "SetBodyState" findet nur die Aufrufe aus GFA heraus - eventuell könntest du dir die ansehen, ob es da ersichtliche Probleme beim Laden eines Spielstands geben kann?
Der Spieler hatte hier aber, soweit ich es erkennen kann, noch keinen Bogen / Armbrust im Inventar, allerdings ein paar unterschiedliche Pfeile. GFA ist meines Wissens beim Spieler aktiviert.
Ein alter Absturz, den ich mal reproduzieren konnte (in einem bestimmten Spielstand, nicht allgemein), involvierte auch, mit gezogener Armbrust zu sterben und dann neu zu laden. Der Absturz blieb aus, wenn ich zuvor die Bolzen aus dem Inventar gelöscht und wieder eingefügt habe. Der "alte" Bolzen schien einen hohen refCtr zu haben. (dokumentiert ab hier)
Alternativ wird irgendwo aus der engine heraus SetBodyState aufgerufen, was ich mir beim Laden eines Spielstands auch vorstellen kann. Da frage ich mich aber, was dann schief geht. Wieder eine Referenz auf self kaputt? Aber zu welchem Zeitpunkt (in oder kurz nach der Instanz? Welcher Npc?)?
Geändert von Milky-Way (14.09.2018 um 16:41 Uhr)
-
Der Spieler hatte hier aber, soweit ich es erkennen kann, noch keinen Bogen / Armbrust im Inventar, allerdings ein paar unterschiedliche Pfeile.
Stimmt
GFA ist meines Wissens beim Spieler aktiviert.
Nein
-
Zitat von Milky-Way
Vielen Dank für die ausführliche Anleitung! Ich habe sie direkt auch mal in den Editing FAQ verlinkt. Damit sollte ich einige AV endlich auch selbst lesen können.
Danke!
Zitat von Milky-Way
Jetzt gab es aber leider eine, die leider ein wenig anders aussieht.
Die ist ein wenig "anders", das stimmt. Ich habe ein bisschen gebraucht, bis ich verstanden habe, wie die zu Stande kommt. Das ist ein Spezialfall, den man im Hinterkopf behalten kann. Es ist ein gutes Beispiel, um es hier auch zu thematisieren:
Drei Sachen ergeben auf den ersten Blick keinen Sinn:- DoStack wird ohne CallFunc oder CreateInstance aufgerufen
- Der entsprechende Offset ist scheinbar nicht im Code-Stack ist
- oCNpc::SetBodyState sollte laut dem Aufruf eine External sein, ist es aber nicht
Trotzdem lügt diese AV hier nicht. DoStack wurde tatsächlich so aufgerufen. Ein bisschen knifflig; fangen wir rückwärts an:
Der Token zPAR_TOK_CALLEXTERN wird von Ikarus "missbraucht", um aus Daedalus Enginefunktionen aufzurufen (siehe CALL__thiscall, usw.). Das erklärt "3.", denn hier wird mit DoStack aus Daedalus die Enginefunktion oCNpc::SetBodyState aufgerufen. Aber von wo aus?
Für bessere Performance kann Ikarus den Vorgang eine Enginefunktion aufzurufen als einen "recycelbaren Call" abspeichern. Das dient dem Zweck, eine Enginefunktion häufiger aufzurufen. In den Skripten, kennt man das dann so:
Code:
const int call = 0;
if (CALL_Begin(call)) {
CALL__thiscall(_@(thisPtr), addr);
call = CALL_End();
};
Die Konstante call enthält hier einen Pointer auf einen neu allokierten Bereich im Speicher, an dem die Abfolge zum Aufruf der Enginefunktion gespeichert ist.
Wird nun dieser gespeicherte Code ausgeführt, wird DoStack von wo völlig anders ausgeführt. Dabei ist in der AV dann nicht mehr ersichtlich aus welcher Daedalusfunktion dieser recycelbare Call ausgelöst wurde. Das erklärt "2." und "1.".
Der Absturz passiert dann letztlich, weil ECX (this) in oCNpc::SetBodyState null ist.
Dass es sich dabei um einen Aufruf von GFA handelt ist richtig erkannt. Ich glaube ich habe so grob das Problem erkannt, kann mir die Details aber noch nicht ganz erklären. Gibt es eine Möglichkeit diesen Absturz zu reproduzieren? Bzw. habt ihr einen Spielstand mit dem ihr mögliche Fixes von mir testen könntet?
-
Gibt es eine Möglichkeit diesen Absturz zu reproduzieren?
Ja, dafür muss ich halt mehrmals aus dem Spiel heraus ein Save laden. Irgendwann kommt dann sicher ein Absturz.
-
Wenn ich mich nicht irre, tritt der Fehler auf, wenn ein NPC beim "Unarchivieren", sprich Laden, zuvor noch keine AI (oCAIHuman) hatte. Dann erstellt Gothic schnell eine, die aber noch nicht an den NPC gekoppelt ist. Im Hook kurz danach, der einen Bug in den Bodystates fixt, wird dann von einer ungültigen Adresse gelesen. Das lässt sich ganz einfach mit einem Sicherheitscheck abfragen.
Ich kann mir aber um alles in der Welt nicht erklären, wie das jemals der Fall sein kann. Ich hatte während der Testphase Gothic 1 und 2 drei mal durch gespielt und mir ist das nie vorgekommen. Ist an dem Spielstand den du lädst, irgendetwas ausgewöhnliches? Woran ich denke ist etwas wie:- Kurz vorher teleportiert,
- Beim Sprinten o.Ä. gespeichert,
- Kurz nach Weltenwechsel,..
Ich suche nach irgendetwas, wo ein NPC gerade so in die KI-Glocke kam während gespeichert wurde, wobei mir das als Ursache etwas albern erscheint. Naja, die genaue Ursache ist nicht so wichtig, wenn ich mit meiner Vermutung richtig liege und es die Sicherheitsabfrage behebt.
Leider kann ich den potentiellen Fix natürlich nicht testen und wäre da auf deine, bzw. eure Hilfe angewiesen. GitHub timed mich wegen meinem langsamen Internet immer aus, deshalb kann ich den Fix nicht pushen. Ich melde mich evtl. per PN mit ein paar Zeilen Code.
-
Zitat von mud-freak
Ich kann mir aber um alles in der Welt nicht erklären, wie das jemals der Fall sein kann. Ich hatte während der Testphase Gothic 1 und 2 drei mal durch gespielt und mir ist das nie vorgekommen.
Ich habe den Spielstand von ihm mehrmals getestet und ich konnte keinen Absturz herbeiführen. Also ja, merkwürdig ist es schon, aber wohl nicht undenkbar.
-
Ich kann mir aber um alles in der Welt nicht erklären, wie das jemals der Fall sein kann. Ich hatte während der Testphase Gothic 1 und 2 drei mal durch gespielt und mir ist das nie vorgekommen.
Ich habe das auch nur bei LoA erlebt und sonst bei keiner anderen Mod.
Ich bin aber nicht der einzige Tester mit diesen Abstürzen.
Geändert von chris77211 (14.09.2018 um 20:36 Uhr)
-
Zitat von mud-freak
Wenn ich mich nicht irre, tritt der Fehler auf, wenn ein NPC beim "Unarchivieren", sprich Laden, zuvor noch keine AI (oCAIHuman) hatte. Dann erstellt Gothic schnell eine, die aber noch nicht an den NPC gekoppelt ist. Im Hook kurz danach, der einen Bug in den Bodystates fixt, wird dann von einer ungültigen Adresse gelesen. Das lässt sich ganz einfach mit einem Sicherheitscheck abfragen.
Ich kann mir aber um alles in der Welt nicht erklären, wie das jemals der Fall sein kann. Ich hatte während der Testphase Gothic 1 und 2 drei mal durch gespielt und mir ist das nie vorgekommen. Ist an dem Spielstand den du lädst, irgendetwas ausgewöhnliches? Woran ich denke ist etwas wie: - Kurz vorher teleportiert,
- Beim Sprinten o.Ä. gespeichert,
- Kurz nach Weltenwechsel,..
Ich suche nach irgendetwas, wo ein NPC gerade so in die KI-Glocke kam während gespeichert wurde, wobei mir das als Ursache etwas albern erscheint. Naja, die genaue Ursache ist nicht so wichtig, wenn ich mit meiner Vermutung richtig liege und es die Sicherheitsabfrage behebt.
Leider kann ich den potentiellen Fix natürlich nicht testen und wäre da auf deine, bzw. eure Hilfe angewiesen. GitHub timed mich wegen meinem langsamen Internet immer aus, deshalb kann ich den Fix nicht pushen. Ich melde mich evtl. per PN mit ein paar Zeilen Code.
Mir fällt gerade leider auch nicht ein, worum es sich da an dieser Stelle der Mod handeln könnte.
Code kann ich aber gerne einbauen und ausprobieren lassen. Wir haben Chris schon so viele Abstürze zugemutet - jetzt, da sich vielleicht eine Lösung anbahnt, probiert er bestimmt gerne weiter aus
-
Geändert von chris77211 (14.09.2018 um 21:31 Uhr)
-
Ach wenn das so ist. Abstürze einbauen geht recht schnell
-
-
Ich habe eine Access Violation innerhalb der Talente:
Hab noch ein AV anzubieten das zu den Beiträgen von mud-freak passt weil 2 NPC's involviert sind. Habe gerade mit Rufus gesprochen und dann stand der andere NPC, ich hab jetzt den Namen vergessen, aus dem Bett auf und das Spiel crashte.
Code:
//======================UNHANDLED EXCEPTION======================
//======================UNHANDLED EXCEPTION======================
Gothic2.exe caused a EXCEPTION_ACCESS_VIOLATION in module Gothic2.exe at 0023:007A2F30, zCPar_Symbol::GetOffset , P:\dev\g2addon\release\ZenGin\_ulf\zParser_Symbol.cpp, line 937
EAX=00000000 EBX=1B820888 ECX=00000000 EDX=09C726EC ESI=00AB4118
EDI=00AB40D0 EBP=00AB40C0 ESP=0135F6B0 EIP=007A2F30 FLG=00210246
CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B
//===================== INFOS =========================
Gothic II - 2.6 (fix), Parser Version: 50
User: Chris, CPUType: 586, Mem: 0 MB total, 0 MB free
Camera: Pos(-20106.9785/-1298.80908/-24476.668), At(-0.764149725/-0.0792299211/0.640154481)
//====================== CALLSTACK ========================
0023:007A2F30 (0x00AB4108 0x00000000 0x00AB40C0 0x0006284B) Gothic2.exe, zCPar_Symbol::GetOffset, P:\dev\g2addon\release\ZenGin\_ulf\zParser_Symbol.cpp, line 937
0023:007926D5 (0x00000A0B 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+3445 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1474+7 byte(s)
0023:00792504 (0x000026B0 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
0023:00792504 (0x00062748 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
0023:00792504 (0x000641D4 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
0023:00792504 (0x000641CF 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
0023:00792504 (0x0006B07C 0x1B61C870 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
0023:00792504 (0x0006B1C8 0x0082E6F0 0xFFFFFFFF 0x35C16110) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
0023:00792CBF (0x00AB40C0 0x0000A038 0x00000000 0x35BE5D28) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
0023:0076D520 (0x1AC4D9A4 0x35C15B88 0x00000022 0x3532D176) Gothic2.exe, oCNpc_States::DoAIState()+896 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oNpcStates.cpp, line 783+18 byte(s)
0023:0069BFBF (0x35C15B88 0x0135FB20 0x1AC4D758 0x00000000) Gothic2.exe, oCAIHuman::DoAI()+1295 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oAiHuman.cpp, line 2576
0023:00602E59 (0x00000001 0x0FE6D3B0 0x00000000 0x0135FCA8) Gothic2.exe, zCVob::DoFrameActivity()+505 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zVob.cpp, line 2258
0023:006C87EB (0x00400000 0x0148368A 0x0135FECC 0xFFFDE000) Gothic2.exe, oCGame::Render()+331 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGame.cpp, line 2658
0023:00425E6E (0x0082F0EC 0x00000000 0x000601C6 0x0FE6D3B0) Gothic2.exe, CGameManager::Run()+1598 byte(s), P:\dev\g2addon\release\Gothic\_bert\oGameManager.cpp, line 767+47 byte(s)
0023:0078188B (0x0000002C 0x000205E0 0x00000001 0x00000000) Gothic2.exe, MainProg()+75 byte(s), P:\dev\g2addon\release\Gothic\_ulf\Phoenix.cpp, line 111
0023:00503270 (0x00400000 0x00000000 0x0148368A 0x0000000A) Gothic2.exe, HandledWinMain()+928 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1169
0023:00502DFD (0x0135FED0 0x00000000 0x0148368A 0x0000000A) Gothic2.exe, WinMain()+141 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1054+17 byte(s)
0023:007D43F8 (0x00000004 0x0000FFFF 0x000000B8 0x00000000) Gothic2.exe, WinMainCRTStartup()+224 byte(s)
//=====================================================
Zurückverfolgt, wie die AV zustande kam, und jeweils in rot die Zeile(n), die ich für mögliche Auslöser halte (basierend auf dem jeweils nächsten Hinweis)
1)
Code:
0023:00792CBF (0x00AB40C0 0x0000A038 0x00000000 0x35BE5D28) Gothic2.exe, zCParser::CallFunc()+719 byte(s),
0x0000A038 ist ZS_Attack:
Code:
func void ZS_Attack()
{
// Do i never attack?
if (TAL_GetValue(self, AIV_DontFight) == TRUE) {
return;
};
Perception_Set_Minimal ();
Npc_PercEnable (self, PERC_ASSESSSURPRISE, B_AssessSurprise);
B_ValidateOther ();
self.aivar[AIV_LASTTARGET] = Hlp_GetInstanceID (other);
if (C_WantToFlee (self, other))
{
Npc_ClearAIQueue (self);
B_ClearPerceptions (self);
Npc_SetTarget (self, other);
AI_StartState (self, ZS_Flee, 0, "");
return;
};
if (self.aivar[AIV_LOADGAME] == FALSE)
{
B_Say_AttackReason ();
};
if (Npc_IsInFightMode (self, FMODE_NONE) && !FAUSTKAMPF)
{
AI_EquipBestRangedWeapon (self);
AI_EquipBestMeleeWeapon (self);
};
AI_Standup (self);
B_StopLookAt (self);
B_TurnToNpc (self, other);
AI_SetWalkMode (self, NPC_RUN);
self.aivar[AIV_Guardpassage_Status] = GP_NONE;
self.aivar[AIV_LastAbsolutionLevel] = PETZ_GetCurrentAbsolutionLevel (self);
self.aivar[AIV_PursuitEnd] = FALSE;
self.aivar[AIV_StateTime] = 0;
self.aivar[AIV_TAPOSITION] = 0;
self.aivar[AIV_HitByOtherNpc] = 0;
self.aivar[AIV_SelectSpell] = 0;
};
2)
Code:
0023:00792504 (0x0006B1C8 0x0082E6F0 0xFFFFFFFF 0x35C16110) Gothic2.exe, zCParser::DoStack()+2980 byte(s),
0x0006B1C8 -> tal_getvalue()
Code:
func int TAL_GetValue(var c_npc npc, var int talent) {
if (!Hlp_IsValidNpc(npc)) { return -1; };
if (!npc.aivar[AIV_TALENT]) {
npc.aivar[AIV_TALENT] = _TAL_CreateArray();
};
_TAL_CheckSize(npc.aivar[AIV_TALENT]);
MEM_ArrayRead(getPtr(npc.aivar[AIV_TALENT]), talent);
};
3)
Code:
0023:00792504 (0x0006B07C 0x1B61C870 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s),
0x0006B07C -> _tal_createarray()
Code:
func int _TAL_CreateArray() {
var int array; array = new(zCArray@);
var zCArray arr; arr = get(array);
var int size; size = 1; // 1 talent default size to not have crashes
if (_nrTalents) {
size = _nrTalents;
};
arr.array = MEM_Alloc(size*4);
arr.numInArray = size;
arr.numAlloc = size;
return array;
};
4)
Code:
0023:00792504 (0x000641CF 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s),
0x000641CF (410063) -> new(var int inst)
Code:
func int new(var int inst) {
locals(); var int ptr;
nextHandle += 1;
if (!HandlesPointer) {
MEM_InfoBox("This should never happen! If it does anyway, please report to Lehona on WorldOfGothic.");
//Falls das Array nicht existiert neu anlegen.
HandlesPointer = _HT_Create();
HandlesInstance = _HT_Create();
};
ptr = create(inst);
_HT_Insert(HandlesPointer, ptr, nextHandle);
_HT_Insert(HandlesInstance, inst, nextHandle);
_PM_AddToForeachTable(nextHandle);
return nextHandle; //das erste Handle ist somit 1
};
5)
Code:
0023:00792504 (0x000641D4 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s),
0x000641D4 (410068) -> noch innerhalb von new(var int inst)
6)
Code:
0023:00792504 (0x00062748 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s),
0x00062748 -> _ht_insert(var int ptr, var int val, var int key)
Code:
func void _HT_Insert(var int ptr, var int val, var int key) {
var zCArray arr; arr = _^(ptr);
var int h; h = hash(key) % (arr.numAlloc/4);
var int bucket; bucket = MEM_ReadIntArray(arr.array, h);
if (!bucket) {
MEM_WriteIntArray(arr.array, h, MEM_ArrayCreate());
bucket = MEM_ReadIntArray(arr.array, h);
};
/* Check whether an entry with the same key already exists */
var zCArray buck; buck = _^(bucket);
var int i;
repeat(i, buck.numInArray/2);
if (MEM_ArrayRead(bucket, i*2) == key) {
MEM_Error("HT: A key has been assigned with two values!");
};
end;
MEM_ArrayInsert(bucket, key);
MEM_ArrayInsert(bucket, val);
arr.numInArray += 1;
/* resize if needed */
if (arr.numInArray == arr.numAlloc) {
var int am; am = arr.numInArray*2;
ptr;
am;
MEM_Call(_HT_Resize);
};
};
7)
Code:
0023:00792504 (0x000026B0 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s),
0x000026B0 (9904) -> noch innerhalb von getprocaddress(var int hmodule, var string lpprocname) ? (steht an 8928 an)
Code:
func int GetProcAddress (var int hModule, var string lpProcName) {
const int call = 0;
if (CALL_Begin(call)) {
var int WinAPI__GetProcAddress;
if (GOTHIC_BASE_VERSION == 2) {
WinAPI__GetProcAddress = MEM_ReadInt (8577688); //0x82E298
} else {
WinAPI__GetProcAddress = MEM_ReadInt (8192260); //0x7D0104
};
CALL_PtrParam(_@s(lpProcName) + 8 /* offset of ptr */);
CALL_PtrParam (_@(hModule));
CALL_PutRetValTo(_@(ret));
CALL__stdcall (WinAPI__GetProcAddress);
call = CALL_End();
};
var int ret;
return +ret;
};
8)
Code:
0023:007926D5 (0x00000A0B 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+3445 byte(s),
+3445 byte(s) -> zPAR_TOK_ASSIGNINST
0x00000A0B -> func __class _^(var int ptr)
Code:
func MEMINT_HelperClass _^ (var int ptr) {
MEM_PtrToInst(ptr);
};
9)
Code:
0023:007A2F30 (0x00AB4108 0x00000000 0x00AB40C0 0x0006284B) Gothic2.exe, zCPar_Symbol::GetOffset,
?
Zum ersten Aufruf: In der Startup gibt es
Code:
/* Hier werden die Talent-"Konstanten" einmalig befüllt, daher diese Konstruktion mit der Variablen*/
if (!createTalents) {
// AIV_CHAINLIGHTNING = TAL_CreateTalent();
// AIV_LIGHTNINGSTORM = TAL_CreateTalent();
// AIV_CROSSBOW_UPGRADE = TAL_CreateTalent();
// AIV_GREETED = TAL_CreateTalent();
// AIV_TRADER = TAL_CreateTalent();
AIV_FORGET_ATTACK = TAL_CreateTalent();
//MEM_Error(ConcatStrings("AIV_FORGET_ATTACK: ", IntToString(AIV_FORGET_ATTACK)));
AIV_DontFight = TAL_CreateTalent();
//MEM_Error(ConcatStrings("AIV_DontFight: ", IntToString(AIV_DontFight)));
AIV_IgnoreWeapon = TAL_CreateTalent();
//MEM_Error(ConcatStrings("AIV_IgnoreWeapon: ", IntToString(AIV_IgnoreWeapon)));
AIV_MAKE_MINIMAL_DAMAGE = TAL_CreateTalent();
//MEM_Error(ConcatStrings("AIV_MAKE_MINIMAL_DAMAGE: ", IntToString(AIV_MAKE_MINIMAL_DAMAGE)));
LOA_FAKE_GUILD_SAID_BANDITS = TAL_CreateTalent();
//MEM_Error(ConcatStrings("LOA_FAKE_GUILD_SAID_BANDITS: ", IntToString(LOA_FAKE_GUILD_SAID_BANDITS)));
createTalents = TRUE;
};
createTalents und AIV_DontFight sind beides globale Integer-Variablen.
Was läuft hier schief?
In der SCRPTSAVE.SAV des abgestürzten Spielstands sehen mir die Talente noch in Ordnung aus:
Code:
PermMem::v2
HNDL:1
ZCARRAY:LCEVENT
{
}
HNDL:3
FFITEM:FFITEM@
{
LOOP=sBUTTONS_DO
NEXT=i1
}
HNDL:4
FFITEM:FFITEM@
{
LOOP=s_ANIM8_FFLOOP
NEXT=i1
}
HNDL:5
ZCARRAY:LCEVENT
{
}
HNDL:6
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i1
3=i0
4=i0
5=i0
]
}
HNDL:7
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i1
3=i0
4=i0
5=i0
]
}
HNDL:8
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i1
3=i0
4=i0
5=i0
]
}
HNDL:14
FFITEM:FFITEM@
{
LOOP=sDETECTKEYPRESS
NEXT=i140
}
HNDL:15
FFITEM:FFITEM@
{
LOOP=sSHARP_FF
NEXT=i25185041
DELAY=i100
}
HNDL:16
FFITEM:FFITEM@
{
LOOP=sENFORCESAVINGPOLICY
NEXT=i25185041
DELAY=i100
}
HNDL:17
FFITEM:FFITEM@
{
LOOP=sLOA_CHANGEFOCUSBAR
NEXT=i25185042
DELAY=i100
}
HNDL:18
FFITEM:FFITEM@
{
LOOP=sHERO_APPLYKILLOVERLAY
NEXT=i25185042
DELAY=i100
}
HNDL:19
FFITEM:FFITEM@
{
LOOP=sMANAREGEN
NEXT=i25185142
DELAY=i1000
}
HNDL:20
FFITEM:FFITEM@
{
LOOP=sSIEBENMEILENSTIEFEL
NEXT=i25185143
DELAY=i1000
}
HNDL:21
FFITEM:FFITEM@
{
LOOP=sSCHLEIFE_LOA_POISONHANDLER
NEXT=i25185143
DELAY=i5000
}
HNDL:22
FFITEM:FFITEM@
{
LOOP=sDETECTDIALOGUEEND
NEXT=i25185434
DELAY=i1510
}
HNDL:23
FFITEM:FFITEM@
{
LOOP=sLOCKDOORDON
NEXT=i25185484
DELAY=i2510
}
HNDL:25
FFITEM:FFITEM@
{
LOOP=sEQUIPDEFAULTARROWBOLT
NEXT=i25185145
DELAY=i3000
}
HNDL:26
_BAR:_BAR@
{
VALMAX=i90
BARW=i531
V0=i27
V1=i28
}
HNDL:27
ZCVIEW:ZCVIEW@
{
_VTBL=i8643340
_ZCINPUTCALLBACK_VTBL=i8643332
M_BFILLZ=i0
NEXT=i0
VIEWID=i2
FLAGS=i512
INTFLAGS=i1
ONDESK=i0
ALPHAFUNC=i1
COLOR=i-1
ALPHA=i255
CHILDS_COMPARE=i0
CHILDS_COUNT=i0
CHILDS_LAST=i0
CHILDS_WURZEL=i0
OWNER=i0
BACKTEX=sBAR_BACK.TGA
VPOSX=i7584
VPOSY=i7907
VSIZEX=i577
VSIZEY=i115
PPOSX=i2370
PPOSY=i1390
PSIZEX=i180
PSIZEY=i20
FONT=sFONT_DEFAULT.TGA
FONTCOLOR=i-1
PX1=i50
PY1=i50
PX2=i8142
PY2=i8142
WINX=i50
WINY=i50
TEXTLINES=pNULL
SCROLLMAXTIME=i0
SCROLLTIMER=i0
FXOPEN=i0
FXCLOSE=i0
TIMEDIALOG=i0
TIMEOPEN=i0
TIMECLOSE=i0
SPEEDOPEN=i994352038
SPEEDCLOSE=i994352038
ISOPEN=i0
ISCLOSED=i1
CONTINUEOPEN=i0
CONTINUECLOSE=i0
REMOVEONCLOSE=i0
RESIZEONOPEN=i0
MAXTEXTLENGTH=i0
TEXTMAXLENGTH=s
POSCURRENT_0=aINT:2
[
0=i1158946816
1=i1152237568
]
POSCURRENT_1=aINT:2
[
0=i1159680000
1=i1152393216
]
POSOPENCLOSE_0=aINT:2
[
0=i0
1=i0
]
POSOPENCLOSE_1=aINT:2
[
0=i0
1=i0
]
}
HNDL:28
ZCVIEW:ZCVIEW@
{
_VTBL=i8643340
_ZCINPUTCALLBACK_VTBL=i8643332
M_BFILLZ=i0
NEXT=i0
VIEWID=i2
FLAGS=i512
INTFLAGS=i1
ONDESK=i0
ALPHAFUNC=i1
COLOR=i-1
ALPHA=i255
CHILDS_COMPARE=i0
CHILDS_COUNT=i0
CHILDS_LAST=i0
CHILDS_WURZEL=i0
OWNER=i0
BACKTEX=sBAR_ICE.TGA
VPOSX=i7606
VPOSY=i7924
VSIZEX=i531
VSIZEY=i81
PPOSX=i2377
PPOSY=i1393
PSIZEX=i165
PSIZEY=i14
FONT=sFONT_DEFAULT.TGA
FONTCOLOR=i-1
PX1=i50
PY1=i50
PX2=i8142
PY2=i8142
WINX=i50
WINY=i50
TEXTLINES=pNULL
SCROLLMAXTIME=i0
SCROLLTIMER=i0
FXOPEN=i0
FXCLOSE=i0
TIMEDIALOG=i0
TIMEOPEN=i0
TIMECLOSE=i0
SPEEDOPEN=i994352038
SPEEDCLOSE=i994352038
ISOPEN=i0
ISCLOSED=i1
CONTINUEOPEN=i0
CONTINUECLOSE=i0
REMOVEONCLOSE=i0
RESIZEONOPEN=i0
MAXTEXTLENGTH=i0
TEXTMAXLENGTH=s
POSCURRENT_0=aINT:2
[
0=i1158975488
1=i1152262144
]
POSCURRENT_1=aINT:2
[
0=i1159647232
1=i1152368640
]
POSOPENCLOSE_0=aINT:2
[
0=i0
1=i0
]
POSOPENCLOSE_1=aINT:2
[
0=i0
1=i0
]
}
HNDL:29
_BAR:_BAR@
{
VALMAX=i150
BARW=i531
V0=i30
V1=i31
}
HNDL:30
ZCVIEW:ZCVIEW@
{
_VTBL=i8643340
_ZCINPUTCALLBACK_VTBL=i8643332
M_BFILLZ=i0
NEXT=i0
VIEWID=i2
FLAGS=i512
INTFLAGS=i1
ONDESK=i0
ALPHAFUNC=i1
COLOR=i-1
ALPHA=i255
CHILDS_COMPARE=i0
CHILDS_COUNT=i0
CHILDS_LAST=i0
CHILDS_WURZEL=i0
OWNER=i0
BACKTEX=sBAR_BACK.TGA
VPOSX=i7584
VPOSY=i7907
VSIZEX=i577
VSIZEY=i115
PPOSX=i2370
PPOSY=i1390
PSIZEX=i180
PSIZEY=i20
FONT=sFONT_DEFAULT.TGA
FONTCOLOR=i-1
PX1=i50
PY1=i50
PX2=i8142
PY2=i8142
WINX=i50
WINY=i50
TEXTLINES=pNULL
SCROLLMAXTIME=i0
SCROLLTIMER=i0
FXOPEN=i0
FXCLOSE=i0
TIMEDIALOG=i0
TIMEOPEN=i0
TIMECLOSE=i0
SPEEDOPEN=i994352038
SPEEDCLOSE=i994352038
ISOPEN=i0
ISCLOSED=i1
CONTINUEOPEN=i0
CONTINUECLOSE=i0
REMOVEONCLOSE=i0
RESIZEONOPEN=i0
MAXTEXTLENGTH=i0
TEXTMAXLENGTH=s
POSCURRENT_0=aINT:2
[
0=i1158946816
1=i1152237568
]
POSCURRENT_1=aINT:2
[
0=i1159680000
1=i1152393216
]
POSOPENCLOSE_0=aINT:2
[
0=i0
1=i0
]
POSOPENCLOSE_1=aINT:2
[
0=i0
1=i0
]
}
HNDL:31
ZCVIEW:ZCVIEW@
{
_VTBL=i8643340
_ZCINPUTCALLBACK_VTBL=i8643332
M_BFILLZ=i0
NEXT=i0
VIEWID=i2
FLAGS=i512
INTFLAGS=i1
ONDESK=i0
ALPHAFUNC=i1
COLOR=i-1
ALPHA=i255
CHILDS_COMPARE=i0
CHILDS_COUNT=i0
CHILDS_LAST=i0
CHILDS_WURZEL=i0
OWNER=i0
BACKTEX=sBAR_DESERT.TGA
VPOSX=i7606
VPOSY=i7924
VSIZEX=i531
VSIZEY=i81
PPOSX=i2377
PPOSY=i1393
PSIZEX=i165
PSIZEY=i14
FONT=sFONT_DEFAULT.TGA
FONTCOLOR=i-1
PX1=i50
PY1=i50
PX2=i8142
PY2=i8142
WINX=i50
WINY=i50
TEXTLINES=pNULL
SCROLLMAXTIME=i0
SCROLLTIMER=i0
FXOPEN=i0
FXCLOSE=i0
TIMEDIALOG=i0
TIMEOPEN=i0
TIMECLOSE=i0
SPEEDOPEN=i994352038
SPEEDCLOSE=i994352038
ISOPEN=i0
ISCLOSED=i1
CONTINUEOPEN=i0
CONTINUECLOSE=i0
REMOVEONCLOSE=i0
RESIZEONOPEN=i0
MAXTEXTLENGTH=i0
TEXTMAXLENGTH=s
POSCURRENT_0=aINT:2
[
0=i1158975488
1=i1152262144
]
POSCURRENT_1=aINT:2
[
0=i1159647232
1=i1152368640
]
POSOPENCLOSE_0=aINT:2
[
0=i0
1=i0
]
POSOPENCLOSE_1=aINT:2
[
0=i0
1=i0
]
}
HNDL:32
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:33
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:34
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:35
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:36
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:37
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:45
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:46
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:47
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:48
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:50
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:51
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:52
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:53
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:54
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:55
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:56
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:58
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:59
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:60
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:61
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:62
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:63
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:64
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:65
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:66
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:67
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:68
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:69
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:70
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:71
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:75
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:76
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:78
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:96
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:97
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:98
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:101
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:103
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:104
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:107
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:108
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:109
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:110
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:125
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:126
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:140
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:141
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:149
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:150
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:151
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:152
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:153
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:154
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:155
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:156
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:157
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:158
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:159
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:160
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:161
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:162
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:163
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:164
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:165
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:166
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:167
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:168
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:169
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:170
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:171
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:172
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:173
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:174
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:175
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:176
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:177
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:178
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:179
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:181
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:182
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:183
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:184
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:185
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:186
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:187
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:188
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:189
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:191
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:192
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:193
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:194
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:197
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:198
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:199
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:202
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:205
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:206
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:207
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:208
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:209
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:210
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:211
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:212
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:213
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:214
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:215
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:216
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:217
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:218
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:219
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:220
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:221
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:222
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:223
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:224
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:226
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:227
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:228
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:229
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:230
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:232
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:233
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:234
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:235
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:236
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:237
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:238
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:239
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:240
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:268
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:272
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:273
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:276
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:296
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:297
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:298
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:299
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:303
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:318
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:319
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:329
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:330
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:331
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:332
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:333
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:334
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:335
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:337
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:341
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_WIESE3_02
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:342
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:343
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_WIESE3_02
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:344
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:345
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:347
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:350
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_FLUSS_WIESE2_03
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:351
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:352
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_FLUSS_WIESE2_03
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:360
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_FLUSS_WIESE2_09
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:361
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_FLUSS_WIESE2_23
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:362
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:363
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_FLUSS_WIESE2_23
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:365
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:367
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:368
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:369
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:371
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_2_BURGPASS_01
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:372
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:373
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_FM_PASS_001
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:375
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:377
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:378
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:379
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_MONSTER_START_009
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:380
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:381
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_MONSTER_START_009
RESPAWNTIME=i10
WORLDNAME=sWORLD
}
HNDL:382
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_OUTSIDE_037
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:383
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_OUTSIDE_037
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:384
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_OUTSIDE_036
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:385
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:386
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_OUTSIDE_036
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:387
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:388
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:389
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_START_MONSTER_09
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:390
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:391
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33228
WP=sLOA_KWV_OUTSIDE_035
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:394
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_MONSTER_04
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:395
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:396
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_MONSTER_04
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:397
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:398
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:399
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:400
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:401
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:402
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_MONSTER_03
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:403
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_MONSTER_03
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:404
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:405
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_KWV_MONSTER_03
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:406
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33479
WP=sLOA_KWV_MONSTER_01
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:407
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33479
WP=sLOA_KWV_MONSTER_02
RESPAWNTIME=i9
WORLDNAME=sWORLD
}
HNDL:408
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:409
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:410
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:411
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:412
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:413
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:414
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:415
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:416
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:417
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:418
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:419
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:420
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:421
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:422
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:423
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:424
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:425
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:426
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:427
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:428
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:429
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:430
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:431
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:436
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:439
PS_PARAM:PS_PARAM@
{
TXT=s... nach einem langen Fußmarsch ...
X=i-1
Y=i37
FONT=sFONT_OLD_10_WHITE.TGA
TIMESEC=i2
}
HNDL:440
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:441
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:442
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:443
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:444
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:445
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:446
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:450
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:452
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:453
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:461
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:463
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:465
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:467
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:470
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:471
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:472
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:480
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:481
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:482
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:483
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:484
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:485
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:486
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:487
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33481
WP=sWP_SHV_CLIFFHOUSE_OUTSIDE_005
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:488
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33228
WP=sLOA_JL_50
RESPAWNTIME=i10
WORLDNAME=sWORLD
}
HNDL:489
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:490
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:491
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:492
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33481
WP=sLOA_JL_26
RESPAWNTIME=i10
WORLDNAME=sWORLD
}
HNDL:496
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:497
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:498
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:499
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:500
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:501
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:502
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:510
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:511
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:512
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:513
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:515
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:517
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:518
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:526
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:534
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sSC_ANFANG_ANÖHE
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:535
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:536
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sSC_ANFANG_ANÖHE
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:544
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:545
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_FM_PASS_001
RESPAWNTIME=i15
WORLDNAME=sWORLD
}
HNDL:546
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_FM_PASS_001
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:556
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:557
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_START_ANHÖHE_04
RESPAWNTIME=i10
WORLDNAME=sWORLD
}
HNDL:558
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:559
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_START_ANHÖHE_03
RESPAWNTIME=i15
WORLDNAME=sWORLD
}
HNDL:560
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_START_ANHÖHE_03
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:568
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_START_ANHÖHE_03
RESPAWNTIME=i15
WORLDNAME=sWORLD
}
HNDL:569
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_START_ANHÖHE_03
RESPAWNTIME=i10
WORLDNAME=sWORLD
}
HNDL:572
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_SEEST_BAUM
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:573
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:574
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33552
WP=sLOA_SEEST_FELS2
RESPAWNTIME=i10
WORLDNAME=sWORLD
}
HNDL:575
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:576
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sLOA_SEEST_FELS2
RESPAWNTIME=i10
WORLDNAME=sWORLD
}
HNDL:577
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:578
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sWP_STADTFISH_FLUSS_WIESE1_37
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:579
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sLOA_ANFANG_FELS_02
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:580
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sWP_STADTFISH_FLUSS_WIESE1_37
RESPAWNTIME=i15
WORLDNAME=sWORLD
}
HNDL:581
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sLOA_NEAR_WF_02
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:589
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:590
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sWP_STADTFISH_FLUSS_WIESE1_34
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:591
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sWP_STADTFISH_FLUSS_WIESE1_30
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:592
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_FLUSS_WIESE1_22
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:593
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sWP_STADTFISH_FLUSS_WIESE1_40
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:594
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33505
WP=sWP_STADTFISH_FLUSS_WIESE2_04
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:595
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:596
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:597
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:598
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:599
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_FLUSS_WIESE1_10
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:600
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:601
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:602
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:603
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sWP_STADTFISH_FLUSS_WIESE1_10
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:605
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:613
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:617
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:619
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:621
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33796
WP=sLOA_STADT_HAFEN_ANIMAL_034
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:622
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:623
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:626
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:628
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:633
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33796
WP=sLOA_STADT_HAFEN_ANIMAL_014
RESPAWNTIME=i11
WORLDNAME=sWORLD
}
HNDL:636
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:638
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:639
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:643
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_STADT_HAFEN_ANIMAL_059
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:644
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_STADT_HAFEN_ANIMAL_059
RESPAWNTIME=i17
WORLDNAME=sWORLD
}
HNDL:645
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:655
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:656
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:657
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:659
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:660
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_GM1_UG_WALD_007
RESPAWNTIME=i17
WORLDNAME=sWORLD
}
HNDL:669
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:672
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33228
WP=sLOA_GM1_FOREST3_WOLF2_01
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:673
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:674
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33228
WP=sLOA_GM1_FOREST3_WOLF2_01
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:675
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:676
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:677
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33228
WP=sLOA_GM1_FOREST3_WOLF2_01
RESPAWNTIME=i17
WORLDNAME=sWORLD
}
HNDL:679
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:681
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:683
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:688
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:689
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_GM1_FOREST3_SCAVENGER_01
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:691
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:692
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:693
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:694
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:695
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:697
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sBL_ORKSTONE_MONSTER_NACHTRAG_03
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:698
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:699
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_M1_FOREST_02_SCAVENGER4_01
RESPAWNTIME=i15
WORLDNAME=sWORLD
}
HNDL:700
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_STADT_HAFEN_ANIMAL_077
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:701
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:702
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_STADT_HAFEN_ANIMAL_077
RESPAWNTIME=i16
WORLDNAME=sWORLD
}
HNDL:703
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:711
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:712
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:713
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:714
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:715
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:716
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33406
WP=sLOA_STADT_HAFEN_ANIMAL_078
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:717
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33406
WP=sLOA_STADT_HAFEN_ANIMAL_078
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:718
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:719
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33539
WP=sLOA_STADT_HAFEN_ANIMAL_067
RESPAWNTIME=i17
WORLDNAME=sWORLD
}
HNDL:720
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33539
WP=sLOA_STADT_HAFEN_ANIMAL_067
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:721
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:723
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33539
WP=sLOA_STADT_HAFEN_ANIMAL_067
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:728
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33410
WP=sLOA_STADT_HAFEN_ANIMAL_069
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:729
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33406
WP=sLOA_STADT_HAFEN_ANIMAL_070
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:730
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:731
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_SHV_UG_WALD_003
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:732
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33539
WP=sLOA_HF_KAIN_DEAD
RESPAWNTIME=i17
WORLDNAME=sWORLD
}
HNDL:733
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33547
WP=sLOA_HF_FRANZ_DEAD
RESPAWNTIME=i12
WORLDNAME=sWORLD
}
HNDL:734
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:735
PS_PARAM:PS_PARAM@
{
TXT=s... nach einem kurzen Fußmarsch ...
X=i-1
Y=i37
FONT=sFONT_OLD_10_WHITE.TGA
TIMESEC=i2
}
HNDL:736
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:737
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:738
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:739
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:740
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:742
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:743
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:744
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:745
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:746
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:747
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:748
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:749
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:750
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:751
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:752
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:753
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:754
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:755
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:756
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:759
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:760
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:762
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:763
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:764
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:765
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:766
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:770
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:773
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:774
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:776
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:779
FFITEM:FFITEM@
{
LOOP=sSCHLEIFE_LOA
NEXT=i25185905
DELAY=i2000
}
HNDL:780
FFITEM:FFITEM@
{
LOOP=sSCHLEIFE_HF
NEXT=i25185905
DELAY=i2000
}
HNDL:781
FFITEM:FFITEM@
{
LOOP=sSCHLEIFE_BL
NEXT=i25185906
DELAY=i2000
}
HNDL:782
FFITEM:FFITEM@
{
LOOP=sSCHLEIFE_FAST
NEXT=i25185006
DELAY=i300
}
HNDL:783
FFITEM:FFITEM@
{
LOOP=sB_PORTALCUBE
NEXT=i25185007
DELAY=i300
}
HNDL:784
FFITEM:FFITEM@
{
LOOP=sSCHLEIFE_ALL
NEXT=i25185909
DELAY=i1000
}
HNDL:785
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33548
WP=sWP_STADTFISH_STADT_WIESE_05
RESPAWNTIME=i15
WORLDNAME=sWORLD
}
HNDL:786
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33790
WP=sWP_STADTFISH_WALD2_07
RESPAWNTIME=i18
WORLDNAME=sWORLD
}
HNDL:787
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33790
WP=sWP_STADTFISH_WALD2_07
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:788
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:789
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33790
WP=sWP_STADTFISH_STADT_WIESE_12
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:790
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33548
WP=sWP_STADTFISH_STADT_WIESE_18
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:791
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33548
WP=sWP_STADTFISH_STADT_WIESE_18
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:792
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33790
WP=sWP_STADTFISH_WALD3_04
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:793
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33790
WP=sWP_STADTFISH_WALD3_04
RESPAWNTIME=i15
WORLDNAME=sWORLD
}
HNDL:794
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33786
WP=sWP_STADTFISH_WALD3_07
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:795
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33790
WP=sWP_STADTFISH_WALD3_07
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:796
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33228
WP=sWP_STADTFISH_WALD3_18
RESPAWNTIME=i14
WORLDNAME=sWORLD
}
HNDL:797
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33228
WP=sWP_STADTFISH_WALD3_18
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:798
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33228
WP=sWP_STADTFISH_WALD3_13
RESPAWNTIME=i15
WORLDNAME=sWORLD
}
HNDL:799
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:800
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33786
WP=sWP_STADTFISH_BERG_WIESE1_19
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:801
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33786
WP=sWP_STADTFISH_BERG_WIESE2_19
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:802
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:803
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33786
WP=sWP_STADTFISH_BERG_BRÜCKE_04
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:804
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:805
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33786
WP=sWP_STADTFISH_BERG_BRÜCKE_04
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:806
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33786
WP=sWP_STADTFISH_BERG_BRÜCKE_14
RESPAWNTIME=i13
WORLDNAME=sWORLD
}
HNDL:807
RESPAWNOBJECT:RESPAWNOBJECT@
{
INST=i33786
WP=sWP_STADTFISH_BERG_BRÜCKE_14
RESPAWNTIME=i17
WORLDNAME=sWORLD
}
HNDL:808
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:809
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:810
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:811
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:812
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:813
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:814
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:815
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:816
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:817
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:818
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:819
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:822
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:825
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:829
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:833
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:834
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:835
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:848
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
HNDL:852
ZCARRAY:ZCARRAY@
{
LENGTH=i6
ARRAY=aINT:6
[
0=i0
1=i0
2=i0
3=i0
4=i0
5=i0
]
}
PermMem::End
Kann ich sonst noch irgendwie bei der Fehlersuche helfen?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|