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

Austausch | 
 

 wie löse ich die mine aus?

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Lord Helmchen
Fregattenkapitän
Fregattenkapitän
avatar

Männlich Alter : 23
Ort : In einem Dorf in Baden
Anmeldedatum : 28.10.09

BeitragThema: 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 Sad
hier ist das script:

func bumm() {
if(FindObject2(Find_Distance(5),Find_ID(CLNK)))
Explode(10);
}

ich hoffe mir kann jemand helfen Smile
Nach oben Nach unten
Benutzerprofil anzeigen
Gamer
Staatsrat
Staatsrat
avatar

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

BeitragThema: 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!

_________________
Star Wars Projekt Homepage: http://sites.google.com/site/clonkprojekte/star-wars

Das Burg Projekt.................................................................... Schaut doch mal im Super-Mario Clonk Editon Forum vorbei!
Nach oben Nach unten
Benutzerprofil anzeigen http://www.gamer95.npage.de/
Liech
Fregattenkapitän
Fregattenkapitän


Männlich Alter : 26
Anmeldedatum : 02.02.09

BeitragThema: 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
Nach oben Nach unten
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: 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.
Nach oben Nach unten
Benutzerprofil anzeigen
Lord Helmchen
Fregattenkapitän
Fregattenkapitän
avatar

Männlich Alter : 23
Ort : In einem Dorf in Baden
Anmeldedatum : 28.10.09

BeitragThema: 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
Nach oben Nach unten
Benutzerprofil anzeigen
Pitri
Feldmarschall
Feldmarschall
avatar

Männlich Alter : 24
Ort : Karlsruhe
Anmeldedatum : 02.03.09

BeitragThema: 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;
}

func FxEffektnameTimer()
{
...if(FindObject2(Find_OCF(OCF_CrewMember),Find_NoContainer(),Find_AtPoint(0,-1)))
......Explode(10);
...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
Nach oben Nach unten
Benutzerprofil anzeigen http://www.clonk-fanpage.lima-city.de
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: 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.
Nach oben Nach unten
Benutzerprofil anzeigen
Lord Helmchen
Fregattenkapitän
Fregattenkapitän
avatar

Männlich Alter : 23
Ort : In einem Dorf in Baden
Anmeldedatum : 28.10.09

BeitragThema: Re: wie löse ich die mine aus?   Fr Jan 14, 2011 9:50 pm

danke für die hilfe es funktioniert super :>
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: wie löse ich die mine aus?   

Nach oben Nach unten
 
wie löse ich die mine aus?
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 :: Sonstiges :: Scripthilfe-
Gehe zu: