Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Thema gestartet von: Kinkilla am 21. Juni 2015, 20:15:16

Titel: Dialog ausrichtung
Beitrag von: Kinkilla am 21. Juni 2015, 20:15:16
Hey Leute
Mein Ziel ist es:
Bei zb. Talk to Bernard
           Dass die Charaktere sich ausrichten
           Also ein "Player.Walk" "Player.FaceDirection" für jeden Raum in den man mit Bernard redet, weil Bernard in zwei Räumen vorkommt habe ich folgendes       Script geschrieben:
[ags]function cBernard_Talk()
{
                                                        
   {
   Wait(5);   
   player.Walk(145, 130, eBlock, eWalkableAreas);
   player.FaceDirection(eDirLeft);
   cBernard.FaceDirection(eDirRight);
      
   }
   else if(GetRoomProperty("Cellar")==7)
   {
   Wait(5);
   cBernard.FaceDirection(eDirRight);
   player.Walk(220, 127, eBlock, eWalkableAreas);
   player.FaceDirection(eDirLeft);
      
   }
   else
   {
      //You Fuckedup something
   }

dBernard.Start();
}

[/ags]Number und Cellar sind Properterys
Folgendes Problem:
                           Wenn ich Talk to Bernard- ausführe bewegt sich mein Player vor Bernard und erst dann bewegt er sich zur gewünschten Position
                           Außerdem habe ich entdeckt mit einen Breakpoint, dass mein Player sich zur falschen stelle bewegt während "if(GetRoomProperty("Number")==5)"
                           ausgeführt wird.
Habe keinen blassen Schimmer mehr was das angeht
LG Kinkilla
Titel: Re: Dialog ausrichtung
Beitrag von: Cone Arex am 21. Juni 2015, 20:44:28
In den neuen SPs richten sich die Charaktere bei Talk To automatisch aus. Allerdings nie so, wie man es will. Du musst da ein paar Zeilen im Global Script entfernen. Weiß leider selbst nicht mehr, welche.

Warum verwendest du eigentlich dieses seltsame GetRoomProperty, anstatt die Raumnummer abzufragen?
Titel: Re: Dialog ausrichtung
Beitrag von: Kinkilla am 21. Juni 2015, 21:04:19
Naja wenn's so drin steht dann wird ich's mal lassen :)
Hmm... die Raumnummer abfragen...  so weit habe ich nicht gedacht
Titel: Re: Dialog ausrichtung
Beitrag von: Cone Arex am 21. Juni 2015, 21:26:02
Ich habe nochmal nachgesehen:
[ags]
else if ((GSagsusedmode == eModeTalkto) && (IsInteractionAvailable (mouse.x, mouse.y, GSagsusedmode) == 1) )
    {
         gAktionText.TextColor = ActionLabelColorHighlighted;
      if (GoToCharacter (charAt, 0, 1, 2))
            charAt.RunInteraction(GSagsusedmode);
      SetAction (eActDefault);
    }
[/ags]
Die Zeile if (GoToCharacter (charAt, 0, 1, 2)) auskommentieren. Dann müsste es hinhauen.
Titel: Re: Dialog ausrichtung
Beitrag von: KhrisMUC am 22. Juni 2015, 01:07:54
Nur zur Info: selbst, wenn man nicht player.Room verwenden könnte, bräuchte man natürlich nur insgesamt EIN custom property, um die Raumnummer zu speichern, nicht "Number" und "Cellar" und was Du sonst noch genommen hast.

Und in deiner cBernard_Talk()-Funktion kommt ein "else if" ohne vorheriges "if", was sich eigentlich gar nicht kompilieren lassen dürfte.
Titel: Re: Dialog ausrichtung
Beitrag von: Cone Arex am 22. Juni 2015, 01:52:34
Ich gehe mal davon aus, der Kinkilla das if entfernt hat, weil das Property einen Spoiler enthält.
Titel: Re: Dialog ausrichtung
Beitrag von: Kinkilla am 22. Juni 2015, 13:39:54
Könnte vielleicht stimmen :) :)
Aber ich hab es mittlerweile anders geschrieben- mit der Raumnummer Abfragung
Titel: Re: Dialog ausrichtung
Beitrag von: MalleTheRedPhoenix am 06. Februar 2016, 15:55:04
Ich nutze mal Kinkillas Thread, um folgende Frage zu stellen:

Ich habe für den Dialog-GUI einen Rahmen erstellt. Jedoch möchte ich gerne die Dialog-Optionen ein wenig verschieben, damit es in den Rahmen passt.

Denn momentan sieht es so aus:

(http://img5.fotos-hochladen.net/uploads/dialogproblem1mv37l9b4f.png) (http://www.fotos-hochladen.net)

Wie kann ich die Zeilen verschieben?
Titel: Re: Dialog ausrichtung
Beitrag von: KhrisMUC am 13. Februar 2016, 02:03:07
Probiers mit

[ags]  game.dialog_options_x = 5;
  game.dialog_options_y = 5;[/ags]

in game_start().
Titel: Re: Dialog ausrichtung
Beitrag von: MalleTheRedPhoenix am 13. Februar 2016, 21:18:50
Danke! Hat funktioniert.