Laufende Funktion beenden?

Posted By: Deha

Laufende Funktion beenden? - 06/03/10 10:59

Hallo!

eigentlich gehört meine Frage unter Lite-C, aber
mir erscheint die Frage so simpel, dass ich sie
lieber hier poste.
und zwar wüsste ich gerne, wie man eine laufende Funktion
beendet!?
Um mal konkreter zu werden...

Ich habe eine Funktion, die einen Regeneffekt erzeugt.
Ich rufe die Funktion im Spiel extra auf, also mit Regen();
Nun möchte ich, bei einem Levelwechsel die Funktion ausstellen.
Wie mache ich das?
Setzt man die Funktion irgendwie mit return zurück?
Oder stellt man die Funktion irgendwie ein/aus mit 0 und 1?
Kann mir das mal jemand kurz erläutern? laugh
Posted By: Ascalon

Re: Laufende Funktion beenden? - 06/03/10 11:09

sieh dir den Befehl proc_kill(var mode) im Handbuch an. Das dürfte dir weiterhelfen
Posted By: jane

Re: Laufende Funktion beenden? - 06/03/10 11:19

Hallo,

normalerweise werden beim Level-Wechsel alle funktionen, die in einer Action welche auf einem Level-Objekt (also WMB oder Model)liegt, aufgerufen werden automatisch beendet. Wenn die Regen-Funktion nicht, wie üblicherweise auf
einem Level-Objekt liegt, dann deffiniere eine Variable ( var regen=0; )
und setze diese in deiner Regen-Funktion vor der while-Schleife auf 1 und
setze in die while die Bedingung, daß sie nur ausgeführt werden soll solange
regen den Wert 1 hat ( while (regen == 1)). So lannst Du den Wert bei in Deiner
Level-Wechsel-Funktion wieder auf 0 setzen und die Funktion wird beendet wenn
hinter der while-Schleife ein return steht.
Posted By: Widi

Re: Laufende Funktion beenden? - 06/03/10 12:30

Das von jane ist schon richtig, aber das return hinter der while Schlaufe kannst du dir sparen, wenn nach der while nichts mehr folgt, wird die function sowieso beendet wink
Posted By: Deha

Re: Laufende Funktion beenden? - 06/03/10 16:43

Ha, na das ist ja dann einfach! laugh
Ich hab die Funktion einfach einer Entity zugewiesen...
Ja, war halt echt ne Anfängerfrage, aber mir war nicht bewusst, dass die Funktion dann automatisch beendet wird, danke!
© 2023 lite-C Forums