-
Sorry Rantragon, bei mir lief es mit der Suchhilfe gut ab. Also mir ist beim Testen nichts derartiges passiert
-
Zitat von Simon92
Sorry Rantragon, bei mir lief es mit der Suchhilfe gut ab. Also mir ist beim Testen nichts derartiges passiert
Kein Ding, es kann ja nicht bei jedem so wie in den Tests laufen. Solang es wenigstens bei den meisten/einigen funktioniert, ist es doch schonmal gut.
Die restlichen Probleme werden hoffentlich noch beseitigt.
-
Der Code sieht eigentlich gut aus.
Aber es existiert kein WP "TOT" in der Welt. Ikarus verlässt sich darauf, dass er existiert um den "MEM_Helper" zu spawnen. Mich wundert es, dass es überhaupt funktioniert. Aber offenbar ist das so.
Ob das zum Auftreten dieses Fehlers führt bzw. ihn begünstigt kann ich nicht sagen.
Der Absturz beim aktivieren des Suchsystems findet jedenfalls folgendermaßen statt:
Code:
======================================= UNHANDLED EXCEPTION OCCURED ======================================================
======================================= CRASH INFOS: =====================================================================
Gothic II - 2.6 (fix), Parser Version: 50
User: Sekti, CPUType: 586, Mem: 2048 MB total, 2048 MB free
Camera: Pos(1272.97913/839.658508/4014.85278), At(-0.329814047/-0.288248807/-0.898963451)
Startup Options:-game:easter.ini -zwindow -zlog:5,s -zmaxframerate:30 -devmode -debug
=============================================== CALLSTACK : ==============================================================
001B:756A9617 (0xE06D7363 0x00000001 0x00000003 0x0135F688) KERNELBASE.dll, RaiseException()+84 byte(s)
001B:007D44BF (0x0135F6B4 0x00889A88 0x13DFD4AA 0x00AB40C0) Gothic2.exe, _CxxThrowException()+52 byte(s)001B:007D43F8 (0x00000004 0x0000FFFF 0x000000B8 0x00000000) Gothic2.exe, WinMainCRTStartup()+224 byte(s)
001B:007D0B51 (0x1928DF80 0x00000000 0x0088DFE0 0x008B2534) Gothic2.exe, bad_cast::bad_cast
001B:006E93C9 (0x0135F7E8 0x00000001 0x006F2FB0 0x00000000) Gothic2.exe, oCMsgState::operator delete()+29465 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGameExternal.cpp, line 322
001B:006F3051 (0x00AB4108 0x00000000 0x00AB40C0 0x00094A99) Gothic2.exe, oCMsgState::operator delete()+69537 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGameExternal.cpp, line 5607+116 byte(s)
001B:00792568 (0x006F2FB0 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+3080 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1433001B:00792504 (0x00094947 0x7FC3ABC0 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415001B:00792504 (0x00094A64 0x0082E6F0 0x00AB40C0 0xFFFFFFFF) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415001B:00792CBF (0x00AB40C0 0x00003398 0x1A03C8E0 0x0043C804) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551001B:00503270 (0x00400000 0x00000000 0x00241F79 0x00000001) Gothic2.exe, HandledWinMain()+928 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1169
001B:00792504 (0x00094947 0x7FC3ABC0 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415001B:00792504 (0x00094A64 0x0082E6F0 0x00AB40C0 0xFFFFFFFF) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415001B:00792CBF (0x00AB40C0 0x00003398 0x1A03C8E0 0x0043C804) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551001B:00503270 (0x00400000 0x00000000 0x00241F79 0x00000001) Gothic2.exe, HandledWinMain()+928 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1169
001B:00792504 (0x00094A64 0x0082E6F0 0x00AB40C0 0xFFFFFFFF) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415001B:00792CBF (0x00AB40C0 0x00003398 0x1A03C8E0 0x0043C804) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551001B:00503270 (0x00400000 0x00000000 0x00241F79 0x00000001) Gothic2.exe, HandledWinMain()+928 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1169
001B:00792CBF (0x00AB40C0 0x00003398 0x1A03C8E0 0x0043C804) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551001B:00503270 (0x00400000 0x00000000 0x00241F79 0x00000001) Gothic2.exe, HandledWinMain()+928 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1169
001B:007929E7 (0x1A03C8E0 0x05924280 0x1A03C778 0x1459ACB8) Gothic2.exe, zCParser::CallFunc()+23 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1488+23 byte(s)
001B:0043C804 (0x1A03C778 0x1A03C778 0x00602CD7 0x05924034) Gothic2.exe, oCTriggerScript::TriggerTarget()+836 byte(s), P:\dev\g2addon\release\Gothic\_bert\oTrigger.cpp, line 162
001B:0061077B (0x05924034 0x00000000 0xC27EDFAD 0xC2A06174) Gothic2.exe, zCTrigger::OnTimer()+43 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zVobMisc.cpp, line 473
001B:00602CD7 (0x00000001 0x05851FCC 0x00000000 0x0135FCA8) Gothic2.exe, zCVob::DoFrameActivity()+119 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zVob.cpp, line 2179
001B:006C87EB (0x00400000 0x00241F79 0x0135FECC 0x7FFDC000) Gothic2.exe, oCGame::Render()+331 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGame.cpp, line 2658
001B:00425E6E (0x0082F0EC 0x00000014 0x00180706 0x05851FCC) Gothic2.exe, CGameManager::Run()+1598 byte(s), P:\dev\g2addon\release\Gothic\_bert\oGameManager.cpp, line 767+47 byte(s)
001B:0078188B (0x0000002C 0x0107FFB8 0x0000009D 0x00000000) Gothic2.exe, MainProg()+75 byte(s), P:\dev\g2addon\release\Gothic\_ulf\Phoenix.cpp, line 111
001B:00503270 (0x00400000 0x00000000 0x00241F79 0x00000001) Gothic2.exe, HandledWinMain()+928 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1169
001B:00502DFD (0x0135FED0 0x00000000 0x00241F79 0x00000001) Gothic2.exe, WinMain()+141 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1054+17 byte(s)
001B:007D43F8 (0x00000004 0x0000FFFF 0x000000B8 0x00000000) Gothic2.exe, WinMainCRTStartup()+224 byte(s)
Auch wenn Externals eigentlich ihre Eingaben prüfen solltest du vielleicht mit Hlp_IsValidItem zuvor prüfen ob in der voblist_items auch gültige Items stehen.
Was oCMsgState:perator delete dort zu suchen hat weiß ich nicht. Das ist sehr seltsam.
-
Zitat von Sektenspinner
Auch wenn Externals eigentlich ihre Eingaben prüfen solltest du vielleicht mit Hlp_IsValidItem zuvor prüfen ob in der voblist_items auch gültige Items stehen.
Was oCMsgState:perator delete dort zu suchen hat weiß ich nicht. Das ist sehr seltsam.
Wo soll ich das genau prüfen? Im Triggerskript?
-
Also, ich warte erst mal noch mit dem Upload der Mod.
@Rantragon
Im Triggerskript wird ja bereits geprüft.
Aufgrund dieser Meldung:
SCRIPT: Npc_GetDistToItem(): illegal param: "ITITEM" is NULL. .... <oGameExternal.cpp,#252>
kurz vor dem Crash würde ich eher auf einen NULL-Pointer in ItemList.data tippen
-
Probier erstmal ob das einfügen des WP "TOT" etwas bewirkt. Eigentlich verlassen sich sowohl Ikarus als auch die Arrays auf denen Lehona ihre DelayedFuncs aufgebaut hat auf diesen WP.
Dann würde ich ein paar Debugmeldungen einbauen, wenn du mit "toggle debug" Debugmeldungen anzeigen lässt und im zSpy Informationen mitloggst kannst du mit "PrintDebug" Meldungen eingrenzen wo der Fehler auftritt.
Der oben gepostete Fehler (beim Einschalten des Suchsystems wenn man vorher ein bisschen rumgeladen und das System an und aus gemacht hat) tritt auf während ein TriggerScript getriggert wird (aber bislang ist unbekannt welches). Das geht aus dem Call-Stack hervor.
Das Hlp_IsValidItem ist wahrscheinlich nicht wirklich wichtig, aber du könntest mit dieser Funktion dein Item auf Gültigkeit prüfen bevor du diesen Code ausführst:
Code:
if Hlp_IsItem(ItItem, ItemInst) // Richtiges Item?
&& (Npc_GetDistToItem(hero, ItItem) < ItItemDist || ItItemDist == 0) { // Näher dran als vorherige Eier?
Der oben genannte Fehler tritt wohl beim Aufruf einer External auf und zwar vermutlich in Npc_GetDistToItem obwohl dort etwas von oCMsgState steht, was mich etwas irritiert.
Aufgrund dieser Meldung:
SCRIPT: Npc_GetDistToItem(): illegal param: "ITITEM" is NULL. .... <oGameExternal.cpp,#252>
kurz vor dem Crash würde ich eher auf einen NULL-Pointer in ItemList.data tippen
Ja. Es gibt auch ein paar Meldungen, die suggerieren, Instanzen mit Null-Pointern initialisiert werden.
Aber das allein ist eigentlich nichts schlimmes. Gothic prüft seine Eingaben in Externals sehr ausführlich.
Der von dir genannte Fehler tritt auch gelegentlich auf ohne dass er einen Absturz nach sich zieht.
Geändert von Sektenspinner (15.05.2010 um 15:51 Uhr)
-
Code:
001B:007D0B51 (0x1928DF80 0x00000000 0x0088DFE0 0x008B2534) Gothic2.exe, bad_cast::bad_cast
Das sieht doch nach 'nem Fehler aus. Ich könnte mir gut vorstellen, dass der automatisch generierte Code für Instanz -> Integer (Stack_PushInstance) bei einer "kaputten" Variable das Problem erzeugt.
Zitat von Rantragon
...Lehona, für seine große Geduld beim Fehlerbeheben und für das Erstellen der Suchhilfe. Ohne dich, hätte ich das nicht geschafft!
Nun übertreib mal nicht... Immerhin musstest du alles testen
Aber schön, dass eine Ostermod releast wurde und das Sektis Scripte Verwendung fanden, da hat er sich wirklich Mühe mit gemacht.
-
Zitat von Lehona
Code:
001B:007D0B51 (0x1928DF80 0x00000000 0x0088DFE0 0x008B2534) Gothic2.exe, bad_cast::bad_cast
Das sieht doch nach 'nem Fehler aus. Ich könnte mir gut vorstellen, dass der automatisch generierte Code für Instanz -> Integer (Stack_PushInstance) bei einer "kaputten" Variable das Problem erzeugt.
Der Fehler passiert beim Aufruf einer External (das geht aus dem Callstack hervor). Die External wird aus den Scripten aufgerufen, es gibt vier aufeinandergestapelte Script-Funktionsaufrufe, die wiederum durch einen Trigger ausgelöst wurden, und der Trigger wurde durch ein OnTimer Ereignis angestoßen (das heißt es ist ein zeitverzögerter Trigger).
Ich tippe wie gesagt auf unsinnige Eingaben an Npc_GetDistToItem. Vielleicht kann Nico mehr zu oCMsgState:perator delete() sagen.
-
-
REALEASE: Die Osterinsel 1.1
Ja, Ja. Lang lang ist's her.
Auch, wenn es nicht zu glauben ist, habe ich mich an eine neue Version gemacht, dessen Fertigstellung einige Zeit beansprucht hat und ich hoffe, es funktioniert nun alles (besonders mit der Suchhilfe) einwandfrei.
Die Mod ist in Kürze auch auf WoP erhältlich.
Hier der Link:
http://www.mediafire.com/?2h02cs86k1qh51o
Neue Feautures:
-Funktionierende Suchhilfe
-Suchhilfe nun mit dem Button 'k' ein- und ausschaltbar (nicht mehr bei Maltor)
-Veränderung eines Himmelseffekts (lasst euch überraschen^^)
-kleinere Rechtschreibfehler behoben
-ein wenig mehr bespacert
-Meeresrauschen
Großer Dank an:
-Boendal28 für den sehr sehr guten Betatest!
-Jaegermeister, für den guten Betatest!
-Milky Way für den Installer!
Geändert von Rantragon (05.09.2010 um 18:44 Uhr)
-
Zitat von Rantragon
Die Mod ist in Kürze auch auf WoP erhältlich.
Ja, hier ist sie: Die Osterinsel @ WoG
-
-
Zitat von Rantragon
....
Großer Dank an:
-Boendal28 für den sehr sehr guten Betatest!
-Jaegermeister, für den guten Betatest!
-Milky Way für den Installer!
Immer wieder gerne
-
Ich finde es gut das du die Mod verbessert hast. Die Scriptpackete sind ja quasi Neuland und da ist es schon fast normal, das nicht alles gleich funktioniert. Das Suchfeature finde ich sehr gut.
Die gefährlichste aller Weltanschauungen ist die Weltanschauung der Leute, welche die Welt nicht angeschaut haben.
Alexander von Humboldt
-
Zitat von ZaphodBeeblebrox
Ich finde es gut das du die Mod verbessert hast. Die Scriptpackete sind ja quasi Neuland und da ist es schon fast normal, das nicht alles gleich funktioniert. Das Suchfeature finde ich sehr gut.
Danke, das ermutigt einen doch gleich zum Weitermachen
-
Mir war gerade nach Ostern zumute, deshalb habe ich diese Mod angespielt.
ich finde ums Verrecken keine Ostereier mehr, habe 12 Stück, brauche 15. Wo hat der Osterhase diese vermaledeiten Dinger versteckt?
Das Leben ist wie eine Klobrille - man macht viel durch
*** Heinz Erhardt ***
-
Hast Du schon die Suchhilfe aktiviert (geht über die Taste K )?
Versteckt sind die Teile auf der ganzen Insel (im Teich vor der Hütte des Magiers sind z.B. auch welche).
-
Danke für den Tipp mit der Suchhilfe, diese Möglichkeit der Hilfe ist mir doch glatt durch die Lappen gegangen.
Damit konnte ich die Mod beenden - war wirklich sehr nett und hat mich Dank meiner Orientierungslosigkeit bei der Eiersuche fast eine Stunde unterhalten.
Das Leben ist wie eine Klobrille - man macht viel durch
*** Heinz Erhardt ***
-
Hey, ich weiß, dass wir ein bisschen spät dran sind, aber wir haben gerade die polnische Version mit Sprachausgabe vorbereitet.
http://bractwospolszczenia.pl/showthread.php?tid=454
[Video]
Danke für diese Modifikation und… ähm… Frohe Ostern. :P
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|