Alter : 27 Ort : Ost-Deutschland Anmeldedatum : 05.02.11
Thema: Script warten lassen Do Jun 09, 2011 8:39 pm
Wie kann man Eine Funktion einen Befehl ausführen lassen und nach 5sec. einen weiteren?
ZB: Einen Sound abspielen und wenn er zuende ist eine Variable ändern.
MagicWipf Brigadegeneral
Alter : 27 Ort : Irgendwo im Nirgendwo Anmeldedatum : 14.02.11
Thema: Re: Script warten lassen Do Jun 09, 2011 9:24 pm
Das geht entweder (in diesem Falle wohl aber eher sinnlos weil zu kompliziert) mit Effekten oder mit ScheduleCall. Schedule lässt eine bestimmte Funktion nach einer beliebigen Anzahl an Frames ausführen. z.B: Schedule("Explode(20)",50,1,this()); Die Funktion lässt das Objekt nach 50 Frames Explodieren mit einer Größe von 20. Zur erklärung:
Zitat :
bool Schedule (string szScript, int iInterval, int iRepeat, object pObj);
szScript: Auszuführendes Script iInterval: Zeit, bis das Script zum ersten Mal ausgeführt werden soll. Wenn iRepeat > 1, ist es außerdem der Zeitabstand zwischen erneuten Ausführungen. iRepeat: Anzahl der Ausführungen. Wenn 0 oder nicht angegeben wird das Script genau ein mal ausgeführt. pObj: Objekt, in dem das Script ausgeführt werden soll. 0 für lokalen Aufruf.
(Frei aus der Doku) In deinem Fall müsstest du also eine Funktion machen wie diese:
Code:
func TestFunktion() { //--Sound machen--// Sound("Magic"); //--Nach 40 Frames was sagen--// Schedule("Message("Ich bin der mächtige Bellegar",this())",40,1,this()); }
Der von dir genannte Scriptteil ist falsch. Da die Anführungszeichen den String beenden wird "Ich bin der mächtige Bellegar" nicht an Schedule übergeben. Hierfür benutzen wir '\' vor dem Zeichen, damit dieses zum String gehört. Zudem kannst du 'this' nicht einfach mitreinkopieren. Bzw ist es sinnlos. Es kommt ohnehin da '0' raus. Korrekt wäre es also wie folgt:
Code:
Schedule("Message(\"Ich bin der mächtige Bellegar\")",40,1,this);
ich weiß nicht ob ich einfach so unverschämt fragen darf aber:
Ich versuche eine Minigun für CMC - ModernCombat zu machen... die soll halt wenn man Fire1() aufruft erst andrehen und nach einer bestimmten Zeit Feuern... genauso soll sie wenn man das Feuern beendet wieder herunterdrehen...
Könnte mir da jemand helfen?
MagicWipf Brigadegeneral
Alter : 27 Ort : Irgendwo im Nirgendwo Anmeldedatum : 14.02.11