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 3 von 3
  1. Beiträge anzeigen #1 Zitieren
    Waldläufer Avatar von Hirnschmalz
    Registriert seit
    Oct 2008
    Ort
    hic et nunc
    Beiträge
    160
     
    Hirnschmalz ist offline

    Question ZS_MagicSleep => ...

    Aloah Gemeinde,

    evtl. kann mir jemand bei einem imho völlig wirren Problem helfen ...

    Hero soll einen Trank trinken, daraufhin in Ohnmacht fallen und wegteleportiert werden (Levelchange).

    In die USE-func des Trankes habe ich also zunächst ... 'AI_StartState (hero, ZS_MagicSleep2, 0, "");'
    geschrieben, was auch gut funxte - da das Teleportieren danach zu Problemen führte, wollte ich nun
    eine komplett neue ZS schreiben, die in der Loop anstelle von
    Code:
    	if (Npc_GetStateTime(self) > SPL_Time_Sleep)	{
    		Npc_ClearAIQueue(self);
    		B_StopMagicSleep();    //  aufstehen, Kommentar etc.
    		return LOOP_END;
    	};
    bereits nach kürzerer Zeit (SPL_Time_Sleep = 30) eine andere Folge-func aufruft:
    Code:
    	if (Npc_GetStateTime(self) > 5	{
    		Npc_ClearAIQueue(self);
    		B_StopMagicTeleport();    //  wegteleportieren
    		return LOOP_END;
    	};
    Aus unerfindlichen Gründen funktioniert das nicht - und zwar GAR NICHT, denn
    Hero sinkt nicht einmal ohnmächtig zusammen (wobei der erste Teil des neuen ZS
    exakt übernommen wurde aus der originalen ZS-MagicSleep, incl.
    'AI_PlayAniBS (self, "T_STAND_2_VICTIM_SLE", BS_LIE );'

    Um dem Problem auf die Spur zu kommen, kommentierte ich meine func aus und
    kopierte die originale ZS_MagicSleep 1 zu 1 dort hinein (aber benannte die dann um, klar)
    - aber siehe: Es funktioniert nicht.
    Obwohl GENAU DASSELBE drinsteht, zeigt Hero keinerlei Reaktion - er trinkt seinen Trank
    und bleibt dann einfach stehen.
    Schluss, aus.

    wtf!?

    edit: Habe das Problem jetzt mit purer Schlamperei umgangen - originale ZS_MagicSleep
    umgeschrieben und einfach in die Loop ...
    Code:
    	if Npc_IsPlayer (self)	&&	SmuEVT_VAR[98] == 1	{   // wird in der USE-func des Trankes gesetzt
    		if (Npc_GetStateTime(self) > 5)	{
    			Npc_ClearAIQueue(self);
    			B_StopMagicTeleport();
    			return LOOP_END;
    		};
    	};
    .. eingefügt. Bauernschlau, aber eben auch bauernhaft.
    Nehme ich EXAKT diese Datei und benenne sie dann um (incl. aller kruzialen Teile),
    passiert nach wie vor - nix.

    Warum?
    Geändert von Hirnschmalz (08.04.2019 um 11:43 Uhr)

  2. Beiträge anzeigen #2 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Für den hero steht in der engine fest geschrieben welche Zustände er betreten kann:
    https://forum.worldofplayers.de/foru...1#post26034737

  3. Beiträge anzeigen #3 Zitieren
    Waldläufer Avatar von Hirnschmalz
    Registriert seit
    Oct 2008
    Ort
    hic et nunc
    Beiträge
    160
     
    Hirnschmalz ist offline

    Thumbs up

    Löl - darauf muss man erstmal kommen.
    Erklärt aber alles - vielen Dank!

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