Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 4 von 4
  1. Beiträge anzeigen #1 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline

    PC_Hero is null nach level change

    Zitat Zitat von Lehona Beitrag anzeigen
    Code:
    var zCPar_Symbol symb; symb = _^(MEM_GetSymbolByIndex(fncID);
    print(symb.name);
    So solltest du den schuldigen finden. Ich sehe jetzt allerdings auch nicht, was das auslösen sollte. Aber vielleicht findest du ja was.
    Code:
    func int FrameFunctions(var int hndl) {
        var FFItem itm; itm = get(hndl);
    	
        var zCPar_Symbol symb; symb = _^(MEM_GetSymbolByIndex(itm.fncID));
    bekomme ich leider:
    Code:
    [f] 01:59 Fault: 0 Q:     [start of stacktrace]
    [f] 01:59 Fault: 0 Q:             MEMINT_HANDLEERROR(3, 'MEM_GetSymbolByIndex: Index is not in valid bounds: 2124539749') +   62 bytes
    [f] 01:59 Fault: 0 Q:             MEM_ERROR('MEM_GetSymbolByIndex: Index is not in valid bounds: 2124539749') +   21 bytes
    [f] 01:59 Fault: 0 Q:             MEM_GETSYMBOLBYINDEX(2124539749)                               +   59 bytes
    [f] 01:59 Fault: 0 Q:             FRAMEFUNCTIONS(3)                                              +   37 bytes
    [f] 01:59 Fault: 0 Q:             FOREACHHNDL(10316, FRAMEFUNCTIONS)                             +  263 bytes
    [f] 01:59 Fault: 0 Q:             [UNKNOWN]                                                      +-1718119031 bytes
    [f] 01:59 Fault: 0 Q:             _FF_HOOK()                                                     +   32 bytes
    [f] 01:59 Fault: 0 Q:             MEM_CALLBYID(10372)                                            +  224 bytes
    [f] 01:59 Fault: 0 Q:             _HOOK(387369364, 176892900, 0, 20315304, 20315172, 0, 8635020, 176892900, 406694160) +  498 bytes
    [f] 01:59 Fault: 0 Q:             [UNKNOWN]                                                      +-1718115273 bytes
    [f] 01:59 Fault: 0 Q:     [end of stacktrace]

  2. Beiträge anzeigen #2 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Wenn ich mich recht erinnere ist das gar kein Symbolindex, sondern ein Pointer (unglücklicher Variablenname). Wie man von dem Pointer auf das Symbol der Funktion und damit auf den Namen kommt wüsste ich jetzt nicht.

  3. Beiträge anzeigen #3 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Okay ich habe es gefunden. Ich hatte noch Npc_PercEnable(pc_hero... benutzt um Schadenswahrnehmung beim Helden zu bekommen. Da nehme ich dann hero.
    Bleibt PC_HERO nach levelchange denn dauerhaft "leer"?
    Weil es in den Skripten recht häufig solche Konstruktionen gibt
    Code:
    var C_NPC her; 	her = Hlp_GetNpc(PC_Hero); 
    	
    	if  (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(her))
    	{

  4. Beiträge anzeigen #4 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Zitat Zitat von Cryp18Struct Beitrag anzeigen
    Okay ich habe es gefunden. Ich hatte noch Npc_PercEnable(pc_hero... benutzt um Schadenswahrnehmung beim Helden zu bekommen. Da nehme ich dann hero.
    Bleibt PC_HERO nach levelchange denn dauerhaft "leer"?
    Weil es in den Skripten recht häufig solche Konstruktionen gibt
    Code:
    var C_NPC her; 	her = Hlp_GetNpc(PC_Hero); 
    	
    	if  (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(her))
    	{
    Du kannst ja einfach mal PC_Hero = Hlp_GetNpc(hero); ausführen, dann sollte PC_Hero wieder richtig befüllt sein. Wie das wirklich Verhalten der zEngine aussieht, weiß ich aber nicht.

    Edit: Es gibt übrigens die Funktion MEM_GetFuncIDByOffset(int offset), d.h. du musst von dem Pointer noch den Codestackpointer abziehen, dann kannst du den Symbolindex berechnen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide