Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Newbies => Thema gestartet von: Shoben am 24. November 2010, 18:16:41

Titel: "Rede mit" und "Benutze"
Beitrag von: Shoben am 24. November 2010, 18:16:41
Hi, ich möchte bei meinem neuen Inventory-Item 2 Dinge machen.
Man soll...

A: Damit reden können
B: Bei "Benutze [InvItem]" ein kleines Selbstgespräch führen.



Die Skripts für beides sind schon gemacht, aber ich habe folgende Probleme:


Bei A funktioniert alles, nur dass wenn ich "Rede mit [InvItem]" mache, kommt alles wie es soll, aber
es wird kein Name des [InvItems] im Actiontext angezeigt.

Bei B funktioniert nix, denn wenn ich "Benutze [InvItem]" mache kommt gleich "Benutze [InvItem] mit".



Kann mir da einer helfen?

Danke :D
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: NsMn am 24. November 2010, 18:23:12
Bei "Benutze [invItem]" musst du neben den Namen des Items im Editor ein ">u" setzen. (Oder wars ein >b?)
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: Endres am 24. November 2010, 19:29:33
Also ich hab immer das Globalscript geändert, wo auch das mit der Actionbar ist.
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: Shoben am 24. November 2010, 21:24:00
Und was genau muss ich vorallem wo ändern?
Das Globalscript ist für mich noch zu latein :-[
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: KhrisMUC am 25. November 2010, 12:44:42
Geh zur Funktion CheckDefaultAction(). Relativ am Ende heißt es dort (bei mir Zeile 454):

  if (GlobalCondition (2) || GlobalCondition (3) || GlobalCondition (4))
  {
    location = ">n"; //Dont send the name of the hotspt/obj/char/inv to the action bar and set default action "none"
  }

GlobalCondition(3) ist der Teil den Du entfernen musst (if the mode is talk, or "Give", and the mouse isnt over a character):

  if (GlobalCondition (2) || GlobalCondition (4))
  {
    location = ">n"; //Dont send the name of the hotspt/obj/char/inv to the action bar and set default action "none"
  }

Der Neugier halber: wurde die Aktion "Rede mit InvItem" ausgeführt? Falls nicht, muss nämlich GlobalCondition(3) auch aus on_mouse_click raus (bei mir Zeile 1581).
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: Shoben am 25. November 2010, 13:18:59
Ausgeführt wurde er, ja. Und Danke :D
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: Shoben am 25. November 2010, 13:27:46
Sry, für den Doppelpost, aber jetzt habe ich noch das Benutze-Problem, wie kann ich das "Mit... benutzen" ausschalten?
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: KhrisMUC am 25. November 2010, 13:48:14
Hat NsMn doch schon beantwortet, einfach an den Namen des InvItems (Description) ein ">u" anhängen.
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: Shoben am 25. November 2010, 15:01:23
Achso Upps. Hatte ich übersehen :-\
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: Shoben am 28. November 2010, 09:00:00
Sorry aber "<u" hat nichts geändert und "<b" hat nur geändert, dass "Benutze" die Standart-Rechtsklick-Aktion ist :(
Titel: Direktes Benutzen eines Inventaritems
Beitrag von: KhrisMUC am 28. November 2010, 14:28:21
Im Globalscript ist ein Fehler, hab ich grade gesehen. Ich fürchte mal, das betrifft alle von rulaman umgemodelten Packs.

Bei mir in Zeile 1953 findet sich das Handling von Linksklicks im Inventar:
  else if (button == eMouseLeftInv)
  {
    //left click in inventory
    if (GlobalCondition (1))
    {
      // if the mouse is in the inventory and modes Walk or pickup are selected
      SetAction (eActUse);

      if ((GSinvloc.Extension() == 'u') && ( invAt.IsInteractionAvailable(eModeInteract) == 1 ))       ###########
      {
        // use it immediately (not with anything else)
        used_action = global_action;
if ( null != invAt )
invAt.RunInteraction(eModeInteract);                           ###########

Die beiden markierten Zeilen enthielten fälschlicherweise eModeUseinv. eModeInteract ist korrekt; in den alten Packs heißt es auch richtigerweise noch MODE_USE.

Wie am Code zu sehen, muss eine Funktion für "Interact inventory item" erstellt werden und der Code dort rein. Der Name muss dann ">u" am Ende haben. (Nicht "<u"!).
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: rulaman am 28. November 2010, 20:50:49
Oh, oh, oh.

Dass muss ich mir mal anschauen.  :cl
Titel: Re: "Rede mit" und "Benutze"
Beitrag von: Shoben am 29. November 2010, 15:48:58
Ok Danke jetzt gehts :D