Hauptmenü

Neuigkeiten:

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

Anderer Text statt "Benutze mit" bei A_USE

Begonnen von Chief_Wiggum44, 20. August 2007, 00:24:26

Vorheriges Thema - Nächstes Thema

Chief_Wiggum44

Hallo,

ich habe Maniac Mansion Mania gerade erst vor ein paar Tagen entdeckt und war ganz hinundweg. Wie konne ich das in den über 2 Jahr seitdem ich sowohl Adventure-Treff als auch AGS-Seite kenne und regelmäßig besuche nur übersehen? Ich möchte allen gratulieren, die es geschafft haben so etwas aus dem Nichts aufzuziehen und zu etablieren!

Natürlich habe ich auch sofort, nachdem ich ein paar Episoden gespielt habe, angefangen ein eigenes Spiel zu machen. (Ich fürchte allerdings, dass ich mir mit dem Thema meiner Episode ein bisschen zu viel aufgehalst habe.)

Ich bin jetzt auch schon das ein oder andermal beim programmieren vor einem Problem gestanden, hab es aber immer versucht selbst zu lösen.

Jetzt stehe ich allerdings vor dem Problem, dass ich bei bestimmten Hotspots statt dem "Benutze mit" Text im GUI-Textfeld etwas anderes stehen haben will zB.: statt "Benutze Fensterbank" "Häng dich an Fensterbank". Wahrscheinlich ist die Lösung für das Problem ganz einfach, aber ich habe jetzt irgendwie keine Lust mich mit dem vorprogrammierten GUI Text im Global Script zu befassen. Da muss man glaub ich viel Zeit investieren um das zu verstehen.
Kann mir bitte jemand bei meinem Problem behilflich sein? Der Helfer wird (hoffentlich einmal) mit einer Episode von mir belohnt.  ;)

KhrisMUC

Such im global script die Funktion "TranslateAction".

Dort stehen diese Zeilen:
  else if (action == A_USE)
  {
    if (StrLen (item) > 0)        StrCopy (result, "Benutze !s mit %s");
    else                          StrCopy (result, "Benutze %s");
  }

Stattdessen verwendest Du:
  else if (action == A_USE)
  {
    if (StrLen (item) > 0)        StrCopy (result, "Benutze !s mit %s");
    else {
      if (StrComp(objekt, "Fensterbank")==0) StrCopy(result, "Häng dich an %s");
      else StrCopy (result, "Benutze %s");
    }
  }

Fatal B

Und wie muss man das Skript verändern wenn man bei einen Inventargegenstand, was anderes zu stehen haben will?
Epis:
DMdcvdS: In Arbeit 20%


Aggressiver Verfechter von MMM lebt

FrasierCrane

Vielen Dank, funktioniert prächtig.
Aber diese vorprogrammierte GUI ist mir immer noch ein Rätsel. Gibt's dafür vielleicht ein Tutorial oder einen Text, der das Ganze erklärt?
"Jazz is not dead - it just smells funny." (Frank Zappa)

KhrisMUC

@Fatal B:
Das geht ganz genauso. Komplizierter wirds, wenn zwei Sachen den gleichen Namen haben.

@FrasierCrane:
Speziell zum GUI nicht, aber viele der Funktionen sind hier erklärt:
http://www.adventure-treff.de/forum/viewtopic.php?t=7529

LilaQ

Wie geht das denn wenn die Objekte den gleichen Namen haben? Gibt es eine ObjectID zum eindeutigen identifizieren?

Mfg
LilaQ
Entwicklungsstatus:

A Christmas Odyssey

- [ GAME ] 100% Done
- [ TRANSLATION ] 71% Done

Bernard on a Boattrip(WT)

- [ GAME ]    1% Done
  >> Story: 10%
  >> Graphics: 1%
  >> Code: 0%
- [ TRANSLATION ] 0%
---------
http://theadventurebl0g.wordpress.com/

KhrisMUC

Sowas ginge:
  int r=player.Room;
  Object*ob=Object.GetAtScreenXY(mouse.x, mouse.y);
  int o=-1;
  if (ob!=null) o=ob.ID;

  // Abfrage:
  if (r==2 && o==3)   // Objekt 3 in Raum 2
    StrCopy(result, "...");

LilaQ

Entwicklungsstatus:

A Christmas Odyssey

- [ GAME ] 100% Done
- [ TRANSLATION ] 71% Done

Bernard on a Boattrip(WT)

- [ GAME ]    1% Done
  >> Story: 10%
  >> Graphics: 1%
  >> Code: 0%
- [ TRANSLATION ] 0%
---------
http://theadventurebl0g.wordpress.com/