Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  FAQFAQ  SuchenSuchen  AnmeldenAnmelden  MitgliederMitglieder  LoginLogin  

Teilen | 
 

 Script warten lassen

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Christian
Clonk
Clonk
avatar

Männlich Alter : 21
Ort : Ost-Deutschland
Anmeldedatum : 05.02.11

BeitragThema: 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.
Nach oben Nach unten
Benutzerprofil anzeigen
MagicWipf
Brigadegeneral
Brigadegeneral
avatar

Männlich Alter : 21
Ort : Irgendwo im Nirgendwo
Anmeldedatum : 14.02.11

BeitragThema: 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());
  }


Nach oben Nach unten
Benutzerprofil anzeigen
ClonkGeist
Brigadegeneral
Brigadegeneral


Männlich Anmeldedatum : 23.01.10

BeitragThema: Re: Script warten lassen   Fr Jun 10, 2011 5:02 pm

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);
Nach oben Nach unten
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Script warten lassen   Fr Jun 10, 2011 5:33 pm

Zitat :
Es kommt ohnehin da '0' raus.
Nein. Der IntSchedule-Effekt ist objektlokal, this liefert also wirklich das Zielobjekt.
Nach oben Nach unten
Benutzerprofil anzeigen
Christian
Clonk
Clonk
avatar

Männlich Alter : 21
Ort : Ost-Deutschland
Anmeldedatum : 05.02.11

BeitragThema: Re: Script warten lassen   Fr Jun 10, 2011 8:01 pm

mhh...

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?
Nach oben Nach unten
Benutzerprofil anzeigen
MagicWipf
Brigadegeneral
Brigadegeneral
avatar

Männlich Alter : 21
Ort : Irgendwo im Nirgendwo
Anmeldedatum : 14.02.11

BeitragThema: Re: Script warten lassen   Fr Jun 10, 2011 8:57 pm

@ClonkGeist: Danke Smile Das wusste ich alles selbst nicht... Das erklärt warum viele meiner Scripts nicht funktioniert haben...
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: Script warten lassen   

Nach oben Nach unten
 
Script warten lassen
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Translator script problem
» Von Gästen Bilder posten lassen
» Suche News Script (mit Befugnissen)
» Private Nachrichten lassen sich zum Teil nicht öffnen
» Bild druchs Forum fliegen lassen...

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: