CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


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

 

 Flint funktioniert nicht. :(

Nach unten 
3 verfasser
AutorNachricht
Teehee
Brigadegeneral
Brigadegeneral
Teehee


Männlich Alter : 27
Ort : Irgendwo im Nirgendwo :O
Anmeldedatum : 28.09.09

Flint funktioniert nicht. :( Empty
BeitragThema: Flint funktioniert nicht. :(   Flint funktioniert nicht. :( EmptyDi Sep 29, 2009 6:15 pm

Hi, ich hab gestern angefangen in CR zu scripten, und bin gleich auf das erste Problem gestoßen.
Ich habe nämlich einen Flint gemacht, der eigentlich mit Doppelgraben anfangen zu brennen soll, dann nen Counter von 10 - 0 startet und dann explodiert. Allerdings fängt er nur an zu brennen, und CR sagt mir nur, das er SetVar und if nicht kennt. Hilfe. Sad

Code:
/*-- Suicid Flint --*/

#strict

SetVar(timer, 10);

protected func Activate()
{
 Incinerate();
}

if (OnFire())
{
 Schedule ("DecVar(timer--);", 1, 10, TSUI);
 Message ("%d seconds till explosion.", timer);
}

while (var timer = 0)
{
 Explode(50);
}

~Teehee~
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


Männlich Ort : Am Anti-Spam-Limes
Anmeldedatum : 19.01.09

Flint funktioniert nicht. :( Empty
BeitragThema: Re: Flint funktioniert nicht. :(   Flint funktioniert nicht. :( EmptyDi Sep 29, 2009 6:44 pm

Das Problem mit SetVar besteht darin das es nur füt Threadlokale Variablen gilt, sprich nur für welche innerhalt einer Funktion. Statt:
Code:

SetVar(timer, 10);
schreibe
Code:

local timer; //locale gelten überall im Objekt
func Initialize() //Das wird beim erzeugen des Flints aufgerufen.....
{
timer = 10; //...wodurch der timer gleich zu beginn auf 10 gesetzt wird.
}

Das Problem mit if besteht wohl darin das if einfach in der Landschaft rumsteht und nicht aufgerufen wird. Du brauchst einen Timer um die Funktion immer wieder aufzufufen, hierzu schreibe in deine DefCore die Zeile Timer=36 und TimerCall=Burn. Jetzt wird jede Sekunde die Funktion Burnaufgerufen. Jetzt brauchen wir nur noch eine Funktion Burn.
Code:

func Burn()
{
if(OnFire()) //Gucken obs brennt
{
timer = timer-1; //Jeden Aufruf also jede Sekunde wir "timer" eines  weniger bis es nach 10 sek null ist.
Message ("%d seconds till explosion.", timer); //Das sollte passen das lassen wir.
if(!timer) Explode(50); //Wenn Tier Null ist (das ! dreht if um) explodiert die Sache.
}
}

Dein Acivate passt das kannste lassen, hoffe habe keine Syntaxfehler wenns nicht klappt, am besten mit Fehlermeldungen posten.
Und: Willkommen auf dem CNDG.
Und: Ich weiß das ein Timer performance lastig ist aber ich hab kb hier jetzt Actmap und Effekte zu erklären.
Nach oben Nach unten
Teehee
Brigadegeneral
Brigadegeneral
Teehee


Männlich Alter : 27
Ort : Irgendwo im Nirgendwo :O
Anmeldedatum : 28.09.09

Flint funktioniert nicht. :( Empty
BeitragThema: Re: Flint funktioniert nicht. :(   Flint funktioniert nicht. :( EmptyDi Sep 29, 2009 8:22 pm

Danke funktioniert jez ^^
Nach oben Nach unten
YoCed
Vizeadmiral
Vizeadmiral
YoCed


Männlich Alter : 28
Ort : Rheine
Anmeldedatum : 23.05.09

Flint funktioniert nicht. :( Empty
BeitragThema: Re: Flint funktioniert nicht. :(   Flint funktioniert nicht. :( EmptyDi Sep 29, 2009 10:01 pm

Teehee schrieb:
Hi, ich hab gestern angefangen in CR zu scripten...

Also dafür kennst du dich aber schon gut aus Smile
Nach oben Nach unten
Gesponserte Inhalte





Flint funktioniert nicht. :( Empty
BeitragThema: Re: Flint funktioniert nicht. :(   Flint funktioniert nicht. :( Empty

Nach oben Nach unten
 
Flint funktioniert nicht. :(
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» for-Schleife funktioniert nicht
» Spawn funktioniert nicht
» GetDefinition funktioniert nicht mit C4D_Select[x]?

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