Brauche Scripthilfe für Lucasfan MMM
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
Brauche Scripthilfe für Lucasfan MMM
Also ich will das der Typ mit dem Schlüssel (Inv = 4) die Tür öffnen kann, warum klappt der scheiss nicht? Muss ich das vorher definieren wie bei der OpenCloseExtension? Bin ich zu blöd?
// script for hotspot1: Any click on hotspot
if (GetGlobalInt(36) == 1) {
if (any_click_on_door (4, 0, 192, 120, DIR_UP, 13, 394, 98 , DIR_DOWN) == 0) Unhandled ();
}
else
if (UsedAction (A_WALK_TO))
{
if (MovePlayer (192, 120))
{
FaceLocation (GetPlayerCharacter (), 192, 118);
}
}
else
if (UsedAction (A_OPEN)) {
if (MovePlayer (192, 120)) {
FaceLocation (GetPlayerCharacter (), 192,118);
Wait (5);
DisplaySpeech(GetPlayerCharacter(),"Die ist verschlossen.");
Wait (20);
DisplaySpeech(GetPlayerCharacter(),"Wenn ich doch nur einen Schlüssel hätte");
}
else if (UsedAction (A_USE_INV))
{
if (character [GetPlayerCharacter ()].activeinv == 4)
{
if (MovePlayer (192, 120))
{
FaceLocation (GetPlayerCharacter (), 192, 118);
Wait (5);
PlaySound (93);
SetGlobalInt(36,1);
}
}
}
else Unhandled ();
}
// script for hotspot1: Any click on hotspot
if (GetGlobalInt(36) == 1) {
if (any_click_on_door (4, 0, 192, 120, DIR_UP, 13, 394, 98 , DIR_DOWN) == 0) Unhandled ();
}
else
if (UsedAction (A_WALK_TO))
{
if (MovePlayer (192, 120))
{
FaceLocation (GetPlayerCharacter (), 192, 118);
}
}
else
if (UsedAction (A_OPEN)) {
if (MovePlayer (192, 120)) {
FaceLocation (GetPlayerCharacter (), 192,118);
Wait (5);
DisplaySpeech(GetPlayerCharacter(),"Die ist verschlossen.");
Wait (20);
DisplaySpeech(GetPlayerCharacter(),"Wenn ich doch nur einen Schlüssel hätte");
}
else if (UsedAction (A_USE_INV))
{
if (character [GetPlayerCharacter ()].activeinv == 4)
{
if (MovePlayer (192, 120))
{
FaceLocation (GetPlayerCharacter (), 192, 118);
Wait (5);
PlaySound (93);
SetGlobalInt(36,1);
}
}
}
else Unhandled ();
}
Mit * markierte Felder sind erforderlich
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
Nee nee die Tür lässt sich schon öffnen und alles. Nur wenn ich das Objekt 4 mit der Tür benutze (Also Hotspot 1 bei mir) führt er die Aktion einfach nicht durch:
else if (UsedAction (A_USE_INV))
{
if (character [GetPlayerCharacter ()].activeinv == 4)
{
if (MovePlayer (192, 120))
{
FaceLocation (GetPlayerCharacter (), 192, 118);
Wait (5);
PlaySound (93);
SetGlobalInt(36,1);
}
}
}
else Unhandled ();
Er bleibt einfach stehen und macht gar nichts!
else if (UsedAction (A_USE_INV))
{
if (character [GetPlayerCharacter ()].activeinv == 4)
{
if (MovePlayer (192, 120))
{
FaceLocation (GetPlayerCharacter (), 192, 118);
Wait (5);
PlaySound (93);
SetGlobalInt(36,1);
}
}
}
else Unhandled ();
Er bleibt einfach stehen und macht gar nichts!
Mit * markierte Felder sind erforderlich
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
-
- Tastatursteuerer
- Beiträge: 535
- Registriert: 02.03.2002, 14:40
- Wohnort: Ronville
Ich würde any_click_on_door nur da verwenden, wo wirklich nichts anderes mit der Tür gemacht wird, als sie zu öffnen oder zu schließen. Das gibt Probleme, wenn man die Funktion zusätzlich mit den anderen Kommandos im Script zu stehen hat. Hatte in Episode 1 das selbe Problem mit der "Kerze-mit-Tür-Geschichte" und konnte deshalb bei Britneys Tür nicht die any_click_on_door-Funktion benutzen.
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Ich hab den code mal eingerückt, es scheint mir an der Syntax zu liegen.
AGS macht aus einemimmer ein
Nach einrücken ergibt sich ca. in der Mitte:Und schon wird's klar: nachmüssen zwei } hin statt einer. Denn sonst wird A_USE_INV nur abgefragt, wenn das MovePlayer bei A_OPEN nicht funktioniert hat. Dein code hätte garnicht compilieren dürfen, weil eine } fehlt.
AGS macht aus einem
Code: Alles auswählen
else
if
Code: Alles auswählen
else if
Code: Alles auswählen
else if (UsedAction (A_OPEN)) {
if (MovePlayer (192, 120)) {
FaceLocation (GetPlayerCharacter (), 192,118);
Wait (5);
DisplaySpeech(GetPlayerCharacter(),"Die ist verschlossen.");
Wait (20);
DisplaySpeech(GetPlayerCharacter(),"Wenn ich doch nur einen Schlüssel hätte");
}
else if (UsedAction (A_USE_INV)) {
if (character [GetPlayerCharacter ()].activeinv == 4) {
if (MovePlayer (192, 120)) {
FaceLocation (GetPlayerCharacter (), 192, 118);
Wait (5);
PlaySound (93);
SetGlobalInt(36,1);
}
}
}
Code: Alles auswählen
...Schlüssel hätte");
Use gopher repellent on funny little man
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
Da könntest Du recht haben, aber wie Du auch schon gesagt hast, der lief ohne Fehlermeldung durch und hat einwandfrei compiliert.
Ich ersetze es später mal durch Deine Version. Mal sehen was passiert. Hatte mir jetzt schon alle möglichen Umwege ausgesucht. Manchmal ist wirklich der Wurm drin.
Ich ersetze es später mal durch Deine Version. Mal sehen was passiert. Hatte mir jetzt schon alle möglichen Umwege ausgesucht. Manchmal ist wirklich der Wurm drin.
Mit * markierte Felder sind erforderlich
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
ich hoffe du hast dein problem erfolgreich gelöst,
ich hab auch eines und dachte mir bevor ich
einen eigenen threat aufmache poste ich es gleich hier.
ich möchte das man in meiner episode mit einem Gegenstand
reden kann.
Leider wird wenn man auf - Rede mit - klickt kein
Objectname angezeigt, sondern nur wenn man Personen zeigt.
Run-Dialog kann ich dort leider aus verschiedenen gründen nicht verwenden, wie könnte ich das lösen?
ich hab auch eines und dachte mir bevor ich
einen eigenen threat aufmache poste ich es gleich hier.
ich möchte das man in meiner episode mit einem Gegenstand
reden kann.
Leider wird wenn man auf - Rede mit - klickt kein
Objectname angezeigt, sondern nur wenn man Personen zeigt.
Run-Dialog kann ich dort leider aus verschiedenen gründen nicht verwenden, wie könnte ich das lösen?
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31