Hauptmenü

Neuigkeiten:

Bitte unterstützt uns und bestellt über diese Links bei Amazon  oder HumbleBumble!

Starterpack-Bug: Item wird mit vormals ausgewählten Item benutzt

Begonnen von Cone Arex, 20. Juli 2016, 16:54:37

Vorheriges Thema - Nächstes Thema

Cone Arex

Ein Bug aus dem Betatest von Das neue Jugendschutzgesetz §3.
Starterpack: Aktuelles Syd-Achmed-SP.
AGS-Version: 3.3.5
Situation: Ich benutze ein Item, sagen wir die Milchpackung, benutze es mit irgendetwas (sagen wir Tür). Das Item ist anschließend nicht mehr ausgewählt. Dann benutze ich einen anderen Gegenstand (von mir aus Glas) über linksklick auf "Benutze" und dann auf den Gegenstand wird der jetzt gewählte Gegenstand (Glas) mit dem vormals gewählten Gegenstand (Milch) benutzt, obwohl gar kein zweiter Gegenstand gewählt wurde.


Mitlerweile bin ich da am Ende meines Lateins. Ich habe das inzwischen fast 3 Stunden lang gedebugt und bin zu keiner Lösung gekommen.  Das einzige das ich heraus gefunden habe, ist das der gewählte Gegenstand tatsächlich nicht aus player.ActiveInventory gelöscht wird, nachdem er benutzt wurde. Aber das geht eigentlich bereits aus der Problemstellung hervor.


Folge mir auf X und itch.io

Elvis

Dieser Bug scheint in diversen Starterpacks zu existieren, siehe meinen Beitrag vom September 2015:
http://www.maniac-mansion-mania.de/forum/index.php?topic=2432.0

Vielleicht findet jemand mit guten Scripting-Kenntnissen (also Du, Cone Arex ;) ) eine "Lösung", wenn er sich das "9-verb MI-style"-Template ansieht, das im AGS-Forum von Abstauber gewartet wird. Dieses basiert wohl auf den älteren MMM-Templates, ist aber Dank Abstaubers ständigen Verbesserungen weitestgehend bugfrei.

Kinkilla

#2
Der Bug scheint auch im Dave SP zu existieren

Cone Arex

#3
Eigentlich wollte ich ja bis zum Release von Das neue Jugendschutzgesetz §3 warten, aber das scheint sich wieder hinzuziehen.

[ags]if ( Mouse.Mode == 2 )
     {
       if (isAction (eActUse) && invAt.IsInteractionAvailable(eModeUseinv) == 1)
       {
         gAktionText.TextColor = ActionLabelColorHighlighted;
               if ( invAt )
                  invAt.RunInteraction(eModeUseinv);
         SetAction (eActDefault);
       }
       else player.ActiveInventory = invAt;
     }[/ags]

Im obigen Abschnitt der Funktion on_mouse_click() im Abschnitt eMouseLeftInv den Cursor Mode in beiden Fällen von eModeUseinv auf eModeInteract ändern. That should do the trick. Wenn niemand Probleme meldet, commite ich den Code in die Starterpacks.

Vorschau ist immer noch kaputt.


Folge mir auf X und itch.io