Hotspot enabled

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
falko-diekmann
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 91
Registriert: 01.11.2005, 15:31
Wohnort: Dortmund
Kontaktdaten:

Hotspot enabled

Beitrag von falko-diekmann »

Hallöschen,

lange her seit ich mich das letzte Mal verrant habe, aber nun ist es wieder soweit :oops:

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?
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Wär recht interessant, was für eine Fehlermeldung Du kriegst.
Heißt der Hotspot wirklich so? (Groß- und Kleinschreibung beachten!!!)
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

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.
Use gopher repellent on funny little man
Benutzeravatar
falko-diekmann
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 91
Registriert: 01.11.2005, 15:31
Wohnort: Dortmund
Kontaktdaten:

Beitrag von falko-diekmann »

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 :oops:
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

khrismuc hat geschrieben: Wenn der Befehl z.B. ins global script soll, kannst Du den hotspot nur über "hotspot[x]" ansprechen.
Ist es vielleicht das? Bin mir nicht ganz sicher, ob Dein Script Teil eines Room Scripts ist, oder doch zum GlobalScript gehört.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

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 ;)
Use gopher repellent on funny little man
Benutzeravatar
falko-diekmann
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 91
Registriert: 01.11.2005, 15:31
Wohnort: Dortmund
Kontaktdaten:

Beitrag von falko-diekmann »

Hm, der steht im Global Script, halt unter sectionstart character soundso... Ich probier das mal mit "hotspot[x]"...

Ähhöhh...ignoriert habe ich den Beitrag nicht. Hab´s nur gerade eben erst gelesen...

Wird aber dann jezt wohl klappen (hat ja bisher immer gestimmt);

Danke :)
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

EDIT: Ich denk auch.
Use gopher repellent on funny little man
Benutzeravatar
falko-diekmann
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 91
Registriert: 01.11.2005, 15:31
Wohnort: Dortmund
Kontaktdaten:

Beitrag von falko-diekmann »

Moment mal...wo kriege ich denn eigentlich die Index Nummer her? :oops:
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Room Editor -> Areas
Wenn der Hotspot grau/weiß ist, einfach alle durchklicken, bis er farbig ist.
Use gopher repellent on funny little man
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Jetzt muß ich aber mal blöde fragen:
Woher weiß jetzt das Script, daß ich den Hotspot 3 aus Raum 5 meine und nicht aus Raum 6?
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

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.
Use gopher repellent on funny little man
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Bedeutet also im Umkehrschluß, wenn ich beispielsweise in einem Dialog Zugang zu einem Bereich in Raum X (anderer Raum als der aktuelle) erhalte (beispielsweise, wenn ich erst nach dem Dialog überhaupt von der Existenz dieses Bereiches erfahre), dann geht das nur über globale Variablen, oder?
Benutzeravatar
falko-diekmann
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 91
Registriert: 01.11.2005, 15:31
Wohnort: Dortmund
Kontaktdaten:

Beitrag von falko-diekmann »

Jo, es funktioniert natürlich :)

Ich dachte auch erst das es eine Liste aller Hotspots im Spiel gibt, damit ags weiß welchen es nun aktivieren soll.
Aber das es nur für den aktuellen Raum gilt ist natürlich sehr bequem. Hätte nicht gedacht das es SO einfach ist ;)

Danke nochmal :)
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

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
Use gopher repellent on funny little man
Antworten