Alter : 27 Ort : Schweiz/Baselland Anmeldedatum : 23.02.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding So Mai 23, 2010 12:26 pm
ich dachte da muss ZAUBERID=1 stehen Edit: ne du hast recht da muss 0 stehen
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding So Mai 23, 2010 12:44 pm
und schonwieder hab ich nen Problem... ich hab ein Objekt gemacht das ein chatfenster öffnet indas man eine ID schreibt daraufhin werden alle Objekte mit dieser ID gelöscht...es hat auch funktioniert aber ich habe gerade gemerkt das wen man nichts eingibt und einfach nur enter drückt alles gelöscht wird aber ich weis nicht wie ich das verhindern soll da else if(ID = ){....} nicht funktioniert
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding So Mai 23, 2010 1:22 pm
Wird wohl so sein, da du RemoveAll() benutzt, und wenn man dort die Klammer leer lässt, verschwindet eben alles. Lösung: if (!ID) return; Das heißt: Keine ID -> Abbrechen Du könntest sicherheitshalber noch vor dem Löschen prüfen, obs tatsächlich eine ID ist, sonst gibts evtl Fehlermeldungen. if (GetType(ID) != C4V_ID) return;
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Fr Mai 28, 2010 3:20 pm
der sagt mir irgendwas mit ( expectet but found ) (in eval .....) aber soweit ich das seh fehlt da keine ( oder?
Zeilenangabe gabs net da ich das ingame ausprobiert hab und der mir da was mit 0 61 sagt wo normalerweise die zeilenangabe steht :/ ka ob das eine sein soll...
und "CClonk" und "Starke" sind beide im teil des script deklariert den ich nich gepostet hab weils ja eh nur um den einen teil geht
ooops gerade gemerkt das der fehler woanderst liegt
aber es is gleich ein neuer da^^ (hab das script etwas verändert)
func Start() { if(Stark == 0) { Message("Du must noch die Stärke einstellen...", CClonk); } else { Schedule("Format(\"LaunchVolcano(GetX(CClonk), 0, %s,\\\"Lava\\\")\", Stark)", 360, 1); return(1); } }
der fehler:
ERROR: string format placeholder without string by: eval in Leons Objecte.c4d\New.c4d\Script.c (obj Vulkan mach object #105) by: FxIntScheduleTimer(Vulkan mach object #105,1,1440) (obj Vulkan mach object #105) (System.c4g\Helpers.c:130)
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Fr Mai 28, 2010 5:05 pm
Da stehts doch: ERROR: string format placeholder without string
Zahlen brauchen %d.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Fr Mai 28, 2010 5:14 pm
achsoooo thx das wuste ich nich...ich glaub ich hätte den Wiki artikel über Format nochmal lese solln^^
und es geht immernochnet und es kommt keine fehlermeldung(was echt komisch is :O ):
func Starke() { CreateMenu(FXV1, CClonk); AddMenuItem("50 Pixel", "er", ROCK, CClonk); AddMenuItem("100 Pixel", "re", ROCK, CClonk); AddMenuItem("200 Pixel", "fe", ROCK, CClonk); }
func er() { Stark = 50; }
func re() { Stark = 100; }
func fe() { Stark = 200; }
func Start() { if(Stark == 0) { Message("Du must noch die Stärke einstellen...", CClonk); } else { Schedule("Format(\"LaunchVolcano(GetX(CClonk), 0, %d, \\\"Lava\\\")\", Stark)", 250); return(0); } }
wen ich meinen vulkan machn will passiert nichts... auch nach 250 Frames
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Fr Mai 28, 2010 6:16 pm
Möglichkeit 1:
Spoiler:
func Start() { if(Stark == 0) { Message("Du must noch die Stärke einstellen...", CClonk); } else { Schedule(Format("StartVolcano(%d, %d)", GetX(CClonk), Stark), 250); return(0); } }
private func StartVolcano(int x, int strength) { LaunchVolcano(x,0,strength,"Lava"); }
Funktion auslagern und nötige Parameter übergeben.
Möglichkeit 2: Es kommt keine Fehlermeldung, weil nichts falsch ist - aus Sicht der Engine. Du hast einen Fehler beim Schedule. Schau dir mal an, was verzögert ausgeführt wird: Schedule("Format(\"LaunchVolcano(GetX(CClonk), 0, %d, \\\"Lava\\\")\", Stark)", 250); -> Verzögert: Format(...) Format gibt einen String zurück, und dabei bleibts auch. Da steht dann in einer Zeile "LaunchVolcano(100, 0, 100,\\\"Lava\\\")"; Damit fängt die Engine nichts an. Die Anführungszeichen vor und hinter der Format-Funktion sind überflüssig, weil sie ja selber einen String zurückgibt.
Btw: Nach Activate sollte ein return 1; hin, sonst fängt der Clonk zB an, einen Baum zu fällen.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Sa Mai 29, 2010 12:22 am
So ich hatte gerade einen richtig schönen bedanktext mit allen namen usw geschrieben und sowas und dann bumm PC hängt sich auf... naja alles in allem gings ums bedanken bei Limeox Gamer Toastbrot Bowserkoopa Mr. X undsoweiter und darum das ich meinen ordner mit zeugs hochgeladen hab und den link hier reinstell hab zu jedem script Komments gemacht(das hat schon ne weile gedauert^^) und so... naja hab ich halt gemacht um vielleicht nen paar neuen scriptern etwas zu helfen usw.
ich wollte nurnochmal erwähnen das es ne art hilfe sein soll wen man zb. gerade mit scripten änfangt und man sich mal andere objecte als die in den tut's (die übrigens extreeeeeem hilfreich waren...ich mein das ernst ) ansehen wollen und nicht weil ich hier allen zeigen will was ich fürn toller scripter bin(<----*Sarkasmus* ich bin kein toller scripter^^) naja falls meine objecte zufällig irgendwen interressieren kann er sie ja downloaden und mir bei verbesserungsvorschlängen oder ähnlichem ne PM schickn.Bessere Grafiken kommen noch... wenns euch nich gefällt dann is auch egal ich erwarte ja nicht das das auch nur irgendwer gut findet auserdem fand ichs vieeeel zu schlecht ums hier in die downloadseite zu steckn naja ich hatte das mit dem hochladen eigentlich für nen kumpel gemacht aber naja vielleicht is es ja(wenigstens etwas^^) nützlich. oh verdammt das is lang geworden...
Zuletzt von Darth122 am Mi Jun 16, 2010 4:46 pm bearbeitet; insgesamt 3-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 Mi Jun 16, 2010 4:43 pm
soo... und schonwieder ne fehlermeldung mit der ich wenig anfangen kann... Ich wollt mir sone art Crysis Clonk machn weil mich nen freund danach gefragt hat... ich habs auch soweit hinbekommen nur klappt das mit dem manaabziehen nicht
der teil des scripts:
Spoiler:
func manawech { // zeile 109 ist in meinem script hier if(GetMagicEnergy(this()) >= 1) { DoMagicEnergy(-1, 0); } else { ausmachn(); } return(0); }
der editor sagte: ERROR: '(' expected, but found '{' (in manawech, Darth122's Objecte.c4d\Clonk.c4d\script.c:109:2) das is ja nicht das problem aber nachdem ich es verändert hatte:
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 5:14 pm
Ist der Script für manawech im selben Objekt wie der Clonk, der Mana "wechgezaubert" kriegen soll? Sonst geht es nämlich nicht, da bei func() die Funktion nur objektlokal ist.
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 7:26 pm
Die Datei muss Script.c heißen. Sonst wird sie nicht angenommen (außer im Ordner System.c4g). Ich schließ daraus mal, dass du den normalen Clonk kopiert hast, die Datei Script.c noch drin ist und den Clonk mit script.c um die Zeilen erweitern wolltest? Das funktioniert nicht.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 7:28 pm
ist im clonk drin
nein wollte ich nicht.. äh naja ok ich hab den normalen clonk kopiert aber den inhalt der script.c gelöscht und include CLNK gemacht und dann mein script . aber ich habe die datei script.c nicht umbenannt oder gelöscht oder eine neue erstellt auserdem ist die scriptdatei in meinem clonk großgeschrieben ka warum der editor das klein anzeigt übrigens hab ich auch die ID in CCLK geändert es hat auch alles funktioniert wi es sollte bis ich halt das manaabzeihn eingebaut hab
Zuletzt von Darth122 am Mi Jun 16, 2010 7:40 pm bearbeitet; insgesamt 3-mal bearbeitet
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 7:32 pm
Dann hat der wohl immer noch als ID CLNK? Dann includet er sich selbst, also nichts.
Mach es erstmal als Appendto. D.h. Clonk raus, die Scriptdatei in den Ordner System.c4g schieben (einfach im Szenario erstellen) und darin dann als erstes #appendto CLNK .
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 7:39 pm
naja es als Appandto zu machn hilft nicht wirklich.. erstens will ich ja nen neuen clonk machn und zweitens gibt es den fehler mit manaleer() immernoch
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 8:05 pm
Also du hast einen Clonk mit einer anderen ID und #include CLNK drin? Habs mal testweise gemacht, und es gibt keine Fehlermeldung (wenn man den Kommentar "<-- da sind klammern" rausnimmt).
Poste mal den ganzen script des Clonks (sollte ja nicht viel sein).
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 9:15 pm
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 10:13 pm
Der Fehler liegt bei ScheduleCall(). Als String brauchst du nicht "manawech()", sondern "manawech" ohne Klammern. Übrigens wäre das Ganze über einen Effekt weitaus eleganter gelöst. Der bietet mehr Möglichkeiten und ist angenehmer zu handhaben.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 10:19 pm
es geht
wie würde das denn dann als Effekt aussehen?
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 10:32 pm
Darth122 schrieb:
wie würde das denn dann als Effekt aussehen?
Hm. Als Todesmutiger kannst du dir das mal ansehen: Effekte-Dokumentation Wenn du noch nie mit Effekten gearbeitet hast, ist dein Script eher der falsche Einstieg, da da schon so ziemlich alles zusammenkommt (Start, Timer, Stop, Damage, ...)
Wobei mir einfällt, dass ich eigentlich mal ein Effekte-Tutorial schreiben wollte. :/
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 10:48 pm
>Wobei mir einfällt, dass ich eigentlich mal ein Effekte-Tutorial schreiben wollte. :/
Dann tu das ich versteh nicht wozu man Effekte überhaupt brauch/was ein Effekt ist. Bei der Effekte-Doku versteh ich irgendwie nicht soganz was jetzt ein effekt ist und wieso und weshalb und... *überfordert* :/
hm... nach mehrmaligem Lesen hab ich mir so halbwegs zusammengereimt das ein Effect eine art Varriable ist da beim beispiel der effectvarriable nen wert zugewisen wird ( EffectVar(0, pTarget, iEffectNumber) = GetVisibility(pTarget); ) (speichert soweit ich das erkennen kann die sichtbarkeit des objects in der effectvarriable 0 im Zauber aber ich versteh nicht wozu iEffectNumber gut ist) und fügt diese am ende wieder ein (SetVisibility(EffectVar(0, pTarget, iEffectNumber), pTarget); )
und der normale effekt scheint ne art Timer zu sein... naja ich versuch morgen wieder es zu verstehn
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Mi Jun 16, 2010 11:30 pm
Als Variabelnspeicher kann man sie benutzen, ja. Aber damit ist deutlich mehr möglich. Vor allem Timer sind für vieles interessant. Aber damit lassen sich zB auch Zauber realisieren, die erhaltenen Schaden halbieren (bei Crysis gibts ja afaik auch einen Modus, der die Panzerung erhöht), den Clonk temporär besonders schnell machen (Speedmodus beim Nanosuit?) und weitaus mehr.
Bei dir fiele dann zB das ganze ausmachn() weg, und Mode auch. Da musst du dann nur überprüfen, welcher Effekt gerade aktiv ist. Darüber hinaus kann jeder Effekt (wenn er aktiv ist) quasi ein Statement abgeben, was er von neuen Effekten hält (Fx...Effect). Damit wäre zB ein "Unbrennbar-Modus" auch möglich. Denn Feuer ist auch ein Effekt, und wenn der Unbrennbar-Effekt das Feuer ablehnt, kann der Clonk problemlos durch Waldbrände laufen. Außerdem melden Effekte sich zu Wort, wenn sie gestartet (Fx...Start) oder beendet (Fx...Stop) werden. Vor allem hier ist das nützlich, da jeder Modus besondere Dinge verändert (Sichtbarkeit, Geschwindigkeit, Verteidigung), die beim Start gesetzt und beim Stop entfernt werden. Das ersetzt eben zB das ganze ausmachn().
[Edit: iEffectNumber ist die Effektnummer. Jeder Effekt bekommt, wenn er erstellt wird, eine eindeutige Nummer zugewiesen. ]
Hm. Wollte eigentlich nur erklären, wie komfortabel sich komplizierte Dinge über Effekte regeln lassen, aber das schreckt wohl eher ab. :/
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Do Jun 17, 2010 2:43 pm
Limeox schrieb:
Hm. Wollte eigentlich nur erklären, wie komfortabel sich komplizierte Dinge über Effekte regeln lassen, aber das schreckt wohl eher ab. :/
nein tu es nich zumindest mich nicht... aber ich versteh nicht soganz wie ich mit einem effect zb. alle 12 frames meinem clonk 1 mana geben kann denn wen ich den timer benutze vernichtet sich der effect doch bei timerablauf oder???
EDIT:
hab Fx*Timer übersehn
nochnedit:
hab festgestellt das mir der timer nicht umbedingt weiterhilft
geht sowas überhaupt mit effekten?
imperatoerchen Brigadegeneral
Alter : 29 Ort : Ebersberg Anmeldedatum : 23.03.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Do Jun 17, 2010 5:38 pm
Es gibt doch hier sehr schöne Effekte Tutorials: hier und hier. Fang am besten mit dem ersten an, da wird erklärt was ein Effekt grundsätzlich ist, beim 2. wird auf einige Besonderheiten eingegangen.
Darth122 Oberst
Alter : 28 Ort : Kleines Dorf in deutschland Anmeldedatum : 12.07.09
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding Do Jun 17, 2010 7:02 pm
Ich hab jetzt nen funktionierenden effecttimer aber ich will das eigentlich so machn das der effect nur 1 mal in jedem object sein kann und deswegen hab ich mir folgendes zusammengebaut und an einer sinnvollen stelle in mein script gepackt:
RemoveEffect("ManaregenPSpell", pClonk); //löscht falls schon vorhanden den effect AddEffect("ManaregenPSpell", pClonk, 1, 36); // und erstellt einen neuen
aber es funktionert nicht ich kann den effect beliebig oft stapeln :/ und die engine sagt auch nichts 0 warnings und 0 error
Gesponserte Inhalte
Thema: Re: Clonk schreibt komische sachen bei meinem objekte erschaffding
Clonk schreibt komische sachen bei meinem objekte erschaffding