Zufallsgeneraor

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Zufallsgeneraor

Beitrag von Agent Cat »

Ich habe zwei Räume. Im zweiten Raum steht eine Figur. Ich beginne in Raum 1.

In Raum 1 ist eine Region, die einen in Raum 2 teleportiert.

Das klappt schon mal wunderbar (was ja auch kein Problem dargestellt hat :roll: )

Nun habe ich folgendes Problem: Ich will durch Zufall machen, dass die Figur im zweiten Raum mal da ist und mal nicht. So wie in Kings Quest 2 (Orignal) bei Hagatha in der Höhle.

Kann mir jemand sagen, wie ich das realisiere?
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

...

Beitrag von Floyd »

Code: Alles auswählen

int ran= Random(1);

if (ran == 0) {
//Charakter ist da
}
if (ran == 1) {
//Charakter ist nicht da
}
Benutzeravatar
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Beitrag von Agent Cat »

Ich habe

int ran= Random(1);

in den ersten Raum bei Repeadly-execute eingefügt.

Im Zweiten Raum habe ich dann zum Test

if (ran == 0) {
Display("BLablabla");

eingefügt.

Aber, sobald ich das Spiel starten will, sagt mir AGS, das er das Wort "ran" nicht kapiert... :shock:
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Ich nehme mal an, du meinst, mal wird man zu Raum 1 und das andere Mal zu Raum 2 teleportiert

Code: Alles auswählen

int ran=Random(1);
if(ran==0) NewRoom(1);
else NewRoom(2);
Im nächsten Raum ist die Variable wieder ungültig
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
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Beitrag von Agent Cat »

Oh, sorry! Ich habe mich falsch ausgedrückt: Die Figur im zweiten Raum soll beim Betreten mal da sein und mal nicht.
Dapor
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 41
Registriert: 25.09.2005, 20:50
Wohnort: Magdeburg
Kontaktdaten:

Beitrag von Dapor »

edit ;)
Zuletzt geändert von Dapor am 30.09.2005, 15:51, insgesamt 1-mal geändert.
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

*glmpf*

Wofür braucht er bitte eine Globale Variable, wenn sie doch eh nach dem Script gelöscht werden soll... :roll:

Code: Alles auswählen

//*** Player enters screen (before fadein) ***\\

int ran = Random(1);

if(ran == 0) character[TYP].room = -1; // TYP ist nicht da  
else character[TYP].room = character[GetPlayerCharacter()].room; // TYP ist da
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
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Dapor hat geschrieben:wenn du das möchtest einfach im edit script header die Variable erschaffen und dann wird er sie auch in jedem Raum kennen
Ne. Im script header sollte man keine Variablen definieren, höchstens Konstanten.
Wenn eine Variable global sein soll, erschafft man sie am Anfang des global scripts, exportiert sie dann und importiert sie im header.
Do NOT place any actual functions or variables in this header, because if you do you will need to re-compile ALL the scripts whenever you modify the function. Instead, place your functions in your global script and just place an import line in the header file to allow the other scripts to access it.
Ist nicht böse gemeint, Dapor, aber Tips von "halben" Profis stiften oft mehr Verwirrung, als dass sie wirklich helfen.
Use gopher repellent on funny little man
Dapor
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 41
Registriert: 25.09.2005, 20:50
Wohnort: Magdeburg
Kontaktdaten:

Beitrag von Dapor »

kk, bin ruhig ;)
Benutzeravatar
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Beitrag von Agent Cat »

[ZENSIERT] hat geschrieben:*glmpf*

Wofür braucht er bitte eine Globale Variable, wenn sie doch eh nach dem Script gelöscht werden soll... :roll:

Code: Alles auswählen

//*** Player enters screen (before fadein) ***\\

int ran = Random(1);

if(ran == 0) character[TYP].room = -1; // TYP ist nicht da  
else character[TYP].room = character[GetPlayerCharacter()].room; // TYP ist da
Dankö, aber wo muss ich das einfügen?
(Mann, bin ich bekloppt ](*,) )
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

Beitrag von Floyd »

//*** Player enters screen (before fadein) ***\\

int ran = Random(1);

if(ran == 0) character[TYP].room = -1; // TYP ist nicht da
else character[TYP].room = character[GetPlayerCharacter()].room; // TYP ist da
Benutzeravatar
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Beitrag von Agent Cat »

Edit: Jipiih, es klappt. Thx!
Benutzeravatar
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Beitrag von Agent Cat »

Ei, noch ne Frage:

Wie es aussieht, ist das ja eine etwas verkürzte Skript-Sprache. Kannst du mir bitte noch in diese Befehle in diser Skriptsprache zeigen:

Wenn der Character Soundso im Raum soundso ist, dann...
...erscheint irgendeine Textbox.
Danach verschwindet die Figur (TYP), eine andere (TYP2) erscheint.
Zuletzt verfolgt TYP2 die Hauptperson.
Zuletzt geändert von Agent Cat am 03.10.2005, 18:11, insgesamt 1-mal geändert.
Benutzeravatar
Sven
Zombiepirat
Zombiepirat
Beiträge: 20730
Registriert: 09.05.2005, 23:37

Beitrag von Sven »

Keine Doppelposts!
Zebee hat geschrieben:Wenn ihr in Eurem Beitrag etwas vergessen habt, benutzt die "Edit" Funktion. Mehrere Beiträge hintereinander von der selben Person sind unnötig.
Zuletzt geändert von Sven am 03.10.2005, 18:03, insgesamt 1-mal geändert.
Der Erste und Einzige hier im Forum, der die englische Version von Tungi hat.
Der Zweite, der eine von Poki handsignierte englische Version von Edna & Harvey the Breakout hat. Mit gezeichnetem Harvey auf der Rückseite!
Benutzeravatar
Agent Cat
Tastatursteuerer
Tastatursteuerer
Beiträge: 614
Registriert: 30.04.2005, 13:21
Kontaktdaten:

Beitrag von Agent Cat »

Ja, ach ne? :roll:
Das ich schon was gepostet habe, war mir eben nur kurz entgangen... :wink:
Antworten