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 6 von 6
  1. Beiträge anzeigen #1 Zitieren
    Veteran Avatar von Lukar
    Registriert seit
    Jan 2014
    Beiträge
    682
     
    Lukar ist offline

    Probleme mit der Variable hero

    Bei mir in der Mod kommt es gerne mal zu dem Fehler, dass das Spiel die npcvariable hero nicht erkennt oder nicht richtig abfragt.

    Nehmen wir testweise mal einen Dialog, der folgende Condition hat:

    if(hero.guild == GIL_MIL)
    {
    return TRUE;
    };

    und nehmen wir einen PC_HERO, der eben jene Gilde besitzt.

    Ob nun auch der obrige Dialog gefeuert wird, ist bisweilen ein echtes Glücksspiel. Bei dem einen Tester klappte es, bei dem anderen nicht. Und falls es mal nicht klappt, kommt es vor, dass Neuladen das Problem behebt.

    Der obrige Fehler ist nun für mich behebbar, indem ich statt hero einfach other eintrage. Aber damit ist es leider nicht überall getan. Teilweise hat das Spiel die Variable hero überhaupt nicht mehr erkennen wollen und somit die Benutzung von z.b Mobsidialogen völlig unmöglich gemacht. Das Herbeicheaten eines neuen PC_HERO löste kurioserweise das Problem: Dieser konnte Mobsis benutzen, aber der "alte" PC_HERO war verflucht und konnte es nicht mehr.

    Also nun meine Frage: Wo genau wird hero eigentlich festgesetzt? Wird die Variable evt nach jedem Levelwechsel und jedem Neuladen neu initialisiert? Bisher bin ich immer nur auf Abkürzungen in C_ skripten gestoßen wie her oder slf, aber hero bin ich bisher nicht über den Weg gelaufen.

    Sei noch angemerkt, dass ich in der INIT_GLOBAL das Äußere des Helden verändere, je nach Wahl des Spieles. Könnte dies Auswirkungen haben?

  2. Beiträge anzeigen #2 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.244
     
    Milky-Way ist offline
    Jemand hatte Mal etwas zu Hero und PC_Hero nach Weltenwechsel geschrieben. Wird bei dir die Welt gewechselt?

  3. Beiträge anzeigen #3 Zitieren
    Veteran Avatar von Lukar
    Registriert seit
    Jan 2014
    Beiträge
    682
     
    Lukar ist offline
    In diesem Fall hat tatsächlich einige Zeit zuvor ein Weltenwechsel stattgefunden.

    Damit hatte ich auch durchaus schon mal so meine Probleme. Damals klappte ein Teleport aus ZS_DEAD direkt nach dem Weltenwechsel heraus nicht, erst nach einem Neuladen war dieser möglich. Als ob self und hero nach einem solchen Wechsel erst mal spinnen würden.

  4. Beiträge anzeigen #4 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Kannst du einfach other benutzen und mit Npc_IsPlayer prüfen ob other der Spieler ist?

    Hero ist eine globale Variable in der der aktuell kontrollierte NPC vom Spieler drinne steht.

    Während einer Verwandlung ist Hero z.b. "falsch" wenn man den PC_Hero erwartet, Attribute etc. sind dann alle von der Verwandlung.

  5. Beiträge anzeigen #5 Zitieren
    Veteran Avatar von Lukar
    Registriert seit
    Jan 2014
    Beiträge
    682
     
    Lukar ist offline
    In diesem recht einfachen Beispiel, ja. Aber in manchen Situationen, wo es kein klares other und self gibt, war es nicht so einfach lösbar.

    Verwandlungszauber gibt es in meiner Mod nur wenige, bei Stellen wo der genannte Fehler auftritt, kommen sie auch nicht zum Einsatz.

    Habe nun tatsächlich über die Suche hero und levelchange im Forum eine Zeile gefunden, die hero wieder richtig einsetzten soll.

    PC_Hero = Hlp_GetNpc(hero);
    Mal schauen ob sich damit positive Veränderungen ergeben.

  6. Beiträge anzeigen #6 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von Lukar Beitrag anzeigen
    PC_Hero = Hlp_GetNpc(hero);
    Mal schauen ob sich damit positive Veränderungen ergeben.
    Huch ? Müsste die Zuweisung dann nicht umgekehrt sein?
    Also Hero = Hlp_GetNpc(Pc_hero)


    Aber gut wenn du eine Lösung gefunden hast

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