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

Austausch | 
 

 Schedule()

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Elfangor
General
General
avatar

Männlich Alter : 25
Ort : Mainz
Anmeldedatum : 26.06.08

BeitragThema: Schedule()   Di Jul 22, 2008 10:17 pm

Schedule()

Spaß mit dem Stundenplan? Nee.. Schedule bedeutet in Clonk sowas wie einen Plan zu erstellen oder einfach einen bestimmten Script in einem bestimmten Frameabstand so oft wie man will zu wiederholen.



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.


Ein kleines Beispiel zu unserem Script:
Code:

Schedule("CastObjects(FLNT,10,10,Random(LandscapeHeight()),Random(LandscapeWidth()))",500,1000);
Lässt alle 500 Frames 10 Feuersteine mit der Schleuderkraft 10 irgendwo auf der Landschaft casten und das insgesamt 1000 mal. Also wird 1000 mal bis 500 Frames gezählt und das Script wird einmal ausgeführt.
Nach oben Nach unten
Benutzerprofil anzeigen http://www.m-w-c.de.vu
MiNi-B@n4nA
General
General


Weiblich Alter : 107
Ort : 13 Punkte im CNDG-Flensburg %D
Anmeldedatum : 22.04.08

BeitragThema: Re: Schedule()   Di Jul 22, 2008 11:39 pm

Gut erklärt! (Also cih habs gecheckt Wink)
Nur der Link zu Doku fehlt Smile
Nach oben Nach unten
Benutzerprofil anzeigen http://steamcommunity.com/id/minibanana
Enrique
Generalleutnant
Generalleutnant
avatar

Männlich Ort : Oelde, NRW
Anmeldedatum : 20.05.08

BeitragThema: Re: Schedule()   Mi Jul 23, 2008 11:23 am

hmm das Beispiel ist doch das wo wir Drachenfels gespielt haben Wink

Ansonsten ist das ein gutes Tuturial Very Happy
Nach oben Nach unten
Benutzerprofil anzeigen
Gast
Gast



BeitragThema: Re: Schedule()   Mi Jul 23, 2008 11:38 pm

Psst! Schedule heißt auch "planen".
Nach oben Nach unten
Simsi
Staatssekretär
Staatssekretär
avatar

Männlich Alter : 25
Ort : Vaihingen/Enz
Anmeldedatum : 30.03.08

BeitragThema: Re: Schedule()   Do Jul 24, 2008 3:04 pm

gibts eig ein unterschied zwischen Schedule() und ScheduleCall() ?

_________________
Copy this into your signature to have it in your signature.
Nach oben Nach unten
Benutzerprofil anzeigen
Mozart
Kanzler
Kanzler
avatar

Männlich Alter : 24
Ort : Vaihingen/Enz
Anmeldedatum : 24.02.08

BeitragThema: Re: Schedule()   Fr Jul 25, 2008 12:36 am

zu faul um in der Doku nachzukucken?
schedulecall:
bool ScheduleCall (object pObj, string szFunction, int iInterval, int iRepeat, ...);
([Objekt_wo_die_Funktion_steht], [Name_der_Funktion], [Zeitabstand_zwischen_Aufrufen], [Anzahl der Aufrufe], [Zusätzliche_Parameter])
also zB
Code:
ScheduleCall(FindObject(CLNK), "Redefine", 500, 0, MCLK);
Clonk wird nach 500 Ticks zum Magus
Nach oben Nach unten
Benutzerprofil anzeigen http://www.funamfag.de
Simsi
Staatssekretär
Staatssekretär
avatar

Männlich Alter : 25
Ort : Vaihingen/Enz
Anmeldedatum : 30.03.08

BeitragThema: Re: Schedule()   Fr Jul 25, 2008 12:31 pm

also kann man einfach bei ScheduleCall noch ein objekt angeben?

_________________
Copy this into your signature to have it in your signature.
Nach oben Nach unten
Benutzerprofil anzeigen
Mozart
Kanzler
Kanzler
avatar

Männlich Alter : 24
Ort : Vaihingen/Enz
Anmeldedatum : 24.02.08

BeitragThema: Re: Schedule()   Fr Jul 25, 2008 1:36 pm

und zusätzliche parameter
Nach oben Nach unten
Benutzerprofil anzeigen http://www.funamfag.de
kevda
Feldmarschall
Feldmarschall


Anmeldedatum : 08.05.08

BeitragThema: Re: Schedule()   Fr Jul 25, 2008 7:27 pm

Simsi schrieb:
also kann man einfach bei ScheduleCall noch ein objekt angeben?

Mit ScheduleCall wird eine Funktion in einem Objekt aufgerufen, mit Schedule wird eher global gearbeitet.
Nach oben Nach unten
Benutzerprofil anzeigen
Dr.Lukas
Clonk
Clonk
avatar

Männlich Alter : 21
Anmeldedatum : 02.04.08

BeitragThema: Re: Schedule()   Sa Sep 27, 2008 8:43 pm

Wie viele Sekunden sind 500 frames?
Nach oben Nach unten
Benutzerprofil anzeigen
Mozart
Kanzler
Kanzler
avatar

Männlich Alter : 24
Ort : Vaihingen/Enz
Anmeldedatum : 24.02.08

BeitragThema: Re: Schedule()   Sa Sep 27, 2008 9:31 pm

kommt drauf an, wenns laggt weniger, normal spielt man aber mit 36 FPS, also 500/36=14
manchmal aber auch weniger wegen powerplay
hättest jetzt aber auch selber draufkommen können.
Nach oben Nach unten
Benutzerprofil anzeigen http://www.funamfag.de
Höfi
SFT
SFT
avatar

Männlich Alter : 22
Anmeldedatum : 20.10.08

BeitragThema: Re: Schedule()   Mo Dez 15, 2008 7:09 pm

Elfangor schrieb:

Wenn iRepeat > 1, ist es außerdem der Zeitabstand zwischen erneuten Ausführungen.
Hab zwar nicht nachgeguckt, aber müsste das nicht > 0 sein?

Ansonsten gutes tutorial.
Nach oben Nach unten
Benutzerprofil anzeigen
Dragonclonk
Kadett
Kadett
avatar

Männlich Alter : 24
Ort : Lübeck
Anmeldedatum : 11.12.08

BeitragThema: Re: Schedule()   Mo Dez 15, 2008 7:11 pm

Ja. Durch dieses Tutorial hab ich dies auch gescheckt-
Nach oben Nach unten
Benutzerprofil anzeigen
Kai
Kapitän
Kapitän


Männlich Alter : 21
Anmeldedatum : 29.12.08

BeitragThema: Re: Schedule()   Mi Dez 31, 2008 2:21 pm

super erklärt, ich habe es verstanden Very Happy
jetzt mache ich gleich ein FRISS DAS 2 xD
Nach oben Nach unten
Benutzerprofil anzeigen
imperatoerchen
Brigadegeneral
Brigadegeneral
avatar

Männlich Alter : 22
Ort : Ebersberg
Anmeldedatum : 23.03.09

BeitragThema: Re: Schedule()   Mo Mai 11, 2009 7:11 pm

kann man eigentlich auch ein anderes script in ein Schedule() dazu zu dem anderen in den 1. Parameter reinschreiben, wenn ja wie?
Nach oben Nach unten
Benutzerprofil anzeigen
Toastbrot
Kadett
Kadett
avatar

Männlich Anmeldedatum : 10.03.09

BeitragThema: Re: Schedule()   Mo Mai 11, 2009 9:06 pm

imperatoerchen schrieb:
kann man eigentlich auch ein anderes script in ein Schedule() dazu zu dem anderen in den 1. Parameter reinschreiben, wenn ja wie?

geht du musst sie nur mit dem Logischen-UND verknüpfen:

Schedule("Anweisung1 && Anweisung2 ")
Nach oben Nach unten
Benutzerprofil anzeigen
imperatoerchen
Brigadegeneral
Brigadegeneral
avatar

Männlich Alter : 22
Ort : Ebersberg
Anmeldedatum : 23.03.09

BeitragThema: Re: Schedule()   Di Mai 12, 2009 6:13 pm

Funktioniert, danke
Nach oben Nach unten
Benutzerprofil anzeigen
Tackleberry
Leutnant
Leutnant
avatar

Männlich Anmeldedatum : 29.04.09

BeitragThema: Re: Schedule()   Di Mai 12, 2009 9:47 pm

Vielleicht noch ein Tipp, wenn man mit einer Message-Funktion, oder auch Log benutzt, denn da wird man normalerweise mit den Anführungszeichen in Konflikt geraten, da das Script mit eval umgewandelt wird.

Als Abhilfe gibt es das sogenannte Escapen. Das ist ganz einfach, man schreibt einfach vor jedes ", welches das Script nicht unterbrechen soll einen Backslash, also einen \\. Das sieht dann z.B. so aus:

Schedule("Message(\\"Ich bin ein Clonk!\\", FindObject(CLNK))", 1000, 0);

Ruft die Nachricht "Ich bin ein Clonk" über dem erstbesten Clonk aus, der gefunden wird.

Edit: Doof, Alle Backslashs wurden irgendwie vervielfältigt. EIN Backslash, was soll der Mist? Evil or Very Mad
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: Schedule()   

Nach oben Nach unten
 
Schedule()
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Anfänger :: Tutorials-
Gehe zu: