Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet von: Kinkilla am 07. März 2015, 21:00:10
-
Hi Leute
Ich wollte in einen Raum ein Perpetuum Mobile platzieren
Ich habs genauso wie in Bernards Zimmer animiert
Mit View & Co
Dann starte ich das Spiel und es bewegt sich nicht...
Weiß vielleicht irgendeiner wie das geht? :cl
Danke im Voraus :D
-
Du musst deinen Code schon posten, sonst können wir dir nicht helfen.
-
Was für ein Script?
Ich geh auf die Sprite meines Objects.
Drück auf Assign to View
Wähl meine erstellte View
Füge die nächsten Sprites hinzu... und dann sollte es funktionieren...
-
Und da haben wir den Fehler...
Du hast einen Loop in einem View erstellt, also eine Animationsabfolge. Jetzt musst du dem Object diesen View/Loop noch zuweisen.
Geh in den Raum, lege die Funktion Room_Load an wenn du das noch nicht getan hast und schreib in die Funktion:
[ags]
ObjectName.SetView(viewname, loopnummer, framenummer);
ObjectName.Animate(loopnummer, verzögerung, eRepeat, eNoBlock);
[/ags]
Statt viewname kannst du auch die Nummer des Views angeben. Loopnummer und framenummer sind bei SetView optional.
Das eRepeat sagt aus, dass die Animation wiederholt wird. Wenn du eine Animation nur einmal abspielen willst, musst du eOnce angeben. eNoBlock sagt aus, dass die Animation das Script nicht blockiert.
-
Es lebt :o
Danke für die Hilfe
Nun weiß ich bescheid
Programmieren am Abend wie schön
-
Ich bräuchte nochmal Hilfe...
Ich will zwei Gegenstände kombinieren aber es passiert nichts
Hier der Code
function iHaken_UseInv()
{
if (player.ActiveInventory == iFaden)
{
player.LoseInventory(iFaden);
player.LoseInventory(iHaken);
PlaySound(4);
Wait(5);
player.AddInventory(iAngel);
}
else Unhandled();
}
Das Event hab ich auch erstellt...
-
Ich bräuchte nochmal Hilfe...
Ich will zwei Gegenstände kombinieren aber es passiert nichts
Mache folgendes:
Du kannst Gegenstände sofort benutzen lassen (das macht z.B. Sinn bei einem Handy -> "Benutze Handy" würde also dazu führen das der player das Handy direkt benutzt (zum telefonieren) oder du möchtest das das Handy mit etwas anderem zusammen gebaut wird -> z.B. "Benutze Handy mit Antenne". Beide Aktionen werden im GlobalScript geschrieben, die Lösung die du brauchst sieht so aus:
[ags]function iHaken_UseInv()
{
if (UsedAction(eActUseInventory)){
if (player.ActiveInventory == iFaden)
{
player.LoseInventory(iFaden);
player.LoseInventory(iHaken);
PlaySound(4);
Wait(5);
player.AddInventory(iAngel);
}else{} // Das else ist optional und muss hier nicht stehen
}
}[/ags]
Denke aber daran das du auch die umgekehrte Reihenfolge scripten musst wenn du möchtest das man auch den Haken mit dem Faden benutzen kann. Ich persönlich finde es immer recht hilfreich wenn man Gegenstände in beide Richtungen miteinander benutzen kann (Also A mit B und B mit A, hier Faden und Haken).
Wenn du ein Inventargegenstand direkt benutzen möchtest (siehe Beispiel Handy) dann schreibtst du folgenden Code:
[ags] if (UsedAction(eActUse)){...} //direkt benutzen[/ags]
War die Erklärung hilfreich oder geht es immer noch nicht?
-
Ja es geht aber
Wenn ich das Item mit Befehl Benutzen kombiniere passiert nichts
Wenn ich nur mit draufdrücken kombiniere geht's.... :cl
-
Ich glaub ich weiß was du meinst.
Hast du den die DIREKTE benutzung des Inventargegenstnds auch programmiert (das "if (UsedAction(eActUse)){...}") ? Wenn nicht dann ist es völlig normal das bei dem Verb "Benutze" und dem Gegenstand nix passiert. Das musst du dann noch (in der selben Funktion unterhalb des "if (UsedAction(eActUseInventory))" Blocks einbauen.
Wenn du das Item direkt anklickst steht auch "Benutze Haken mit" in der Aktion Zeile, oder? Wenn du das Verb "Benutze" anklickst und dann das Item dann steht da nur "Benutze Haken", ohne das Wort "mit". Das ist so im Starterpack gescriptet. Ich finde es auch so am Besten, dann kann man durch direktes anklicken der Items verschiedene Items kombinieren und mit dem Verb "Benutze" das Item direkt benutzen (denke an das Handy Beispiel).
Ist es jetzt klar geworden? Falls noch Fragen sind dann stelle sie ruhig, dafür ist das Forum schließlich da.
-
Hmm klingt einleuchtend :cl
Werde ich gleich Morgen ausprobieren. Danke für die Hilfe
LG Kinkilla ;)