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 5 von 5
  1. Beiträge anzeigen #1 Zitieren
    Hero Avatar von lali
    Registriert seit
    Feb 2016
    Beiträge
    5.473
     
    lali ist offline

    NPC sitzt auf der falschen Bank

    Hey. Ich hab das Problem, dass ein NPC auf einer Bank sitzen soll vor seinem Haus. Und sein Waypoint ist recht nah an dieser Bank. Etwa drei Meter weiter steht aber noch eine andere Bank und die soll da auch nicht entfernt werden. Statt sich aber auf seine Bank zu setzen, die viel näher an seinem Waypoint ist, läuft er IMMER zu der anderen. Es scheint aber kein Problem mit der Bank vor dem Haus zu geben. Da setzt er sich auch drauf, aber nur wenn alle anderen Bänke in der Umgebung, die wirklich weiter weg sind, besetzt sind... Aber er soll immer da drauf. Jemand eine Idee?
    Phoenix Dev | Website | Discord

  2. Beiträge anzeigen #2 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Eine (etwas doofe) Lösung wäre das ganze Bank mob unter anderem Namen zu duplizieren.
    So dass du dann ein mob "BENCH" und ein mob "MEINEBANK" hast.
    Dann könntest du auch ZS_Sit_Bench duplizieren unter neuem Namen und dort den NPC nur nach mobs mit schemenamen "MEINEBANK" suchen lassen. Dann kannst du sicherstellen das dieser eine NPC immer die richtige Bank benutzt.

    (In DirtySwamp hatten wir etwas ähnliches gemacht mit dem Zustand ZS_Smalltalk für einen Raum wo 4 NPCs in 2er Paaren Smalltalk machen sollen. 2 NPCs sind in ZS_Smalltalk und suchen nach "SMALLTALK" freepoints und 2 NPCs sind in ZS_IDLECHATTER und suchen nach "IDLECHATTER" freepoints)
    Code:
    // ************
    // ZS_Idlechatter
    // Ist eine Kopie von ZS_Smalltalk mit anderen freepoints. (wenn man nahe beieinander mehrere SMALLTALK freepoints setzt lässt sich nicht gut kontrollieren wer da mit wem spricht
     // Lösung: 2 NPCs in ZS_Smalltalk, 2 NPCs in ZS_Idlechatter
    // ************
    
    func void ZS_Idlechatter () 
    {
    	Perception_Set_Normal();
    	
    	B_ResetAll (self);
    	
    	AI_SetWalkmode 	(self,NPC_WALK);
    	 	
    	if (Npc_GetDistToWP (self,self.wp) > TA_DIST_SELFWP_MAX) 
        {
    		AI_GotoWP	(self, self.wp);
    	};
    };
    
    func int ZS_Idlechatter_Loop ()
    {
    	if (Npc_IsOnFP (self, "IDLECHATTER"))
    	{	
    		if (Npc_GetStateTime(self) >= (SmallTalkFreq * 2) )
    		{
    			Npc_PerceiveAll (self);
    			
    			if (Wld_DetectNpc(self, -1, ZS_Idlechatter, -1)) //other = Nearest Npc (0=Spieler ignorieren!)
    			{
    				if (Npc_GetDistToNpc(self, other) < PERC_DIST_DIALOG)
    				{
    					Npc_SetStateTime (other, SmallTalkFreq);
    					                                       
    					B_TurnToNpc (self,other);
    					B_Say_Smalltalk();
    				};
    			};
    		
    			Npc_SetStateTime (self, 0);
    		};
    	}
    	else if (Wld_IsFPAvailable(self,"IDLECHATTER"))
    	{
    		AI_GotoFP 		(self, "IDLECHATTER");
    		AI_StandUp (self);
    		AI_AlignToFP 	(self);
    	};
    	
    	return LOOP_CONTINUE;
    };
    
    func void ZS_Idlechatter_End ()
    {
    
    };

  3. Beiträge anzeigen #3 Zitieren
    banned
    Registriert seit
    Jan 2009
    Ort
    Oberösterreich
    Beiträge
    2.393
     
    Moe ist offline
    Ein neuen Wegpunkt platzieren, der viel weiter von der falschen Bank weg ist, aber noch nahe genug, um sich auf die richtige Bank zu setzen?

  4. Beiträge anzeigen #4 Zitieren
    Hero Avatar von lali
    Registriert seit
    Feb 2016
    Beiträge
    5.473
     
    lali ist offline
    Danke Cryp18Struct. Das würde dann auf jedenfall funktionieren. Aber ja, ist eher ne Notlösung.

    Zitat Zitat von Moe Beitrag anzeigen
    Ein neuen Wegpunkt platzieren, der viel weiter von der falschen Bank weg ist, aber noch nahe genug, um sich auf die richtige Bank zu setzen?
    Moment mal. Das bringt mich auf eine Idee.^^
    // Okay nein. Wenn ich ihm einen Waypoint weiter weg gebe, sitzt er zwar zu Spielbeginn auf der Bank, aber sobald angesprochen setzt er sich danach wieder auf die viel weiter entfernte.
    Phoenix Dev | Website | Discord
    Geändert von lali (01.04.2019 um 13:45 Uhr)

  5. Beiträge anzeigen #5 Zitieren
    Local Hero
    Registriert seit
    Feb 2017
    Beiträge
    270
     
    F a w k e s ist offline
    Maybe you can try to force NPC in ZS* function to get back to its waypoint. (So it will always look for mobs from same position)
    Code:
    	AI_GotoWP (self, self.wp);
    	AI_AlignToWP (self);

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