Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 6:18 pm
sry für überschrift mir fällt einfach nichts ein -.-
also... das script
/*-- Neues Objekt --*/
#strict
local Caller
func Activate(object pCaller) //laut clonk müste da hiter dem func nen , und keine (LEERSTELLE) sein aaaber soweit ich weis is das nicht richtig :/ { Caller == pCaller; CreateMenu(GetID(this()),pCaller); AddMenuItem("Bausatzmachn",Bausatz(),GENT); AddMenuItem("Leitungsbausatzmachn",Leitungsbausatz(),GENT); }
ERROR: ',' or ';' expected, but found identifier (Mein Zeug.c4d\Bau-LeitungsbauSatz.c4d\Script.c:7:5)
Ich bitte um hilfe
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 6:22 pm
Hinter local Caller ein Semikolon.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 6:30 pm
oh öh ja darauf wär ich nich gekommen thx
und juchu...nochn fehler Das Menü geht jetzt zwar auf aber es is leer und es steht nirgendwo was von fehler oder so auch bei dem ding wo die fehler immer stehn(sry hab irgedwie namen vergessen^^) is auch nichts nur was von meinem anderem object das noch nicht fertig is
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 6:36 pm
Bei AddMenuItem als 4.Parameter pCaller und der zweite Parameter muss ein string sein als "Bausatz" anstatt Bausatz() sowas sollte normalerweise eine Fehlermeldung geben.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 6:47 pm
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 7:25 pm
es geht juchu!^^ aaber ich glaub ich habn fehler gemacht :/ eigentlich wollte ich ja das das ding die objecte im clonkinventar erschafft und hab gedacht das pCaller der Clonk is der das objekt benutzt wie sorg ich dafür das der clonk das objekt bekommt?
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 8:08 pm
Du musst Caller als Funktionsparameter von "Bausatz()" und "Leitungsbausatz()" angeben:
aber es erschafft die sagen immernoch im objekt und nicht im clonk auserdem hab ich gerade gemerkt das ich CNKT da stehen hatte wo LNKT hinmuss aber doe sachen tauchen immernoch im obect auf :7
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 8:26 pm
und ich habe NOCH einen Fehler entdeckt. Caller == pCaller; ist falsch. Mit "==" VERGLEICHT man 2 Werte. Du willst glaube ich aber einen Wert ZUWEISSEN. Dafür statt "==" einfach nur "=" schreiben!
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 8:32 pm
Wenn das Zeug immer noch nicht um Clonk erzeugt wird, nimm am besten
So wird der Bausatz/Leitungssatz im Inventar des aktiven Clonks des Besitzers erzeugt.
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 8:35 pm
Die Menünweisungen (zB "Bausatz"), kann man nicht einfach mit Parametern spicken. Die Anweisungen werden per eval ausgewertet, und das lange nach dem Frame, in dem das Menü erstellt wird. Bis dahin ging die Information, was die Funktionsvariable "pCaller" bezeichnet, im Datennirvana unter, und es gibt eine Fehlermeldung.
Es gibt nun 3 Möglichkeiten: 1. Möglichkeit: Als Anweisung Format("Bausatz(%d)", ObjectNumber(pCaller)) Dann muss es natürlich Bausatz(int iObj) heißen, da die Objektnummer übergeben wird (Objekte übergeben funktioniert nicht!) und die Nummer muss per Object(iObj) ins Objekt zurückverwandelt werden.
2. Möglichkeit: Man beachte, was auf der Doku-Seite zu AddMenuItem steht:
Zitat :
Wird als szCommand-Parameter nur ein Funktionsname angegeben, werden folgende Parameter übergeben: idItem, iParameter
iParameter ist der 6. Parameter von AddMenuItem. Also kannst du es auch folgenderweise machen: AddMenuItem("Leitungsbausatzmachn", "Leitungsbausatz", GENT, pCaller, 0, pCaller); Wie du es hattest, nur am Ende noch mit 0 (unwichtig) und pCaller (wird übergeben). Und die aufgerufene Funktion: func Bausatz(id notused, object pCaller) als 1. Parameter wird ja die ID übergeben, die interessiert aber nicht.
3. Ähnlich wie 2. allerdings kannst du damit Bausatz() und Leitungsbausatz() zusammenstecken, da sie prinzipiell sowieso das Gleiche tun. Du nimmst als Menükommando bei beiden "Bausatz", aber als angegebene ID dahinter CNKT bzw LNKT. Die wird ja schließlich auch übergeben. Also:
Übrigens, gewöhn dir an, nach Kommas Leerzeichen zu setzen. Dient der Übersichtlichkeit. Und die Klammern nach this() sind überflüssig, this tuts auch.
Edit: Omg, ich sollte korrekturlesen vorm Absenden, wirklich..
Zuletzt von Limeox am Di Mai 11, 2010 8:39 pm bearbeitet; insgesamt 4-mal bearbeitet
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 8:36 pm
ah jetzt geht es hatte das tut falsch verstanden aber ist es eigentlich auch möglich ein Objekt zu machn das eine konsole öffnet wo man dann den namen des zu erschaffenen objekts eingibt und das dann erstellt wird?
ach hab ganz vergessen Wipfmagus und Gamer zu danken.DANKE EUCH!
@Limeox äh ich versuch mal da durchzusteigen schön das ihr euch soviel mühe gebt um (<---typen die vom skripten kaum ahnung habn) zu helfen
Zuletzt von Darth122 am Di Mai 11, 2010 8:41 pm bearbeitet; insgesamt 1-mal bearbeitet
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 8:37 pm
Ja klar. z.B Beim SGGP oder SGU/SGC Pack gibts beim Stargate wo ein Feld wo man Gatenamen eingeben muss und wenns das Gate mit dem Namen gibt dann wirds angewählt. Wir hatten auch irgentwo ein Thema davon..
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 8:58 pm
Naja bei dem stargateanwählscript steig ich irgendwie nicht durch kann mir wer erklären wie ich das mit eingeben und einfügen mache?
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 9:06 pm
Die Basis zum Erstellen von "dem mit eingeben" sollte dir dieses Tutorial liefern.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 9:22 pm
hm.. soweit ich verstanden hab muss ich dann aber jeden namen extra eintragen und ich hatte eher vor sowas wie bei asgardmaterieconverter(ausmSGGP) zu machn wo man was eingibt das script kontrolliert obs das eingegebene object auch gibt und das es es dann erstellt
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 9:27 pm
Nein, bei AddMsgBoardCommand kann man auch allgemeine Befehle erstellen, indem man Parameter angibt. Das Ganze geht mit Platzhaltern und so - ähnlich wie bei StringTbl**.txt.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 10:28 pm
aber kann ich das dann auch so machn das ich mit meinem clonk mit dem objekt im inventer doppel graben drück dann das msgboard aufgeht, ich da was eingebe und das dann in meinem inventar landet? sry das script is zu kompliziert für mich das einzige was ich daran verstehen is das ich zb. ne system.c4g mit ner datei namens msgboard drin machn kann und dann func AddMsgBoardCmd ("WUSCH", "while(FindObject()) RemoveObject(FindObject())"; reinschreib das dann ingame eingebe und mich freu das alles wech is
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 10:42 pm
Das müsste gehen.
CallMsgBoard(pTarget, bool, szText, iPlr); pTarget -> Dort wird der Callback aufgerufen bool -> keine Ahnung was der macht. szText -> wird neben dem Eingabefeld angezeigt (zb "ID eingeben") iPlr -> bei dem Spieler wirds geöffnet
Wenn der Spieler was eingibt, wird die Eingabe an die Funktion InputCallback() im Objekt pTarget übergeben. Ich schuster den Script ma ausm Kopf zusammen, kb das auszutesten^^
Edit: Funktioniert jetzt, habs getestet. Allerdings sagt er mir die ganze Zeit "insufficent access level" - keine Ahnung, was das soll. Aber es funktioniert. Edit2: Ah. 'private' mag er nicht, muss schon protected sein x)
Zuletzt von Limeox am Di Mai 11, 2010 10:49 pm bearbeitet; insgesamt 1-mal bearbeitet
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 10:49 pm
ERROR: unknown identifier: CallMsgBoard (in Activate, Bau-LeitungsbauSatz2.c4d\Script.c:8:14) ERROR: ')' expected, but found identifier (in InputCallback, Bau-LeitungsbauSatz2.c4d\Script.c:11:38)
schade
oh du hast editiert
es geht und das beste is das ichs auch endlich verstanden hab und nicht nur STRG+C und STRG+V benutz
Zuletzt von Darth122 am Di Mai 11, 2010 10:53 pm bearbeitet; insgesamt 1-mal bearbeitet
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 10:50 pm
Darth122 schrieb:
ERROR: unknown identifier: CallMsgBoard (in Activate, Bau-LeitungsbauSatz2.c4d\Script.c:8:14) ERROR: ')' expected, but found identifier (in InputCallback, Bau-LeitungsbauSatz2.c4d\Script.c:11:38)
Edit: Funktioniert jetzt, habs getestet. Allerdings sagt er mir die ganze Zeit "insufficent access level" - keine Ahnung, was das soll. Aber es funktioniert. Edit2: Ah. 'private' mag er nicht, muss schon protected sein x)
Zitat :
oh du hast editiert Smile
Zu spät. xD
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Di Mai 11, 2010 10:57 pm
geht es eigentlich auch das ich den namen und nicht die id eingebe und dann mein tolles neues object kommt?
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Mai 12, 2010 12:47 am
Das würde nur gehen, wenn man einen Identifikationsarray o. ä. für Namen und IDs erstellt. Denn eine ID ist eindeutig zugewiesen, ein Objektname jedoch nicht. Daher kann man generell nicht einfach den Namen einer Objektdefinition angeben, denn theoretisch kann es 5 Objektdefinitionen namens "Lore" geben, und dann weiß die Engine nicht mehr weiter.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Mai 12, 2010 2:50 pm
öhm >es geht Smile und das beste is das ichs auch endlich verstanden hab und nicht nur STRG+C und STRG+V benutz Very Happy
ERROR: ',' or ')' expected, but found '{' (in InputCallback, Bau-LeitungsbauSatz22.c4d\Script.c:12:66) ERROR: unknown identifier: pCaller (in InputCallback, Bau-LeitungsbauSatz22.c4d\Script.c:12:30)
Gesponserte Inhalte
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding
Clonk schreibt komische sachen bei meinem objekte erschaffding