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  

 

 Reload bei Lebewesen

Nach unten 
4 verfasser
AutorNachricht
Extremclonk
Staatsrat
Staatsrat
Extremclonk


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

Reload bei Lebewesen Empty
BeitragThema: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 9:11 pm

Wie kann ich es einstellen dass ein Lebewesen ein bestimmte Action nur einmal in 10 sek ausführen kann? Wie bei waffen mit der Reload-Action die nach dem Schuss gesetzt wird und davor abgefragt wird ob sie noch läuft scheint nicht zu funktionieren vermutlich da eine andere Action (wie Walk) dazwischen kommt. Wie kann man das Problem noch lösen?
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 9:54 pm

Mit Timern geht das ganz sicher... Delay auf die richtige Frames setzen. Normal sind es ca 35 FramesProSekunde (FPS)
Also werden hier 35 Frames in einer Sekunde abgespielt..'

Aber wir hatten das doch schonmal, oder?

Ich glaub ich sollte mal nen Tutorial über Timer schreiben...
Nach oben Nach unten
http://www.gamer95.npage.de/
Extremclonk
Staatsrat
Staatsrat
Extremclonk


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

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 9:56 pm

Link zum Thread/Doku vllt? Bin n bissl nooby in manchen Punkten.
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 9:59 pm

In der entsprechenden Funktion eine Varible, zB Reload.
Dann zur Ausführung
Code:
if(!Reload)
{
blub...;
Reload=true;
Schedule("Reload=0",/*Deine Nachladezeit*/);
}
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 10:02 pm

Klar natürlich doch. Das muss man in Die ActMap eintragen.. mit "PhaseCall" "EndCall" und den ganzen Teilen...
HIER ist der Link zur Doku. Für dich dürften hier nur
"StartCall" und "EndCall" sowie "Delay" interresant sein.

Also, um das Ganze mal zu erklären... (kurz) Wenn es nachladen Soll, einfach die Action ändern... Du musst dazu deine eigene Aktion ind die ActMap eintragen. Du wechselst die Aktion mit "SetAction("Actionsname",this());". Bei "Delay" (sry wenn ichs falsch schreibe) kommt die Verzögerung in Frames rein.

Oh, du über mir hast es ja noch einfacher gemacht... Aber naja du warst schneller beim tippen Wink
Nach oben Nach unten
http://www.gamer95.npage.de/
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 10:04 pm

Aber da kommen ja andere Aktionen in die Quere, man kann ja maximal eine ausführen.
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


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

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 10:12 pm

Ja da hat Umezawa recht dass Problem dass die anderen Actionen stören wie du dass sagst Gamer geht es nur bei Gegenständen.

Code:

if(!Reload)
{
blub...;
Reload=true;
Schedule("Reload=0",/*Deine Nachladezeit*/);
}

Also in blub.... muss halt rein was dass ding machen soll also CastObjects oder so nehme ich an. Jetzt noch eine dumme Frage wie mache ich so eine Variable? Ich kenn mich teilweise einfach so nicht aus.... müssen die {} sein oder dienen die nur der Übersicht?
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 10:23 pm

für die variable stetzt du einfach ein
Code:
var Reload;
vor das if.
Und die Klammern müssen sein, damit alles in den Klammern nur dann passiert, wenn er nicht am Laden ist. Sonst würde if nur für das erste Kommando dahinter gelten.
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


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

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 10:33 pm

Also aktuell sieht es so aus:

Code:
ControlThrow:
var Reload;
if(!Reload)
{
if (!GetDir())SetAction("Attack3");
if (!GetDir())CastObjects(DFLM, 1, 0, -30, 0);
if (!GetDir())CastObjects(DFLM, 1, 0, -31, 0);
Reload=true;
Schedule("Reload=360");
}
if (!GetDir()) return(1);

Dass ding macht aber immer noch feuer am laufenden Band. Wieso?
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 10:39 pm

Code:
ControlThrow:
var Reload;
if(!Reload)
{
if (!GetDir())SetAction("Attack3");
if (!GetDir())CastObjects(DFLM, 1, 0, -30, 0);
if (!GetDir())CastObjects(DFLM, 1, 0, -31, 0);
Reload=true;
Schedule("Reload=0",360);
}
if (!GetDir()) return(1);
Reload soll ja auf 0 gesetzt werden, aber warum es weiter macht versteh ich nicht. Eigentlich müsste bei dir nur einmal gefeuert weden und dann ist Schluss auf ewig...
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


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

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 11:11 pm

Ich habs so gemacht aber es funzt einfach nicht. Ich weiß nicht wieso. Muss noch was in die ActMap, DefCore oder so?
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyDi Feb 17, 2009 11:55 pm

Ich glaub ich weiß woran es liegt. Die Variable muss als local definiert werden, sonst wird sie bei Funktionsende ja wieder 0.

Also:
Code:

ControlThrow:
local Reload;
if(!Reload)
{
if (!GetDir())SetAction("Attack3");
if (!GetDir())CastObjects(DFLM, 1, 0, -30, 0);
if (!GetDir())CastObjects(DFLM, 1, 0, -31, 0);
Reload=true;
Schedule("Reload=0",360);
}
if (!GetDir()) return(1);
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


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

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyMi Feb 18, 2009 6:23 pm

Juhuu ja es geht!! Danke, danke! Das war prima! *mit massen von Cyberkeksen überhäuf*

Da es wohl nichts mehr zu sagen gibt bitte ich darum zu closen um dumme Spammer daran zu hindern noch irgendeinem Müll zu Posten
Nach oben Nach unten
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen EmptyMi Feb 18, 2009 6:27 pm

Ich tu dir mal den gefallen.^^
Nach oben Nach unten
Gesponserte Inhalte





Reload bei Lebewesen Empty
BeitragThema: Re: Reload bei Lebewesen   Reload bei Lebewesen Empty

Nach oben Nach unten
 
Reload bei Lebewesen
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Alle Objekte/Lebewesen/Fahrzeuge auf der Map auflisten

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