Gegner

Fragen zu "Adventure Game Studio"? Hier rein!
Benutzeravatar
ManiakFreak
Tastatursteuerer
Tastatursteuerer
Beiträge: 510
Registriert: 01.06.2005, 16:13
Wohnort: Thun (CH)
Kontaktdaten:

Beitrag von ManiakFreak »

Du hast wohl irgendwo eine Klammer vergessen.
Nein, Karussell fahren brauche ich nicht, mir wird schon allein von der Erdrotation schlecht.
Benutzeravatar
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Beitrag von Agent Cat »

Naja, okay. Es klappt. Aber wenn sie zusammenstossen, passiert noch nix. Was muss ich eingeben, damit dann dort eine Aktion geschieht? Ich habe:

AreCharactersColliding(Typ1, Typ2);

Und nun?
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Ich würd ja am liebsten einen blöden Kommentar ablassen, aber weil du gerade erst Scripting lernst, lasse ich mal Gnade vor Recht ergehen :mrgreen:

Eine if-Abfrage hat zwei Teile, die Bedingung und den Ausführungsblock. Die Bedingung ist in Klammern eingeschlossen:

if(variable == 1) {
DisplaySpeech(EGO, "Variable ist eins!!!");
}

Du hast wahrscheinlich sowas geschrieben:

if AreCharsColliding(A, B); {
DisplaySpeech(A, "Rempel mich nicht an!");
}

Es muss aber heißen:

if(AreCharsColliding(A, B) == 1) {
DisplaySpeech(A, "Rempel mich nicht an!");
}

oder, in Kurzform:

if(AreCharsColliding(A, B)) DisplaySpeech(A, "Rempel mich nicht an!");
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Benutzeravatar
Dr.Hackenstein
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 03.01.2006, 22:21

Beitrag von Dr.Hackenstein »

Hallo,
Arbeite erst seit paar wochen mit AGS und steig da noch nicht so durch

habe das ins after fade in geschrieben:

if (cRazor.IsCollidingWithChar(cOma) == 1)
{
cOma.Say("Du hättest besser nicht hier her kommen sollen!");
}

es passiert aber nichts. Es passiert nur etwas, wenn ich es in die repeatedly execute schreibe, aber dann hängt das Spiel.

Ausserdem läuft Oma, die Razor mit dem Befehl FollowCharacter verfolgt immer ein Stück hinter Razor, sie soll aber vor Razor halten und Gesicht zu gesicht stehen.
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

after fade in passiert genau einmal nachdem der Raum eingeblendet wurde.
repeatedly execute ist schon richtig dafür, der Grund das es hängt wird sein, dass sie ja sobald sie einmal aneinander gestoßen nicht wieder auseinander gehen. Beweg also einen Cha ein Stück weg, bevor du die Oma ihren Satz sagen lässt.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Wie soll denn das Ganze im Spiel später aussehen?
Dem Satz, den die Oma sagt, entnehme ich, dass sie Razor entgegenkommt, nachdem Razor einen bestimmten Raum betreten hat, oder?

In dem Fall wäre eine Region die bessere Lösung, FollowCharacter ist für Sidekicks gedacht, oder Monster, die einen verfolgen.

Beschreib mal, was im Spiel passieren soll, möglicherweise ist einfach nur dein Lösungsansatz falsch.
Use gopher repellent on funny little man
Benutzeravatar
Dr.Hackenstein
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 03.01.2006, 22:21

Beitrag von Dr.Hackenstein »

Razor kommt in den Raum in dem sich die Oma befindet, die dann Razor verfolgt bis sie sich berühren. Dann soll sie den beschriebenen Satz sagen, danach eine Cutscene für das Dead End, also ähnlich wie in MM.
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

cOma.FollowCharacter(cRazor,0,0);
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Benutzeravatar
Dr.Hackenstein
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 03.01.2006, 22:21

Beitrag von Dr.Hackenstein »

danke, funktioniert schonmal ganz gut aber warum ist das jetzt wie in einer Cutscene? Der Charakter kann nicht mehr flüchten, beim mouseclick kommt die Cutscene die erst kommen soll nachdem Razor berührt wurde.
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Öhh, ich glaube, das wäre dein Fehler. Probier mal:

Code: Alles auswählen

if (cRazor.IsCollidingWithChar(cOma) && !GetGlobalInt(150))
{
cOma.Say("Du hättest besser nicht hier her kommen sollen!");
SetGlobalInt(150, 1);
} 
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Benutzeravatar
Dr.Hackenstein
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 03.01.2006, 22:21

Beitrag von Dr.Hackenstein »

Hast recht war mein Fehler :roll:

if (cRazor.IsCollidingWithChar(cOma) == 1)
{
cOma.Say("Du hättest besser nicht hier her kommen sollen!");
NewRoomNPC (OMA, 6,500,200);
NewRoomEx (6,500,210);
}

Wie muss ich das machen, dass die aktion mit NewRoom erst danach startet?
Benutzeravatar
Dr.Hackenstein
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 03.01.2006, 22:21

Beitrag von Dr.Hackenstein »

so hab das mit dem GlobalInt gemacht:

Code: Alles auswählen

if (cRazor.IsCollidingWithChar(cOma) && !GetGlobalInt(150)) 
{ 
cOma.Say("Du hättest besser nicht hier her kommen sollen!"); 
SetGlobalInt(150, 1); 
NewRoomEx (6, 500, 200);
NewRoomNPC (OMA, 6, 500, 210);
} 
So klappts jetzt genau so wie ich wollt
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Wenn Du diesen Code in die repeatedly_execute des Raumes schreibst, brauchst Du die GlobalInt nicht.
Use gopher repellent on funny little man
Benutzeravatar
Dr.Hackenstein
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 03.01.2006, 22:21

Beitrag von Dr.Hackenstein »

Stimmt LOL warum hat es denn vorher nicht funktioniert, hatte es ja die ganze Zeit in der repeatedly_execute :? Naja egal, es funktioniert
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Ich dachte, das Script STÜNDE bereits in der RE des Raumes... ich würd's lieber trotzdem mit GI machen, wer weiß, wann Oma und Razor sich noch einmal in diesem Raum treffen?

Übrigens: Warst du nicht der, der ne Episode mit PaC-DK machen wollte? Schön, dass du rübergewechselt bist ;)
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Antworten