Thema: NoBurnDamage geht nicht Mi Jan 27, 2010 1:16 am
Ich hab einen Clonk erschaffen und bei der DefCore folgende Zeile hinzugefügt:
NoBurnDamage = 1
Aber der Clonk bekommt immernoch schaden, wenn ich in die Lava spring.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 2:24 pm
Das geht allerdings anders mit dem anbrennen. Damit er in der Lava nicht brennt, und auch allgemein nicht brennen kann, muss man in der DefCore nur ContactIncinerate=0 reinschreiben
Capueiraclonk Oberst
Anmeldedatum : 26.04.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 3:03 pm
Er soll ja brennen, aber keine schaden bekommen. und wenn es mit NoBurnDamage nicht geht, was bringt dann NoBurnDamage?
edit: Wenn ich ContactIncinerate=0 schreib, dann brennt er trotzdem.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 3:21 pm
Das wird dann leider nicht so einfach gehen, da beides aneinander gekoppelt ist :S Per Appentdo(Effekt oder Timer) könntest du immer überprüfen ob der Clonk brennt, und wenn ja, dann soll er einfach den Lebenswert auf den derzeitigen setzen. so siehts dann aus, als würde er brennen aber keinen Schaden erleiden
EDIT: Hab im Bowser nachgeschaut: Es müsste NoBurnDecay=1 in der DefCore sein.
Capueiraclonk Oberst
Anmeldedatum : 26.04.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 4:03 pm
wie veil leben zieht das Feuer denn ab?
edit: ich hab NoBurnDecay in der DefCore.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 4:18 pm
Das müsste jetzt eigentlich gehen, außer du hast noch irgendwelche alten Einträge in der DefCore. Das Feuer zieht glaub 5 oder weniger Leben ab.
Capueiraclonk Oberst
Anmeldedatum : 26.04.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 4:36 pm
'alte Einträge' Ich hab das DefCore vom normalen Clonk und ContactIncinerate. Aber es geht nicht.
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 6:39 pm
Okay, NoBurnDecay wird wenig nützen, das ist nur dazu da das Gebäude nicht abbrennen. Aber ich hab nen geistreicheren Vorschlag: Füge den Script in deinen Clonk ein:
Code:
func Incineration() { Extinguish(); }
Dann wird er einfach gelöscht sobald er anfängt zu brennen, sprich er brennt einfach nicht.
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 6:44 pm
:I er will aber so viel ich gelesen hab dass der clonk brennt aber keinen schaden nimmt
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 6:57 pm
Verdammt, du hast recht. Dann sollte NoBurnDamage eigentlich das richtige sein aber der DefCore eintrag hat nicht den Effekt welcher in der Doku beschreiben ist. NoBurnDecay muss trotzdem stehen bleiben soweit ich weiß. Dann musst du wohl einen Timer/Effekt/ActionCall machen der den Clonk, ínsofern er brennt, um den Brandschaden heilt oder die Flammen irgendwie simulieren.
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 8:05 pm
Es KANN nur NoBurnDamage sein.
Zitat :
NoBurnDamage Integer 0 oder 1. Bei 1 wird dem Objekt kein Schaden zugefügt, wenn es brennt.
Wenn das nicht geht ist dein Clonk am Ars.. kauput.^^ Und wenn du es hingeschriebn hast mach die LEERZEICHEN raus, vlt. ist das ja der Fehler.
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 10:26 pm
NoBurnDecay=1 macht nicht das der Clonk keinen Schaden nimmt, sondern das er nicht kleiner wird wie andere Objecte(Holz). Ist dieser Eintrag nicht gegeben wird das Object gleich wie mit DoCon() kleiner.
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 10:43 pm
Also lügt die Doku? :O Was könnte man denn sonst erwenden, wenn nicht das?
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: NoBurnDamage geht nicht Mi Jan 27, 2010 10:53 pm
@Toast: Soweit war ich inzwischen auch schon gekommen :S
NoBurnDecay sorgt ja dafür das der Clonk nicht kleiner wird wenn er brennt. Aber NoBurnDamage soll ja dafür sorgen das er keinen Schaden nimmt, aber der Eintrag geht auch bei mir nicht. Der Clonk stirbt dennoch. Und da, nur da liegt das Problem. NoBurnDamage tut nicht wie in der Doku beschrieben.
Capueiraclonk Oberst
Anmeldedatum : 26.04.09
Thema: Re: NoBurnDamage geht nicht Do Jan 28, 2010 1:06 am
Okey, ich hab das mit dem Heilen probiert. und zwar mit einer Aktion. Solange die Aktion andauert(also immer) wird nachgeschaut ob das Objekt brennt. Wenn ja, dann bekommt er 10 Leben dazu.
Jetzt verliert er in jedem Frame 1 Leben, und in jeder Sekunde bekommt er 10 Leben dazu. Das schaut scheise aus.
Kennt ihr einen ausweg?
p.s. Ich kann nicht die Frames zwischen den Aktionen verkürzen, da sonst der Clonk Irre schnell läuft, Klettert, schwimmt, Baut.
Umezawa Feldmarschall
Alter : 29 Anmeldedatum : 30.12.08
Thema: Re: NoBurnDamage geht nicht Do Jan 28, 2010 6:06 pm
Schau mal in der Effekt-Doku nach, da gibt es ein Callback Fx*Damage. Wenn iCause 2 ist, returnst du 0, sonst iDmgEngy.
Capueiraclonk Oberst
Anmeldedatum : 26.04.09
Thema: Re: NoBurnDamage geht nicht Fr Jan 29, 2010 2:39 pm
kannst du mir bitte diesen teil des scripts schreiben? Ich weis nicht wie das geht.
Hier mein versuch:
//Wenn der Clonk schaden bekommt... if(Fx*Damage = 2){ //Wird die Aktion abgebrochen!O.O return 0; //geht das denn wirklich so? } else { //keine ahnung was da rein kommt. }
Umezawa Feldmarschall
Alter : 29 Anmeldedatum : 30.12.08
Thema: Re: NoBurnDamage geht nicht Sa Jan 30, 2010 8:36 pm
Du must dem Clonk mit AddEffect erstmal einen Effekt erstellen. Dann wird die Funktion mit dem Namen Fx[Effektname]Damage aufgerufen. Diese hat als 4. Parameter den Wert iCause. Und wenn dieser 2 ist (sprich: if(iCause==2)) gibt die Funktion 0 zurück. Danach gibst du einfach den 3. Parameter zurück(falls Cause==2 ist, ist die Funktion sowieso schon beendet).
Versuchs erstmal, wir wollen ja, das du's lernst. Falls es Probleme gibt, meldest du dich einfach nochmal
Capueiraclonk Oberst
Anmeldedatum : 26.04.09
Thema: Re: NoBurnDamage geht nicht Sa Jan 30, 2010 9:35 pm
Danke, ich würde gerne dieses Thema beenden
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: NoBurnDamage geht nicht Sa März 06, 2010 8:28 pm
Bearbeite doch die Funktion Incinerate() für den Clonk, sodass der Clonk automatisch die Energiemenge dazubekommt, die er beim Brennen verlieren würde. Viel Erfolg...
Umezawa Feldmarschall
Alter : 29 Anmeldedatum : 30.12.08
Thema: Re: NoBurnDamage geht nicht Sa März 06, 2010 9:13 pm
Incinerate wird soweit ich weiß nur einmal beim Anzünden aufgerufen. Dannach müsste ein Timer das übernehmen. Und solche Ansätze gabs ja schon.
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: NoBurnDamage geht nicht Sa März 06, 2010 9:31 pm
Wie wäre es dann mit einer Incinerate-Funktion, die dann die FLAM-Flammen in "Pseudoflammen" umwandelt, die nichts machen außer wie Flammen aussehen, und dann Extinguish aufruft?
Pitri Feldmarschall
Alter : 30 Ort : Karlsruhe Anmeldedatum : 02.03.09
Thema: Re: NoBurnDamage geht nicht Sa März 06, 2010 11:40 pm
Wipfmagus schrieb:
Wie wäre es dann mit einer Incinerate-Funktion, die dann die FLAM-Flammen in "Pseudoflammen" umwandelt, die nichts machen außer wie Flammen aussehen, und dann Extinguish aufruft?
Ich schätze schon, dass es echtes Feuer sein soll. Hier der Script zum Effekt:
Code:
func Incineration() { AddEffect("Burn",this(),100,1,this()); //Effekt starten return(1); }
Die Funktion wird jeden Frame während es brennt aufgerufen. Da Effekt kaum Performance zieht geht das, außer du kaufst ein paar tausend Clonks! Beim XXX soll so viel rein, wie Feuer pro frame schadet.
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: NoBurnDamage geht nicht Sa März 06, 2010 11:46 pm
Achso... also hatte ich bei meinem ersten Ansatz nur Incinerate() und Incineration() verwechselt?
Killer Zap Brigadegeneral
Alter : 29 Anmeldedatum : 21.02.10
Thema: Re: NoBurnDamage geht nicht So März 07, 2010 10:21 pm
Wie wahre en denn mit BurnDamage=0 an Steel von NoBornDamage=1