Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet von: Chief_Wiggum44 am 20. August 2007, 00:24:26
-
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. ;)
-
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");
}
}
-
Und wie muss man das Skript verändern wenn man bei einen Inventargegenstand, was anderes zu stehen haben will?
-
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?
-
@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
-
Wie geht das denn wenn die Objekte den gleichen Namen haben? Gibt es eine ObjectID zum eindeutigen identifizieren?
Mfg
LilaQ
-
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, "...");
-
Raffiniert :)