Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Newbies => Thema gestartet von: Sammy am 30. August 2011, 18:42:22
-
Hallo, ich habe ein Problem mit AGS:
Hier erst mal das RommScript:
#sectionstart hotspot5_a // DO NOT EDIT OR REMOVE THIS LINE
function hotspot5_a() {
// script for hotspot5: Any click on hotspot
if (UsedAction (A_WALK_TO)) {
if (MovePlayer (183, 121)) {
FaceLocation (GetPlayerCharacter (), 10, 133);
player.Say("Die ist defekt.");
}
}
else if (UsedAction (A_OPEN)) {
if (MovePlayer (183, 121)) {
FaceLocation (GetPlayerCharacter (), 10, 133);
Wait (5);
DisplaySpeech (GetPlayerCharacter (), "Das kann ich nicht öffnen.");
}
}
else if(player.ActiveInventory==iInventory11) {
Wait(5);
if (MovePlayer (183, 121)) {
FaceLocation (GetPlayerCharacter (), 10, 133);
player.Say("Gut.");
LoseInventory(10);
PlaySound(4);
Wait(80);
PlaySound(98);
}
}
else if(player.ActiveInventory==iInventory10) {
Wait(5);
if (MovePlayer (183, 121)) {
FaceLocation (GetPlayerCharacter (), 10, 133);
player.Say("Gute Idee, aber das Dynamit ist noch nicht angezündet.");
}
}
else Unhandled ();
}
Wenn ich die Treppe anschaue, sagt mein char "Nett".
Wenn ich das Inventory10 (Dynamit) mit der Treppe benutze, dann sagt er den Text den ich eingegeben habe. (Gute Idee, aber...)
Soweit, So gut.
Wenn ich dann aber wieder die Treppe anschaue, sagt mein char nicht "Nett." sondern auch "Gute Idee, aber das Dynamit...")
Wie kann ich diesen Fehler beheben?
Sammy
-
Die Itemabfrage gehört unter die Aktion A_USE_INV.
[ags]else if (UsedAction(A_USE_INV))
{
if (MovePlayer (183, 121))
{
FaceLocation (GetPlayerCharacter (), 10, 133);
Wait(5);
if(player.ActiveInventory==iInventory11)
{
player.Say("Gut.");
LoseInventory(10);
PlaySound(4);
Wait(80);
PlaySound(98);
}
else if(player.ActiveInventory==iInventory10)
{
player.Say("Gute Idee, aber das Dynamit ist noch nicht angezündet.");
}
}
}
[/ags]
So müsste der entsprechende Abschnitt aussehen. Habs aus dem Kopf geschrieben, daher keine Gewähr auf Funktionstüchtigkeit.
-
Sammy, bitte benutz ein aktuelles Tutorial: http://www.maniac-mansion-mania.de/forum/index.php?topic=15.msg36729#msg36729
Dein Code ist umständlich und veraltet, wo hast Du den her?
-
das problem ist glaub ich, dass er das Bernard SP 272 verwendet,
soweit ich weiss gibts das Bernard SP noch nicht für neuere AGS Versionen.
-
Ihr meint das Bernard in der DOTT Version? Da sitze ich dran nur hatte ich bis jetzt wenig Zeit, aber ich werde es sehrwahrscheinlich bald veröffentlichen, da ich fast fertig bin :).
-
Hallo, ja ich benutze das Bernhard 272.
Aber mit dem Code von ConeRX hat es jetzt funktioniert.
Den größten Teil des Codes hab ich aus Episode 2 abgeschrieben.
Sammy
-
braucht denn jemand das Bernard SP 3.2...???
-
braucht denn jemand das Bernard SP 3.2...???
Ja, ich! ;D
Ich meine, es sind schon alle Räume vorprogrammiert. (Aber nur die im ersten Stock.)
Sammy
-
Ja, ich! ;D
Ich meine, es sind schon alle Räume vorprogrammiert. (Aber nur die im ersten Stock.)
Sammy
Es sind alle Räume vorprogammiert, nur du musst das Script für die Treppe ändern...!!!
-
Ich weiß, aber WIE?
Viele Grüße
Sammy
-
Das Problem liegt an der Walkable areas. bei der Treppe ist eine Region die nicht mit der Walkable areas verbunden ist.
schau dir dazu mal das an:
http://www.maniac-mansion-mania.de/forum/index.php?topic=1598.msg31132#msg31132 (http://www.maniac-mansion-mania.de/forum/index.php?topic=1598.msg31132#msg31132)
oder du testes mal das neue SP, aber Achtung, ist nur für AGS 3.2