Hauptmenü

Neuigkeiten:

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

Privates Fragethread

Begonnen von Private, 12. Mai 2012, 19:06:50

Vorheriges Thema - Nächstes Thema

Endres

Nun, weil durch int transo; die Variable transo den Wert 0 zugewiesen bekommt. Du willst aber von 100 auf 0 herunterzählen, darum musst du der Variable auch erstmal wieder 100 zuweisen. Also:
[ags]int transo = 100;
while (transo > 0) { ... }[/ags]



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

Private

sauber, hat geklappt. jetzt kann ich den prolog fertig stellen und irgendwo hochladen und hier im forum posten und dann erstmal pausieren. habe noch andere dinge zu erledigen, die mir nicht als sinnlose zeitverschwendung vorgeworfen werden. in etwa einem monat mache ich dann weiter und habe bestimmt weitere fragen.

Rocco

#32
weil du die variable transo nicht definiert hast.

du kannst nicht schreiben:
[ags]
int transo;   // transo hat keinen wert und ist somit null
while (transo > 0) {   // Bedingung ist nie erfüllt, deswegen wird die Schleife nie durchlaufen
   transo--;
   player.Transparency = transo;
   Wait(1);
   aSound28.Play();     // das hier ist auch nicht ratsam, damit startest du den Sound, wenn die Schleife läuft alle paar millisekunden neu.
 }
[/ags]

So hätte es wahrscheinlich funktioniert:
[ags]
int transo = 100;

while (transo > 0) {  
   transo--;
   player.Transparency = transo;
   Wait(1);

   if(!Game.IsAudioPlaying(eAudioTypeSound))
      aSound28.Play();
 }

[/ags]


oha, hat endres schon lange beantwortet, egal doppelt hält besser....

KhrisMUC

Bezüglich erst Dialog, dann andere Befehle:

Dialog.Start() wird, wie auch in der Hilfedatei beschrieben, nicht sofort ausgeführt, sondern erst am Ende der Funktion.
Wenn Du also nach Ende des Dialoges Befehle ausführen willst, schreib sie direkt ins Dialogskript, vor den "stop"-Befehl. Man kann nämlich in Dialogen auch herkömmliche Skriptbefehle verwenden, man muss nur mindestens ein Leerzeichen an den Anfang der Zeile setzen.

Falls die Befehle an mehreren Stellen ausgeführt werden sollen, schreib sie in eine Funktion im GlobalScript und ruf die vom Dialog aus auf:

[ags]// in GlobalScript.asc

function Dialog1_Ende() {
  player.Walk(240, 176);
  player.Say("bla");
  object[3].Visible = false;
}


// Dialogskript

...
@2
player: Alles klar.
Dialog1_Ende();
stop
@3
player: Na gut, dann werd ich das tun.
Dialog1_Ende();
stop[/ags]

Private

Hallo,

ist es möglich, ein kompiliertes Spiel wieder zu dekompilieren? Wenn das nicht möglich ist, dürfte mein Projekt gestorben sein. Mein Computer ist vor einigen Monaten abgeraucht und meine Sicherungskopie von AGS war ziemlich alt.

Gruß
Priv

Cone Arex

Nein, das ist leider nicht möglich.


Folge mir auf X und itch.io