Hauptmenü

Neuigkeiten:

Bitte unterstützt uns und bestellt über diese Links bei Amazon  oder HumbleBumble!

Random für Unhandled

Begonnen von 1mal_volltanken, 06. Mai 2009, 12:40:39

Vorheriges Thema - Nächstes Thema

1mal_volltanken

Hallo Leutz!

Wollte mal das Unhandled-Script etwas überarbeiten, so dass der Charakter auf jeweilige Aktion nicht immer das selbe sagt.
Ich hab das zunächst einmal mit der Aktion "CLOSE" gemacht, allerdings hat es dazu geführt, dass er bei der Aktion "Schließe" nun gar keinen Kommentar mehr abgibt.
Ich zeige Euch mal den Quellcode:
if (UsedAction (A_CLOSE))
    {
      int ran1=Random(4);
      if (GetGlobalInt(ran1 == 0))  DisplaySpeech (GetPlayerCharacter (), "Hier ist nichts zum zumachen.");
      if (GetGlobalInt(ran1 == 1))  DisplaySpeech (GetPlayerCharacter (), "Ähh...nein!");
      if (GetGlobalInt(ran1 == 2))  DisplaySpeech (GetPlayerCharacter (), "Das klappt so nicht.");
      if (GetGlobalInt(ran1 == 3))  DisplaySpeech (GetPlayerCharacter (), "Keine gute Idee.");
      if (GetGlobalInt(ran1 == 4))  DisplaySpeech (GetPlayerCharacter (), "Ich sollte mir etwas anderes überlegen!");
    }


Wer findet den Fehler?
Danke schon mal im voraus für die Hilfe. ;)

BG
der Volltanker

"Tage sind eigentlich wie Nächte...nur nicht ganz so spät!"...hörte ich einmal einen sehr klugen, alten Mann beim Erdnüsse sortieren in der Kneipe sagen, kurz bevor er vom Hocker rutschte.


"Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde!"

Bòógieman

#1
je nachdem was du eigentlich vorhast solltest du entweder das GetGlobalInt vor dem == vergleich entfernen oder der funktion nur ran1 übergeben

== liefert Bool (true oder false) zurück, GetGlobalInt erwartet aber einen ganzzahligen index

EDIT: oder hast du gar die klammern falsch gesetzt?  ???
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

1mal_volltanken

Top!

Ich habe einfach das GetGlobalInt entfernt und die 2 überschüssige Klammern entfernt und es funktioniert! ;)

Grundsätzlich kann man sich auch wohl die ganzen GetGlobalInts und SetGlobalInts schenken, denn "Int" ist ebenso gut und obendrein einfacher und weniger fehleranfällig. ;)


BG
der Volltanker

"Tage sind eigentlich wie Nächte...nur nicht ganz so spät!"...hörte ich einmal einen sehr klugen, alten Mann beim Erdnüsse sortieren in der Kneipe sagen, kurz bevor er vom Hocker rutschte.


"Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde!"

Endres

Einmal in AGS 3.x konform: ;)

if (UsedAction(eActClose)){
 int ran1=Random(4);
 if(ran1==0)player.Say("Hier ist nichts zum zumachen.");
 else if(ran1==1)player.Say("Ähh...nein!");
 else if(ran1==2)player.Say("Das klappt so nicht.");
 else if(ran1==3)player.Say("Keine gute Idee.");
 else if(ran1==4)player.Say("Ich sollte mir etwas anderes überlegen!");
}
else Unhandled();



Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"