Thema: Clonk mit Flint erschaffen ? Mo Sep 13, 2010 7:07 pm
Hi ich will mir einen Filnt erstellen der beim Aufprall eine Clonk erzeugen soll und der nach rechts läuft .. ich bin in der Anfänger fase =)
das ist mein script :
func Hit: { CastObjects(CLNK);
SetComDir(COMD_Right(); return(1); }
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: Clonk mit Flint erschaffen ? Mo Sep 13, 2010 7:46 pm
ich glaube es müsste so heißen: [...] CastObjects(CLNK,1,1)->SetComDir(COMD_Right()); [...] die erste zahl in CastObjects is die anzahl der clonks und die zweite die geschwindigkeit
achja das ist im falschen thread (scripthilfe wäre der richtige)
Mod: Zumindest in Community ist es sicher falsch. Ein Punkt für karly und *verschieb*
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Clonk mit Flint erschaffen ? Mo Sep 13, 2010 9:23 pm
Also das stimmt schon was LordHelmchen sagt, ja. Dadurch das du einfach so schreibst "SetComDir(COMD_Right() ) (Fehlte übrigens ne Klammer!, denkt der Script, da du kein Objelt angegeben hast, das du den Flint meinst. Deshalb wird die Bewegungsrichtung des Flints stattt die des Clonks verändert. Einfach zu lösen wie LordHemlchen bereits sagte, es gibt auch eine Lösung mit Variablen wenn man mehr als einen Befehl haben will. Ach und übrigens fällt mir auch gerade auf das du die Uralt-Syntax von CP verwendest: In der Neuen "Rechtschreibung" werden Funktionsklammern () statt : gesetzt.
Lösung mit Variablen:
Code:
func Hit(){ var clonk=CastObjects(CLNK,1,1); //CastObject( id, anzahl, geschwindigkeit); clonk -> SetComDir(COMD_Right()); //Dadurch läuft er nach rechts SetColor(RandomX(1,10)); //Durch SetColor kriegt er eine zufällige Farbe
//Weiter Funktionen möglich
return(1); }
karly Hauptman
Anmeldedatum : 13.09.10
Thema: Re: Clonk mit Flint erschaffen ? Mo Sep 13, 2010 11:31 pm
Aha ok , Danke naja wie schon gesagt ich bin Anfänger =( .. Aber eins verstehe ich nicht
CastObjects(CLNK,1,1) (die erste zahl in CastObjects is die anzahl der clonks und die zweite die geschwindigkeit) ich habe gedacht das währe die Position wo der Clonk stehen soll oder ?
naja egal muss noch viel lernen XD
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 14, 2010 12:05 pm
Da kannst du alles nachschauen. Befehl eingeben und da steht dann alles. Welche Zahl wohin muss und so. Ich könnte das ganze noch vereinfachen:
Code:
func Hit() { //mit -> kann man erstellen objekten gleich Befehle zuweisen. CastObjects(CLNK,1,1)->SetComDir(COMD_Right());
return 1; }
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 14, 2010 1:26 pm
Wenn du die Koordinaten in diesen Parametern haben willst, dann ist CreateObject eher das Richtige. CreateObject tut das, was du willst: Es erzeugt ein Objekt an den Koordinaten X (Par1) und Y (Par2). CastObjects dagegen verschleudert Par1 Objekte mit Geschwindigkeit Par2...
Nur zur Info, um dir Ärger mit den Moderatoren zu ersparen: Für farbige Thementitel gibt es häufig einen Punkt.
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 14, 2010 3:29 pm
Farbige Titel sind auf dem CNDG unerwünscht. Ich nehme mal an du wolltest den Titel in der ganz selben Farbe wie die Titel der anderen Topics halten und hast deshalb "Blau" ausgewählt. Richtig wäre "Keine" gewesen. Ich verzeihe das jetzt nochmal, aber achte in Zukunft bitte darauf die Titelfarbe bei der Standardeinstellung "Keine" zu belassen.
karly Hauptman
Anmeldedatum : 13.09.10
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 14, 2010 5:58 pm
ups .. sorry hab nicht gewust das ich dass nicht farbig mache darf .aha okey
danke Bowserkoopa ,ich hab es mir gleich kopiert XD
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 14, 2010 6:05 pm
Ich hab mir schon gedacht, dass du meine Methode nehmen wirst weil sie nämlich die kürzeste ist xD Beachte dann aber, dass du mit -> nur einen einzigen Befehl zuweisen kannst. Du kannst also nicht nach rechts gehn lassen und anschließend ihn nach 3 sekundne springen lassen.
karly Hauptman
Anmeldedatum : 13.09.10
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 14, 2010 6:11 pm
und dar kommt noch ein Fehler
(????:NONE)::Hit[4] direct call ('->') to func "SetComDir": object or id expected!
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Clonk mit Flint erschaffen ? Do Sep 16, 2010 8:23 pm
Ich glaube, das liegt an CastObjects - da CastObjects meist mehrere Dinge verschleudert, kann es gut sein, dass es kein Objekt, sondern einen Array mit allen erzeugten Objekten returnt...
Für deinen Zweck ist CreateObjekt wirklich etwas angemessener - du willst ja nur ein Objekt.
Bin mir nicht sicher, ob es hilft, aber es ist ja einen Versuch wert.
karly Hauptman
Anmeldedatum : 13.09.10
Thema: Re: Clonk mit Flint erschaffen ? Mo Sep 20, 2010 9:35 pm
juhu XD ich hab naja zu mindest kommt er aus seiner Flint raus XD
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Clonk mit Flint erschaffen ? Mo Sep 20, 2010 10:04 pm
Hö? Der Script ist unlogisch und in alte CP Syntax geschrieben.
Patta Großadmiral
Alter : 30 Anmeldedatum : 22.05.09
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 21, 2010 3:38 pm
also, ich vermute mal da wo der smiley steht sollen Klammern sein... trotzdem macht das "FindObject(KNIG return(1)" doch keine Sinn oder? der Ritter wird doch vorher schon erstellt und dank dem "->" müsste das darauf folgende direkt eintreffen. Und, da hat Gamer recht, die Syntax von CP ist wirklich schlimm versuchs mal mit
Code:
func hit() {Anweisungen}
karly Hauptman
Anmeldedatum : 13.09.10
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 21, 2010 5:50 pm
Doch sonnst weis man ja garnicht das der Ritterclonk laufen sol ,kann ja auch irgent was anderes los laufen =) .. deswegen FindObject(KNIG return(1)
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 21, 2010 7:07 pm
oO Wer hat dir das erzählt? Richtungsanweisungen geben kann man nur mit SetComDir() machen.
Wenn du nur einen Flint machen willst aus dem ein Ritterclonk rauskommt der nach rechts läuft reicht dieser Script:
also wenn ich schreibe CreateObject(KNIG,230,245,-1)
kann ich das auch durch CreateObject(KNIG,GetX(),GetY(),-1) ersetzen oder wie ?
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 21, 2010 9:21 pm
Zitat :
Und kein Int, Wipfmagus.
Entweder bin ich grad ziemlich blind oder er hat das überhaupt nicht behauptet Oo.
Was der TE wollte, war ca sowas (kb ob das jetzt schon gepostet wurde, zu faul nachzuschauen x)):
protected func Hit() { SetComDir(COMD_Right, CreateObject(CLNK, 0, 0, GetController())); //Wer ihn geworfen hat, bekommt den Clonk }
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Clonk mit Flint erschaffen ? Di Sep 21, 2010 10:19 pm
Ich glaube, Gamer hat "Variable" mit "Zahl" gleichgesetzt.
Ich meinte aber mit einer Variable in diesem Fall einfach... einen Datenspeicher, in den man eine Zahl, ein Objekt, eine ID, einen String oder sonstwas stecken kann. (any) Was man eben mit var, local oder static deklariert.
karly Hauptman
Anmeldedatum : 13.09.10
Thema: Re: Clonk mit Flint erschaffen ? Mi Sep 22, 2010 2:10 pm