Thema: Stippelhütte erstellen Fr Jan 21, 2011 9:59 pm
Hallo, Ich möchte eine Holzhütte programmieren wo ein Stippel herauskommt wenn sich ein Gegner nähert. Leider weiß ich aber nicht wie man dass programmiert dass etwas passiert wenn sich ein Gegner nähert. Kann mir bitte jemand helfen? wäre nett
Liech Fregattenkapitän
Alter : 32 Anmeldedatum : 02.02.09
Thema: Re: Stippelhütte erstellen Fr Jan 21, 2011 10:05 pm
im Defcore kannst du einen Timer pro objekt definieren. [Defcore] TimerCall=Funktion Timer=Intervall (wobei Intervall = Integer wie z.b. 5)
Dieser ruft dann die Funktion im script des objekts periodisch auf: public fund Funktion() { //Wird periodisch aufgerufen }
fabianx2 Fähnrich
Anmeldedatum : 25.07.09
Thema: Re: Stippelhütte erstellen Fr Jan 21, 2011 10:37 pm
jo danke ich werde es gelich testen. aber würde noch gerne wissen wie es geht dass es funktioniert wenn dich ein Gegner nähert.
Mozart Kanzler
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 24.02.08
Thema: Re: Stippelhütte erstellen Sa Jan 22, 2011 12:34 am
Das hier ist definitiv im falschen Ordner, ein Punkt für fabianx2 und *verschieb nach Anfrage*
Donky Hauptman
Alter : 26 Ort : In der Nähe Hamburgs Anmeldedatum : 03.11.09
Thema: Re: Stippelhütte erstellen Sa Jan 22, 2011 11:30 am
Das machst du dann einfach mit
Code:
public func Funktion() { // Sobald ein gegnerischer Clonk in bis zu 100 Pixeln Entfernung an die Hütte herankommt... if(FindObject2(Find_Hostile(GetOwner()),Find_OCF(OCF_CrewMember),Find_Distance(100))) { // Wird ein Stippel erzeugt CreateObject(ST5B); // Und die Tür öffnet sich. Hallo Mr Stippel! SetAction("OpenDoor"); } }
evtl. sollte man noch nen Cooldown reinmachen, sonst spammt das Ding dich mit Stippeln zu, wenn du einmal dran vorbeigehst.
fabianx2 Fähnrich
Anmeldedatum : 25.07.09
Thema: Re: Stippelhütte erstellen Sa Jan 22, 2011 10:56 pm
Dankeschön und wie kann man machen dass der cooldown startet?
Donky Hauptman
Alter : 26 Ort : In der Nähe Hamburgs Anmeldedatum : 03.11.09
Thema: Re: Stippelhütte erstellen So Jan 23, 2011 10:07 am
Das könntest du zB mit
Code:
local Cooldown;
public func Funktion() { // Wenn der Cooldown wieder bereit ist if(!Cooldown) { ... // Blablabla siehe oben // Wird er erstmal nicht mehr bereit Cooldown++; // In 370 Frames (ca 10 sec) wird die Funktion WiederBereit aufgerufen ScheduleCall(this,"WiederBereit",370) } }
public func WiederBereit() { // Juhuu der Cooldown ist wieder bereit. Fröhliches stippeln return(Cooldown--); }
machen.
Zuletzt von Donky am So Jan 23, 2011 10:11 am bearbeitet; insgesamt 1-mal bearbeitet (Grund : Übersichtlichkeit, bin halt n Ordnungsfreak)
fabianx2 Fähnrich
Anmeldedatum : 25.07.09
Thema: Re: Stippelhütte erstellen So Jan 23, 2011 1:40 pm
ok danke schön
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Stippelhütte erstellen So Jan 23, 2011 2:56 pm
Da wäre aber ein Effekt die leichteste und sauberste Lösung.
Code:
public func Funktion() { //Geht noch nicht if (GetEffect("IntCooldown", this)) return; //... //Cooldown AddEffect("IntCooldown", this, 1, 350); }