Autor Thema: Problem: Inventargegenstände verschwinden!  (Gelesen 4230 mal)

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2186
  • Geschlecht: Männlich
  • Skandal-Entwickler
    • Profil anzeigen
    • Conequest
Re: Problem: Inventargegenstände verschwinden!
« Antwort #15 am: 24. April 2020, 21:41:08 »
Das versteht sich vermutlich von selbst, wenn die aktuellste Version auf der Website aus dem Jahr 2012 stammt. ;)

"Bernard Starterpack - Bernards Haus jetzt auch für die momentan aktuelle AGS-Version 3.21"
Die Angaben auf der Homepage beziehen sich auf die allererste Version für AGS 3. Download und Links werden automatisch mit von GitHub gespeisten Daten geändert, der Fließtext dagegen nicht. Die Version die man aktuell dort bekommt, ist entsprechend die von heute.
Ich nehme mal stark an, dass du Version 1.2 vom 17. Januar 2017 hast. Das war bis vor 13 Stunden das neueste Release und die Version, die auf der Homepage verlinkt war.
Ich bin der Todfeind von allem was gut und anständig ist!

Meistgehasster User im Forum




Folge mir auf Twitter

FireOrange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3954
    • Profil anzeigen
    • Second Moon . de
Re: Problem: Inventargegenstände verschwinden!
« Antwort #16 am: 26. April 2020, 11:53:35 »
OK, das wusste ich nicht.

Leider fallen mir noch weitere Probleme im Zusammenhang mit den Verb-Buttons auf.

1. Rede mit: Wähle ich "Rede" vorher mit Klick auf den Button aus, dreht Marcy ebenfalls eine kleine Runde, bevor sie den Charakter anspricht. Das passiert nicht, wenn ich bloß mit der rechten Maustaste auf die Figur klicke. (Das ist jetzt aber nicht so dramatisch, da es wahrscheinlich kaum auffallen wird.)

2. Ein Item wurde mit >u gekennzeichnet, soll also direkt benutzt werden, kein "Benutze mit" soll angewählt werden. Es funktioniert aber nur, wenn ich nicht vorher auf das Verb "Benutze" klicke. Wähle ich vorher "Benutze" an, wird ein "Benutze mit" daraus und die geskriptete Reaktion bleibt aus. Bei AGS 2.72 war das nie ein Problem, hier stimmt aber scheinbar etwas nicht oder ich mache was falsch.

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2186
  • Geschlecht: Männlich
  • Skandal-Entwickler
    • Profil anzeigen
    • Conequest
Re: Problem: Inventargegenstände verschwinden!
« Antwort #17 am: 26. April 2020, 13:32:17 »
1. Rede mit: Wähle ich "Rede" vorher mit Klick auf den Button aus, dreht Marcy ebenfalls eine kleine Runde, bevor sie den Charakter anspricht. Das passiert nicht, wenn ich bloß mit der rechten Maustaste auf die Figur klicke. (Das ist jetzt aber nicht so dramatisch, da es wahrscheinlich kaum auffallen wird.)
Ja, da sind wieder GoToCharacter()-Aufrufe, die dort nicht sein sollten. Such im GlobalScript mittels Volltextsuche nach "eModeTalkTo" und entferne an zwei Stellen die GoToCharacter()-Aufrufe. That should do the trick. Kommt auch auf meine To-do-Liste "Müll, der aus SPs entsorgt werden muss".

2. Ein Item wurde mit >u gekennzeichnet, soll also direkt benutzt werden, kein "Benutze mit" soll angewählt werden. Es funktioniert aber nur, wenn ich nicht vorher auf das Verb "Benutze" klicke. Wähle ich vorher "Benutze" an, wird ein "Benutze mit" daraus und die geskriptete Reaktion bleibt aus. Bei AGS 2.72 war das nie ein Problem, hier stimmt aber scheinbar etwas nicht oder ich mache was falsch.
Das ist in der Tat ein Problem. Einen schmutzigen Fix hätte ich parat: Suche im GlobalScript nach invAt.RunInteraction(eModeUseinv); dann solltest du zu folgendem Abschnitt kommen (ist der erste der zwei Treffer):

if ( Mouse.Mode == 2 )
      {
        if (isAction (eActUse) && invAt != null && invAt.IsInteractionAvailable(eModeUseinv) == 1)
        {
          gAktionText.TextColor = ActionLabelColorHighlighted;
if ( invAt )
invAt.RunInteraction(eModeUseinv);
          SetAction (eActDefault);
        }
        else player.ActiveInventory = invAt;
      }
Ersetze es durch:

if ( Mouse.Mode == 2 )
      {
        if (isAction (eActUse) && (GSinvloc.Extension() == 'u') && invAt.IsInteractionAvailable(eModeInteract) == 1)
        {
          gAktionText.TextColor = ActionLabelColorHighlighted;
if ( invAt )
invAt.RunInteraction(eModeInteract);
          SetAction (eActDefault);
        }
        else player.ActiveInventory = invAt;
      }

Ich muss ausdrücklich dazu sagen, dass es ein schmutziger Fix ist. Es ist nicht getestet, daher Verwendung auf Gefahr hin.
Alternativ kannst du auch einfach nur die Zeile
invAt.RunInteraction(eModeUseinv);durch
invAt.RunInteraction(eModeInteract);ersetzen. Das bringt aber das Problem mit sich, dass bei Items IMMER der Befehl Benutze Item ausgeführt wird und nur noch mittels Linksklick verwendet werden können.
« Letzte Änderung: 26. April 2020, 13:34:25 von Cone Arex »
Ich bin der Todfeind von allem was gut und anständig ist!

Meistgehasster User im Forum




Folge mir auf Twitter

FireOrange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3954
    • Profil anzeigen
    • Second Moon . de
Re: Problem: Inventargegenstände verschwinden!
« Antwort #18 am: 26. April 2020, 16:10:50 »
So, damit dürfte meine Episode wohl endgültig gerettet sein. ;)

Alle genannten Bugs sind behoben. Der schmutzige Fix funktioniert super, notfalls desinfiziere ich ihn nochmal vor dem Release (gute Hygiene ist ja momentan besonders wichtig!). ;)

Vielen Dank!

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2186
  • Geschlecht: Männlich
  • Skandal-Entwickler
    • Profil anzeigen
    • Conequest
Re: Problem: Inventargegenstände verschwinden!
« Antwort #19 am: 27. April 2020, 14:28:56 »
Der schmutzige Fix funktioniert super, notfalls desinfiziere ich ihn nochmal vor dem Release (gute Hygiene ist ja momentan besonders wichtig!). ;)
Ich werde bis noch bis nach dem Release deiner Episode abwarten. Wenn bis dahin nicht noch Bugs auftauchen, committe ich den Code in die Starterpacks.
Ich bin der Todfeind von allem was gut und anständig ist!

Meistgehasster User im Forum




Folge mir auf Twitter

FireOrange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3954
    • Profil anzeigen
    • Second Moon . de
Re: Problem: Inventargegenstände verschwinden!
« Antwort #20 am: 29. April 2020, 19:43:52 »
Ich weiß nicht, ob hier noch ein Zusammenhang besteht, aber dieser Bug tritt auf, wenn ich einer Person einen Gegenstand gebe und daraufhin das GUI ausschalte.

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2186
  • Geschlecht: Männlich
  • Skandal-Entwickler
    • Profil anzeigen
    • Conequest
Re: Problem: Inventargegenstände verschwinden!
« Antwort #21 am: 29. April 2020, 20:04:41 »
Ein Zusammenhang damit besteht nicht. Das ein Fehler der Auftritt, wenn das GUI ausgeschaltet wird und das Inventory gescrollt wurde. Ich habe noch keine Ahnung woran an das liegt. Ich meine aber, den Fehler damals bei Rescue Mission korrigiert zu haben. Muss mal den Quelltext durchgehen.

Du hast jetzt übrigens beide Game Breaker von der Berthold Beta ebenfalls durch.

EDIT:
Ich habe mal kurz nachgesehen. Bei Rescue Mission lautet die Zeile
if (invItem == null)Ich habe es jetzt selbst nicht noch mal überprüft, daher: Verwendung auf eigene Gefahr!
« Letzte Änderung: 29. April 2020, 20:10:30 von Cone Arex »
Ich bin der Todfeind von allem was gut und anständig ist!

Meistgehasster User im Forum




Folge mir auf Twitter

FireOrange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3954
    • Profil anzeigen
    • Second Moon . de
Re: Problem: Inventargegenstände verschwinden!
« Antwort #22 am: 29. April 2020, 20:13:56 »
OK, nur bei gescrolltem Inventar? Dann tritt der Fehler nur auf, weil ich im Debug-Modus getestet habe. Das Inventar meiner Minisode ist zu leer, um gescrollt werden zu können. Ich probiere das gleich nochmal ohne Debug aus.

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2186
  • Geschlecht: Männlich
  • Skandal-Entwickler
    • Profil anzeigen
    • Conequest
Re: Problem: Inventargegenstände verschwinden!
« Antwort #23 am: 29. April 2020, 20:16:29 »
Dann tritt der Fehler nur auf, weil ich im Debug-Modus getestet habe. Das Inventar meiner Minisode ist zu leer, um gescrollt werden zu können.
Und aus genau dem gleichen Grund habe ich mir das bei Berthold nicht genauer angesehen.  :P
Ich bin der Todfeind von allem was gut und anständig ist!

Meistgehasster User im Forum




Folge mir auf Twitter