Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: wie löse ich die mine aus? Mi Jan 12, 2011 12:47 am
ich habe heute als übung mal versucht eine mine zu scripten, aber habe es leider nicht geschaft, dass sie auslöst wenn ein clonk in ihrer nähe ist hier ist das script:
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: wie löse ich die mine aus? Mi Jan 12, 2011 1:41 am
Hm.. Vlt statt Find_ID Finf_Func("IsClonk") machen. Aber zeig ma bitte wie die Funktion aufgerufen wrd!
Liech Fregattenkapitän
Alter : 33 Anmeldedatum : 02.02.09
Thema: Re: wie löse ich die mine aus? Mi Jan 12, 2011 12:30 pm
Find_Func("IsClonk"); ist es. Nicht das es daran scheitert =) Die Funktion muss in einem gewissen intervall aufgerufen werden, wie Gamer schon sagt, am besten macht man das in dem man in den defcore.txt des objekts irgendwo unter [Defcore] das TimerCall=bumm und das Timer=5 einfügt, falls es nicht schon in anderer form vorhanden ist
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: wie löse ich die mine aus? Mi Jan 12, 2011 7:29 pm
Find_Distance findet außerdem nur Objekte, deren Objektmittelpunkt innerhalb des Radius liegt. Das wäre bei Clonks (wenn die Mine am Boden liegt) mindestens ein Abstand von 10. Benutz besser Find_AtPoint oder Find_AtRect.
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: wie löse ich die mine aus? Mi Jan 12, 2011 8:23 pm
ah ok danke ich wusste nur nicht, wie ich die func aufrufen sollte
Pitri Feldmarschall
Alter : 30 Ort : Karlsruhe Anmeldedatum : 02.03.09
Thema: Re: wie löse ich die mine aus? Fr Jan 14, 2011 5:03 pm
Limeox schrieb:
Benutz besser Find_AtPoint oder Find_AtRect.
Du weißt aber schon, dass das Find_InRect heißt, oder?
Liech schrieb:
irgendwo unter [Defcore] das TimerCall=bumm Timer=5 einfügt
Nain! Wozu gibt es Effekte, wenn man noch Old-School-Methoden anwendet? :<
Einen einfachen Timer-Effekt zu machen ist einfach.
Zitat :
#strict 2
func Initialize() { ...AddEffect("Effektname",this,100,Zeitverzögerung zwischen den Funktionsaufrufen,this); ...Alles weitere hier; ...return true; }
Ich hab mir hier die Freiheit genommen, deine Suchabfrage ein wenig anzupassen: Ein Lebendes Crewmitglied, welches sich im Freien und direkt über der Mine befindet.
Nur bugfrei in #strict 2
Zuletzt von Pitri am Fr Jan 14, 2011 7:37 pm bearbeitet; insgesamt 1-mal bearbeitet
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: wie löse ich die mine aus? Fr Jan 14, 2011 6:24 pm
Zitat :
Du weißt aber schon, dass das Find_InRect heißt, oder?
Das ist was anderes. Das sucht auch nur nach dem Objektmittelpunkt im Rechteck, Find_AtRect prüft, ob das Shape eines Objekts das angegebene Rechteck überlappt. Genauso Find_AtPoint, das sucht nach Objekten, deren Shape den angegebenen Punkt einschließt.
Zitat :
Find_OCF(OCF_CrewMember|OCF_Alive)
OCF_CrewMember reicht, tote Objekte haben nämlich kein OCF_CrewMember mehr. Und außerdem würden sonst Tiere auch gefunden. Wenn du jedoch alle Lebewesen finden willst, reicht wiederum ein einfaches OCF_Alive, das schließt OCF_CrewMember ein.
doku schrieb:
Object character flag: Das Objekt kann theoretisch zu einer Crew hinzugefügt werden oder gehört schon zu einer Crew. Das heißt, es hat den ensprechenden DefCore-Eintrag gesetzt, und lebt.
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: wie löse ich die mine aus? Fr Jan 14, 2011 9:50 pm