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

Teilen | 
 

 Clonk mit Flint erschaffen ?

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
karly
Hauptman
Hauptman


Anmeldedatum : 13.09.10

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



_________________
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/
karly
Hauptman
Hauptman


Anmeldedatum : 13.09.10

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

Männlich Alter : 24
Anmeldedatum : 21.12.08

BeitragThema: Re: Clonk mit Flint erschaffen ?   Di Sep 14, 2010 12:05 pm

http://www.clonk.de/docs/de/content.html

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;
}
Nach oben Nach unten
Benutzerprofil anzeigen
Wipfmagus
Konteradmiral
Konteradmiral
avatar

Weiblich Alter : 22
Anmeldedatum : 06.03.10

BeitragThema: 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.
Nach oben Nach unten
Benutzerprofil anzeigen
Extremclonk
Staatsrat
Staatsrat
avatar

Männlich Ort : Am Anti-Spam-Limes
Anmeldedatum : 19.01.09

BeitragThema: 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.
Nach oben Nach unten
Benutzerprofil anzeigen
karly
Hauptman
Hauptman


Anmeldedatum : 13.09.10

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

Männlich Alter : 24
Anmeldedatum : 21.12.08

BeitragThema: 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.
Nach oben Nach unten
Benutzerprofil anzeigen
karly
Hauptman
Hauptman


Anmeldedatum : 13.09.10

BeitragThema: 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!
Nach oben Nach unten
Benutzerprofil anzeigen
Wipfmagus
Konteradmiral
Konteradmiral
avatar

Weiblich Alter : 22
Anmeldedatum : 06.03.10

BeitragThema: 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.
Nach oben Nach unten
Benutzerprofil anzeigen
karly
Hauptman
Hauptman


Anmeldedatum : 13.09.10

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



#strict

Hit:
{CreateObject(KNIG,0,0,0)->SetComDir(COMD_Right(), FindObject(KNIG return(1)Wink
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: Clonk mit Flint erschaffen ?   Mo Sep 20, 2010 10:04 pm

Hö? Der Script ist unlogisch und in alte CP Syntax geschrieben.

_________________
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/
Patta
Großadmiral
Großadmiral
avatar

Männlich Alter : 24
Anmeldedatum : 22.05.09

BeitragThema: 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 Very Happy
versuchs mal mit
Code:
func hit()
{Anweisungen}
Nach oben Nach unten
Benutzerprofil anzeigen http://sites.google.com/site/clonkprojekte/star-wars
karly
Hauptman
Hauptman


Anmeldedatum : 13.09.10

BeitragThema: 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)
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: 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:
Code:
func Hit(){
CreateObject(KNIG,GetX(),GetY(),-1)->SetComDir(DIR_Right());
return(1);
}

_________________
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/
Wipfmagus
Konteradmiral
Konteradmiral
avatar

Weiblich Alter : 22
Anmeldedatum : 06.03.10

BeitragThema: Re: Clonk mit Flint erschaffen ?   Di Sep 21, 2010 8:10 pm

Das "->" bedeutet, das das davor stehende Objekt den danach stehenden Script ausführt.

Und vor dem Pfeil steht ja

Falls du willst, dass der Clonk am Ende per return ausgegeben wird, ist das nötig:

Code:
func Hit(){
var pKnight = CreateObject(KNIG,GetX(),GetY(),-1)
pKnight->SetComDir(DIR_Right());
return(pKnight);
}

Der Ritter wird so direkt beim Erstellen in einer Variable gespeichert, die man dann für weitere Verarbeitung verwenden kann.
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: Clonk mit Flint erschaffen ?   Di Sep 21, 2010 9:02 pm

Nein, CreateObject gibt ein Objekt zurück mit dem dann weitergearbeitet werden kann. oO?
Kann man auch in der Doku nachlesen.
Zitat :
object CreateObject (id id, int iXOffset, int iYOffset, int iOwner);
Das "object" am Anfang bedeut das die die Funktion ein Objekt nach Ausführung zurückgibt.
Und kein Int, Wipfmagus.
*besserwiss*

_________________
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/
karly
Hauptman
Hauptman


Anmeldedatum : 13.09.10

BeitragThema: Re: Clonk mit Flint erschaffen ?   Di Sep 21, 2010 9:19 pm

AHA OKEY

func Hit(){
CreateObject(KNIG,GetX(),GetY(),-1)->SetComDir(DIR_Right());
return(1);

also wenn ich schreibe CreateObject(KNIG,230,245,-1)

kann ich das auch durch CreateObject(KNIG,GetX(),GetY(),-1) ersetzen oder wie ?
Nach oben Nach unten
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: 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
}
Nach oben Nach unten
Benutzerprofil anzeigen
Wipfmagus
Konteradmiral
Konteradmiral
avatar

Weiblich Alter : 22
Anmeldedatum : 06.03.10

BeitragThema: 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.
Nach oben Nach unten
Benutzerprofil anzeigen
karly
Hauptman
Hauptman


Anmeldedatum : 13.09.10

BeitragThema: Re: Clonk mit Flint erschaffen ?   Mi Sep 22, 2010 2:10 pm

aha okey =)
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: Clonk mit Flint erschaffen ?   

Nach oben Nach unten
 
Clonk mit Flint erschaffen ?
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: