Autor Thema: Random für Unhandled  (Gelesen 1873 mal)

1mal_volltanken

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1243
  • Geschlecht: Männlich
  • Traue niemals einem glatzköpfigen Friseur!
    • ICQ Messenger - 327646596
    • Profil anzeigen
Random für Unhandled
« am: 06. Mai 2009, 12:40:39 »
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

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2654
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Random für Unhandled
« Antwort #1 am: 06. Mai 2009, 12:57:24 »
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?  ???
« Letzte Änderung: 06. Mai 2009, 12:59:09 von Bòógieman »
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

1mal_volltanken

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1243
  • Geschlecht: Männlich
  • Traue niemals einem glatzköpfigen Friseur!
    • ICQ Messenger - 327646596
    • Profil anzeigen
Re: Random für Unhandled
« Antwort #2 am: 06. Mai 2009, 13:17:42 »
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

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Random für Unhandled
« Antwort #3 am: 06. Mai 2009, 13:24:02 »
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"