Hallo das ist mein erstes object und ich komme nicht weiter kann mir jemand helfen? Es soll eine bombe werden wo man die Explosion einstellen kann hier der script:
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Meine bombe Sa Jul 25, 2009 4:45 pm
Hi und willkommen im Forum.
Ersteinmal: Das ist die alte Syntax. (Syntax = "Grammatikregeln") Zwar hast du "#strict" gemacht, aber die Funktinosdeklaration ist veraltetet. "Activate:" Alte (CP und früher) Syntax "func Actiavate(object pClonk) { ... }" (CE & CR)Neue Syntax. So würde dein Script in der normalen Syntax heißen:
Aber ich versteh nicht wie du auf die Parameter gekommen bist. Und zwar von CreateMenu Und üerhaupt was ist dein Problem? Funktionert es einfach nicht oder wie?
fabianx2 Fähnrich
Anmeldedatum : 25.07.09
Thema: Re: Meine bombe Sa Jul 25, 2009 8:06 pm
es öffnet nicht das 2. menu Es kommt immer
ERROR: call to "CreateMenu" parameter 2: got "int", but expected "object"! by: Activate(Adalbert #73) (obj Atombombe #74) (Test.c4s\Atombombe.c4d\Script.c:5)
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Meine bombe Sa Jul 25, 2009 9:01 pm
Also einfach "CreateMenu(10, Par(0), this());" zu "CreateMenu(10, this(), this());" ändern, dann ist der 2te Parameter Fehler weg. Und vlt. noch "AddMenuItem("Stärke erstellen","Count",KOFF,Par(0));" zu "AddMenuItem("Stärke erstellen","Count",KOFF,this());" ändern. Das obrige sollte dann auch imperatoerchen's Frage beantworten, wie Count aufgerufen wird.
imperatoerchen Brigadegeneral
Alter : 29 Ort : Ebersberg Anmeldedatum : 23.03.09
Thema: Re: Meine bombe Sa Jul 25, 2009 9:08 pm
Dann wird das menu aber in dem object aufgerufen und nicht im Clonk (ja ich vermute zwar auch das es sonst auch geht, aber ich hab grad son schönen beitrag geschrieben)
Du könntst bei func Count noch als ersten Parameter reinschreiben in wem sich das Menu erstellen soll und zwar als object [...], oder statt Par(0) this nehmen da Par(0) den ersten Parameter abfragt, aber wenn keiner definiert ist gibts Probleme. Bei func Activate ist schon als ersten Parameter object pByObj vorgegeben, deshalb funktioniert es da. Oder du packst das object pByObj von Activate in ne locale Variable und nimmst es hier wieder her.
fabianx2 Fähnrich
Anmeldedatum : 25.07.09
Thema: Re: Meine bombe Sa Jul 25, 2009 9:36 pm
mit this() geht es nicht weiß jemand eine lösung??
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Meine bombe So Jul 26, 2009 1:47 pm
Also bei Menüs im Clonk braucht man immer noch 'caller'. Also mein entworfenen Bowser und Drakos brauchens zumindest. Versuchs mal so:
Damit kann man Zeiten angeben, bis das nächste ausgeführt wird. Also machst du eine Funktion die nur die Zahl 10 ausgibt. Nach 36 Frames kommt die nächste Funktion die 9 ausgibt. Solange bis 0 und dann machts KAWUMM! Du kannst dann es natürlich noch profesioneller machen und Locals nutzen(Einfach immer geltende Variablen) Das würde schreibarbeit sparen.
if (Checker <= 1) Explode(50); else Explode(10);
davor macht man noch, dass das erste Menü noch die Local auf 1 setzt( Checker==1) und Menüauswahl 2 setzt die Local auf 1(Checker==0)
Davor sollte noch jemand aus dem CNDG das besser überprüfen, weil ich Operatoren nicht mein Gebiet sind
fabianx2 Fähnrich
Anmeldedatum : 25.07.09
Thema: Re: Meine bombe Di Jul 28, 2009 9:46 pm
ok danke es geht aber wie kann ich die explosions form ändern???