Thema: Clonk soll Schaden austeilen Sa Jun 13, 2009 3:29 pm
Ich habe ein ganz simples Skript, das gefunden Lebewesen Schaden machen soll.
Code:
public func ControlThrowDouble() { var Opfer=FindObject2(Find_InRect (-10,14,20,25), Find_OCF(OCF_CrewMember())); Punch(Opfer,50); }
Es passiert einfach gar nix, keine Errors oder Warnings. Aber wenn ich CreateObject(ROCK) dazuschreibe, kommt auch ein Stein. Weiß wer Rat?
Simsi Staatssekretär
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 30.03.08
Thema: Re: Clonk soll Schaden austeilen Sa Jun 13, 2009 4:40 pm
probier mal irgendwie mit Log() rauskriegen wos hängt, also irgendwie Log(GetName(Opfer));
ansonsten würd ichs lieber mit Find_Distance() und GetX() machen, als mit Find_InRect(), das find ich irgendwie so undurchsichtig...
Pitri Feldmarschall
Alter : 30 Ort : Karlsruhe Anmeldedatum : 02.03.09
Thema: Re: Clonk soll Schaden austeilen Sa Jun 13, 2009 4:43 pm
Lebewesen allgemein,oder Mitgliedern? Denn dann solltest du
Zitat :
OCF_CrewMember()
durch
Zitat :
OCF_Living()
ersetzen.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Clonk soll Schaden austeilen Sa Jun 13, 2009 5:17 pm
Jetzt funktionierts. Find_Distance und OCF_Living habens gebracht. ich habe meinen Teil mit Find_Exclude(this()) beigesteuert, damit er sich nicht selbst umbringt(wäre ja auch doof). Also für alle noch das komplette Skript:
Zitat :
public func ControlThrowDouble() { var Opfer=FindObject2(Find_Distance(22), Find_OCF(OCF_Living), Find_Exclude(this())); Punch(Opfer,50); }
Simsi Staatssekretär
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 30.03.08
Thema: Re: Clonk soll Schaden austeilen So Jun 14, 2009 1:11 pm
ich würde noch ne abfrage mit GetDir() und GetX() einbauen dass er nich objekte hinter sich haut.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Clonk soll Schaden austeilen So Jun 14, 2009 1:14 pm
Aber das würde sich dann nicht so gut mit Find_Distance vertragen, da müsste dann schon wieder Find_InRect dazukommen.
Simsi Staatssekretär
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 30.03.08
Thema: Re: Clonk soll Schaden austeilen So Jun 14, 2009 9:30 pm
warum nich mit Find_Distance()? mach einfach nach die suchzeile noch ein:
Code:
if(GetDir()*(GetX(Opfer)-GetX()) < 0) return();
wenns nich klappt mal das größer-kleiner-zeichen rumdrehn.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Clonk soll Schaden austeilen Mo Jun 15, 2009 12:54 pm
Find_Distance sucht doch in nem Radius rund um den Clonk oder? Also egal welche Richtung er schaut, immer 22 Pixel rund um den Clonk.
EDIT: Es sucht dann tatsächlich nur vor dem Clonk. Kann es sein, dass er dann nur im Halbkreis sucht? Wäre interessant zu wissen.
Simsi Staatssekretär
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 30.03.08
Thema: Re: Clonk soll Schaden austeilen Mo Jun 15, 2009 2:50 pm
jap, weil Find_Distance() sucht in einem kreis und mit der rechnung schneidest du sozusagen den halben kreis hinter dem clonk weg.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Clonk soll Schaden austeilen Mo Jun 15, 2009 3:04 pm
Na das ist gut zu wissen. Danke Simsi für die Skript-Feineinstellungen.