Hotspot enabled
- falko-diekmann
- Verpackungs-Wegwerfer
- Beiträge: 91
- Registriert: 01.11.2005, 15:31
- Wohnort: Dortmund
- Kontaktdaten:
Hotspot enabled
Hallöschen,
lange her seit ich mich das letzte Mal verrant habe, aber nun ist es wieder soweit
Ich habe folgendes Problem:
Der Spieler betritt einen Raum, dabei wird ein Hotspot deaktiviert.
Der Hotspot soll erst nach einem kurzen Kampf gegen einen Oberbösewicht aktiviert werden, also direkt nach dessen Tod.
Ich habe das mit dem Befehl
hKontrollTafel.Enabled = true;
versucht. Der Hotspot heisst auch so. Aber irgendwie scheint ags den Befehl nicht zu erkennen; jedenfalls bekomme ich eine Fehlermeldung wenn ich´s testen will (bzw. er created mit nicht mal ein custom exe. file).
Da das ganze in ein größeres Script mit einigen Variablen reinmuss, kann ich auch den vorgefertigten enable hotspot Befehl nicht nehmen, der würde ja ausserhalb des Scripts dann einfach loslegen, egal ob der Bösewicht noch lebt oder nicht.
Weiß da jemand nen Rat?
lange her seit ich mich das letzte Mal verrant habe, aber nun ist es wieder soweit
Ich habe folgendes Problem:
Der Spieler betritt einen Raum, dabei wird ein Hotspot deaktiviert.
Der Hotspot soll erst nach einem kurzen Kampf gegen einen Oberbösewicht aktiviert werden, also direkt nach dessen Tod.
Ich habe das mit dem Befehl
hKontrollTafel.Enabled = true;
versucht. Der Hotspot heisst auch so. Aber irgendwie scheint ags den Befehl nicht zu erkennen; jedenfalls bekomme ich eine Fehlermeldung wenn ich´s testen will (bzw. er created mit nicht mal ein custom exe. file).
Da das ganze in ein größeres Script mit einigen Variablen reinmuss, kann ich auch den vorgefertigten enable hotspot Befehl nicht nehmen, der würde ja ausserhalb des Scripts dann einfach loslegen, egal ob der Bösewicht noch lebt oder nicht.
Weiß da jemand nen Rat?
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Genau, einfach IMMER die Fehlermeldung in EXAKTEM WORTLAUT posten. Himmel.
Auch bei nicht erkannten Befehlen kann es zwei oder drei Gründe geben.
1. Die Script O-Names von Charakteren, Hotspots und Objekten haben immer folgendes Groß-/Kleinformat: xXxxxxxxx.
Versuchs mal mit "hKontrolltafel".
2. Sobald Du "hko" getippt hast, sollte Dir AGS automatisch ein kleines Fenster mit möglichen auto-complete-Wörtern anzeigen. Wenn der Hotspot dort nicht dabei ist, stimmt etwas nicht.
Wenn der Befehl z.B. ins global script soll, kannst Du den hotspot nur über "hotspot[x]" ansprechen.
Auch bei nicht erkannten Befehlen kann es zwei oder drei Gründe geben.
1. Die Script O-Names von Charakteren, Hotspots und Objekten haben immer folgendes Groß-/Kleinformat: xXxxxxxxx.
Versuchs mal mit "hKontrolltafel".
2. Sobald Du "hko" getippt hast, sollte Dir AGS automatisch ein kleines Fenster mit möglichen auto-complete-Wörtern anzeigen. Wenn der Hotspot dort nicht dabei ist, stimmt etwas nicht.
Wenn der Befehl z.B. ins global script soll, kannst Du den hotspot nur über "hotspot[x]" ansprechen.
Use gopher repellent on funny little man
- falko-diekmann
- Verpackungs-Wegwerfer
- Beiträge: 91
- Registriert: 01.11.2005, 15:31
- Wohnort: Dortmund
- Kontaktdaten:
Also, auf ein neues :
// script for Character 7 (Tcommander): Use inventory on character
character[EGO].Walk(227, 193, eBlock);
character[EGO].LockView(18);
character[EGO].Animate(0, 4, 0, eBlock, eForwards);
character[EGO].UnlockView();
SetGlobalInt (7, GetGlobalInt(7)-15); //Gegner verliert 15 Lebenspunkte
Wait (80);
if (GetGlobalInt(7) >= 0) {
character[TCOM].LockView(24);
character[TCOM].Animate(0, 4, 0, eBlock, eForwards);
character[TCOM].UnlockView();
int ran=Random(2);
if (ran==0) SetGlobalInt (1, GetGlobalInt(1)-21); //Brandy verliert 21 Lebenspunkte
else if (ran==1) SetGlobalInt (1, GetGlobalInt(1)-15); //Brandy verliert 15 Lebenspunkte
else if (ran==2) SetGlobalInt (1, GetGlobalInt(1)-3); //Brandy verliert 3 Lebenspunkte
else SetGlobalInt (1, GetGlobalInt(1)-6); //Brandy verliert 6 Lebenspunkte
}
if (GetGlobalInt(7) <= 0) {
character[TCOM].LockView(17);
character[TCOM].Animate(0, 4, 0, eBlock, eForwards);
character[TCOM].UnlockView();
SetGlobalInt (2, GetGlobalInt(2)+10); //Brandy gewinnt 10 Erfahrungspunkte
character[TCOM].ChangeRoom(9); //Trooper stirbt
gStatusline.Visible = false;
RestoreWalkableArea(1);
hKontrolltafel.Enabled = true;
StopMusic();
PlaySound (9);
PlayMusic(2);
}
Die Fehlermeldung dazu lautet:
There was an Error compiling your script. The problem was in "Global script":
Error line (407): Undefined token "hKontrolltafel".
Muss ich den Hotspot vielleicht bei sectionstart gamestart nochmal ausdrücklich definieren, oder so? Aber eigentlich sollte es doch reichen wenn er einen Script O-Name hat, oder?
Bin mal gespannt worans liegt...bestimmt wieder was total simples was ich übersehe
// script for Character 7 (Tcommander): Use inventory on character
character[EGO].Walk(227, 193, eBlock);
character[EGO].LockView(18);
character[EGO].Animate(0, 4, 0, eBlock, eForwards);
character[EGO].UnlockView();
SetGlobalInt (7, GetGlobalInt(7)-15); //Gegner verliert 15 Lebenspunkte
Wait (80);
if (GetGlobalInt(7) >= 0) {
character[TCOM].LockView(24);
character[TCOM].Animate(0, 4, 0, eBlock, eForwards);
character[TCOM].UnlockView();
int ran=Random(2);
if (ran==0) SetGlobalInt (1, GetGlobalInt(1)-21); //Brandy verliert 21 Lebenspunkte
else if (ran==1) SetGlobalInt (1, GetGlobalInt(1)-15); //Brandy verliert 15 Lebenspunkte
else if (ran==2) SetGlobalInt (1, GetGlobalInt(1)-3); //Brandy verliert 3 Lebenspunkte
else SetGlobalInt (1, GetGlobalInt(1)-6); //Brandy verliert 6 Lebenspunkte
}
if (GetGlobalInt(7) <= 0) {
character[TCOM].LockView(17);
character[TCOM].Animate(0, 4, 0, eBlock, eForwards);
character[TCOM].UnlockView();
SetGlobalInt (2, GetGlobalInt(2)+10); //Brandy gewinnt 10 Erfahrungspunkte
character[TCOM].ChangeRoom(9); //Trooper stirbt
gStatusline.Visible = false;
RestoreWalkableArea(1);
hKontrolltafel.Enabled = true;
StopMusic();
PlaySound (9);
PlayMusic(2);
}
Die Fehlermeldung dazu lautet:
There was an Error compiling your script. The problem was in "Global script":
Error line (407): Undefined token "hKontrolltafel".
Muss ich den Hotspot vielleicht bei sectionstart gamestart nochmal ausdrücklich definieren, oder so? Aber eigentlich sollte es doch reichen wenn er einen Script O-Name hat, oder?
Bin mal gespannt worans liegt...bestimmt wieder was total simples was ich übersehe
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Genau das ist es. Interaktionen mit Charakteren sind logischerweise nicht raumgebunden und landen deswegen alle im global script. Steht ja auch in der Fehlermeldung.
Also Indexnummer des Hotspots raussuchen und "hotspot[x].Enabled=true;" verwenden.
Und vielleicht meinen vorherigen Beitrag nicht komplett ignorieren, da dort bereits die Lösung stand
Also Indexnummer des Hotspots raussuchen und "hotspot[x].Enabled=true;" verwenden.
Und vielleicht meinen vorherigen Beitrag nicht komplett ignorieren, da dort bereits die Lösung stand
Use gopher repellent on funny little man
- falko-diekmann
- Verpackungs-Wegwerfer
- Beiträge: 91
- Registriert: 01.11.2005, 15:31
- Wohnort: Dortmund
- Kontaktdaten:
- falko-diekmann
- Verpackungs-Wegwerfer
- Beiträge: 91
- Registriert: 01.11.2005, 15:31
- Wohnort: Dortmund
- Kontaktdaten:
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Das weiß es nicht, es nimmt hotspot[3] des aktuellen Raums.
Solange aber der andere Charakter den Raum nicht wechselt, befinde ich mich automatisch immer im richtigen Raum.
Wenn ich in Interaktionen mit InventoryItems oder Charakteren, die mir nachlaufen, Hotspots verändern möchte, muss ich natürlich vorher sichergehen, dass ich im richtigen Raum bin.
Solange aber der andere Charakter den Raum nicht wechselt, befinde ich mich automatisch immer im richtigen Raum.
Wenn ich in Interaktionen mit InventoryItems oder Charakteren, die mir nachlaufen, Hotspots verändern möchte, muss ich natürlich vorher sichergehen, dass ich im richtigen Raum bin.
Use gopher repellent on funny little man
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- falko-diekmann
- Verpackungs-Wegwerfer
- Beiträge: 91
- Registriert: 01.11.2005, 15:31
- Wohnort: Dortmund
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Fightmeyer: Röschtöösch
falko: Kein Thema, gern geschehen.
Solche Sachen krieg ich leider auch nur mit, weil ich dauernd im englischen Technikforum mitlese, vieles ist leider (noch) nicht so ausreichend dokumentiert, wie man es gerne hätte.
Hierzu auch ein netter Link:
http://americangirlscouts.org/agswiki/i ... 6_snippets
falko: Kein Thema, gern geschehen.
Solche Sachen krieg ich leider auch nur mit, weil ich dauernd im englischen Technikforum mitlese, vieles ist leider (noch) nicht so ausreichend dokumentiert, wie man es gerne hätte.
Hierzu auch ein netter Link:
http://americangirlscouts.org/agswiki/i ... 6_snippets
Use gopher repellent on funny little man