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 10 von 10
  1. Beiträge anzeigen #1 Zitieren
    Abenteurer Avatar von Fleischwanzentopf
    Registriert seit
    Dec 2015
    Beiträge
    91
     
    Fleischwanzentopf ist offline

    Question Schlafend im Bett spawnen

    Hey!

    Ich scheitere derzeit daran, den Held quasi nach dem Intro schlafend im Bett spawnen zu lassen.
    Hierzu habe ich den Spawnpunkt neben das entsprechende Bett gesetzt und folgendes in der Startup unter INIT_SUB eingefügt.

    Spoiler:(zum lesen bitte Text markieren)
    Code:
    FUNC VOID INIT_SUB_DJLG()
    {
    // Schlafposition
         if (!C_BodyStateContains(hero, BS_LIE))
        {
            if (Wld_IsMobAvailable(hero,"BEDHIGH"))
            {
                AI_UseMob (hero, "BEDHIGH", 1);
            };
        };
    };


    Das ganze funktioniert allerdings nicht und der Held spawnt einfach ohne ins Bett zu wandern.

    Hat vielleicht jemand hierzu eine Idee?

    Danke im Voraus und LG.

  2. Beiträge anzeigen #2 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.484
     
    Cryp18Struct ist offline
    Ich nehme mal an du rufst diesen code zu früh auf. Evt. existiert der hero da noch nicht Richtig.
    Bei mir landet der hero im Bett wenn ich eine Triggerschleife benutze welche 1 mal die Sekunde aufgerufen wird.
    Code:
    var int sentToBedOnce;
    func void CALLEDEVERYSECOND()
    {	
    	if(PLAYER_MOBSI_PRODUCTION == MOBSI_SLEEPABIT){
    		sentToBedOnce = true;
    	};
    	
    	if(!sentToBedOnce){
    		if (!C_BodyStateContains(hero, BS_LIE))
    		{
    			if (Wld_IsMobAvailable(hero,"BEDHIGH"))
    			{
    				AI_UseMob (hero, "BEDHIGH", 1);
    			};
    		};
    	};
    };
    Falls du LeGo benutzt wäre es wohl am bequemsten eine FrameFunction zu starten. Dort prüfst du ob der hero im Bett liegt. Falls ja: FrameFunction entfernen, falls nein: hero ins Bett schicken.
    Geändert von Cryp18Struct (12.10.2017 um 03:59 Uhr)

  3. Beiträge anzeigen #3 Zitieren
    Abenteurer Avatar von Fleischwanzentopf
    Registriert seit
    Dec 2015
    Beiträge
    91
     
    Fleischwanzentopf ist offline
    Ja vielen Dank, so funktioniert das schon ganz gut.
    Einziges Problem ist nur, dass man den Prozess des Hinlegens sieht. Ich hab' das zwar versucht mit einem Blackscreen zu umgehen, der mit dem Aufrufen des Triggers startet und mit dem Hinlegen endet, nur ist der leider zu kurz da um die gesamte Aktion bis der Hero wirklich liegt zu "verstecken".

  4. Beiträge anzeigen #4 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Zitat Zitat von Fleischwanzentopf Beitrag anzeigen
    Ich hab' das zwar versucht mit einem Blackscreen zu umgehen, der mit dem Aufrufen des Triggers startet und mit dem Hinlegen endet, nur ist der leider zu kurz da um die gesamte Aktion bis der Hero wirklich liegt zu "verstecken".
    Falls du LeGo verwendest, schau dir mal das an.

  5. Beiträge anzeigen #5 Zitieren
    Abenteurer Avatar von Fleischwanzentopf
    Registriert seit
    Dec 2015
    Beiträge
    91
     
    Fleischwanzentopf ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Falls du LeGo verwendest, schau dir mal das an.
    Danke für den Tipp, mit Lego und Ikarus habe ich mich bisher aber noch gar nicht auseinandergesetzt.

  6. Beiträge anzeigen #6 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.484
     
    Cryp18Struct ist offline
    Ikarus und LeGo lohnt sich, erlaubt einem einiges an Zeug zu machen (und vieles wird auch einfach bequemer).

    Alternativvorschlag: Du bastelst dir ein Animations overlay (.mds) in welcher die ins-Bett-Legen Animation auf 2 frames gekürzt ist. Dadurch würde der hero quasi sofort ins Bett ploppen. Danach kann man das Overlay ja wieder entfernen. Da müsstest du dann aber wahrscheinlich dir erst mal die entsprechende .asc mit den GothicSourcer holen und bearbeiten.

    edit:
    habe mal solch ein overlay gebastelt: Human_InstantHighBed_Martin.zip
    kann wie andere overlays aktiviert werden
    Code:
    instance PC_Hero (NPC_DEFAULT){
    	[hier ein haufen anderes zeugs]
    	Mdl_ApplyOverlayMds (self, "Human_InstantHighBed.mds");
    };
    dann einfach wieder mit Mdl_RemoveOverlayMDS entfernen.
    Geändert von Cryp18Struct (13.10.2017 um 03:38 Uhr)

  7. Beiträge anzeigen #7 Zitieren
    Abenteurer Avatar von Fleischwanzentopf
    Registriert seit
    Dec 2015
    Beiträge
    91
     
    Fleischwanzentopf ist offline
    Super vielen Dank funktioniert genauso, wie es sollte.

  8. Beiträge anzeigen #8 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.446
     
    Lehona ist offline
    Schonmal gespeichert und wieder geladen? Der Spieler dürfte die OverlayMDS dann wieder aktiviert haben - du musst das also irgendwie regelmäßig entfernen. Eventuell reicht es schon, wenn du die Zeile in der PC_Hero mit einer If-Abfrage übergibst und checkst, ob eine Variable 0 ist - wenn du die OverlayMDS das erste Mal entfernst musst du sie dann auf 1 setzen.

  9. Beiträge anzeigen #9 Zitieren
    Abenteurer Avatar von Fleischwanzentopf
    Registriert seit
    Dec 2015
    Beiträge
    91
     
    Fleischwanzentopf ist offline
    Zitat Zitat von Lehona Beitrag anzeigen
    Schonmal gespeichert und wieder geladen? Der Spieler dürfte die OverlayMDS dann wieder aktiviert haben - du musst das also irgendwie regelmäßig entfernen. Eventuell reicht es schon, wenn du die Zeile in der PC_Hero mit einer If-Abfrage übergibst und checkst, ob eine Variable 0 ist - wenn du die OverlayMDS das erste Mal entfernst musst du sie dann auf 1 setzen.
    Du hast recht, sobald das Spiel geladen wird ploppt der Held automatisch wieder ins Bett, solange er daneben steht und die OverlayMDS setzt sich auch wieder zurück.
    Das mit der If-Abfrage hat leider auch nichts gebracht.

  10. Beiträge anzeigen #10 Zitieren
    Abenteurer Avatar von Fleischwanzentopf
    Registriert seit
    Dec 2015
    Beiträge
    91
     
    Fleischwanzentopf ist offline
    Ich habe den Blackscreen jetzt einfach in der VisualFxInst.d länger laufen lassen, ist zwar nicht die allerschönste Lösung aber so wird auch das langsame Hinlegen gut verdeckt.

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