CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


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

 

 Imunität Gegen Explosionen

Nach unten 
4 verfasser
AutorNachricht
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyFr Feb 12, 2010 7:28 pm

Ich programmiere Gerade eine art Versuchsclonk und Habe deshalb die frage wie man einen Clonk Immun Gegen Explosionen Machen kann.

mfg
AgentR
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyFr Feb 12, 2010 9:18 pm

Lies dir mal die Effektdoku durch. Fx*Damage ist ein Callback, der bei Schaden aufgerufen wird. Hier kannst du:
1. Die Schadensart abfragen
2. Bei Schaden durch Explosion den Schaden verhindern
3. Die Explosionskräfte rückgängig machen, sprich die Geschwindigkeit des Clonks auf 0 setzten

Ich weiß, die Effektdoku ist sehr lang, aber sie ist gut erklärt und Effekte sind beim skripten sehr nützlich. Und wenn du irgentwas nicht verstehst, kannst du ja nochmal nachfragen.
Nach oben Nach unten
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptySa Feb 13, 2010 5:49 pm

Ok Danke ich hab mir dass mal durchgelesen aber ich verstehe dass noch nicht so ganz.

Ich würde Dass So machen

protected func initzialise()
{
AddEfect(keine ahnung was hier hingehört);
}

protected func FX_Call_DmgBlast(keine ahnung was hier hingehört)
{
//keine ahnung was hier hingehört
}

Wäre dieses Grundgerüst So richtig (ich weis dass da Rechtschreibfehler drin sind) und was muss ich für "keine ahnung was hier hingehört" schreiben.

Mit freundlichen Grüßen
AgentR
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptySo Feb 14, 2010 9:06 pm

AddEffect(string szEffectName, object pTarget, int iPrio, int iTimerIntervall, object pCmdTarget, id idCmdTarget, any var1, any var2, any var3, any var4)

szEffectName: Ein Name für den Effekt, z.B. "AntiExplosion"
pTarget: Das Objekt, das mit dem Effekt belegt werden soll. Hier der Clonk selbst, also this()
iPrio: Die Priorität. Nimm 100 oder so, ist momentan noch nicht so wichtig
iTimerIntervall: In diesen Abständen wird die Funktion Fx[Effektname]Timer aufgerufen. Wenn du diese nicht vorgibst, ist das die Zeit, die der Effekt andauert. Hier 0, damit der Effekt erst gelöscht wird, wenn der Clonk weg ist.
pCmdTarget/idCmdTarget: Objekt/ID, in dem die Callbacks aufgerufen werden. Hier setzt du pCmdTarget auf this(), denn die Callbacks werden in diesem Clonk getätigt.
var1-4: Zusätzliche Parameter. Wird hier nicht gebraucht



Und zum Callback:

Code:
protected func Fx[Effektname(obiges Beispiel: "AntiExplosion")]Damage(object pTarget, int iEffectNumber, int iDmgEngy, int iCause)
{
  //iCause gibt gen Grund an
  if (iCause=FX_Call_DmgBlast){
  SetXDir(0, pTarget);//pTarget gibt das Objekt an,
                      //das von dem Effekt betroffen ist
  SetYDir(0, pTarget);//Die Geschwindigkeit auf 0 setzten,
                      //um Wegschleudern zu verhindern
  return (0);//Der zurückgegebene Wert gibt den Schaden an, der durchkommt
  }
  return(iDmgEngy);//iDmgEngy gibt den Schaden an,
                    //der normalerweise durchkommt
}
Nach oben Nach unten
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 12:03 am

Also ich habe Dass jetzt so in mein Script eingebaut funktioniert aber nicht


Spoiler:


mfg
AgentR
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 11:33 am

Die [] und "" müssen weg, die hatte ich nur als Zeichen gemacht, das hier was eingesetzt werden muss.

Und bei AddEffect musst pCmdTarget oder idCmdTarget angeben. Da die Aufrufe nur bei vorhandenem Objekt gemacht werden(Wenn der Clonk nicht mehr da ist, brauchst du ihn auch nicht mehr vor Explosionen schützen), würde ich hier nur das Objekt angeben.
Nach oben Nach unten
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 3:37 pm

Also ich habe dass was ich davon verstanden habe geändert aber es funktioniert immer noch nicht. Könntest du evtl. versuchen dass script eben so umzuschreiben dass es funktioniert?

Mit freundlichen Grüßen
AgentR
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 5:35 pm

Gibts irgentwelche Errors?

Die betroffenen Zeilen wären:

AddEffect("AntiExplosion",this(),100,0,this());

und

protected func FxAntiExplosionDamage(pTarget,iEffectNumber,iDmgEngy,iCause)
Nach oben Nach unten
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 6:53 pm

Beim Starten kommt immer "Error:Syntax Error..."

Spoiler:

mfg
AgentR
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Vadim_Rodin
Kadett
Kadett
Vadim_Rodin


Männlich Alter : 26
Ort : Scheer
Anmeldedatum : 19.01.09

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 7:04 pm

hast du auch den effekt?
Nach oben Nach unten
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 8:03 pm

Dass untere ist doch der effekt.
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Vadim_Rodin
Kadett
Kadett
Vadim_Rodin


Männlich Alter : 26
Ort : Scheer
Anmeldedatum : 19.01.09

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 9:10 pm

ja aber als objekt
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 9:35 pm

Effekte müssen doch in kein Objekt?
Nach oben Nach unten
http://www.gamer95.npage.de/
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 9:48 pm

Wohin denn?
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 11:29 pm

Effekte müssen in ein Objekt oder eine Definition. Welches das ist, wird ja in AddEffect mit pCmdTarget bzw. idCmdTarget angegeben. Hier ist dieses Objekt ja der Clonk selber, aber man könnte es auch in ein Extraobjekt packen, wenn man Spass daran hat, unnötige Objekte zu erstellen und so das Spiel zu verlangsamen, IDs zu verschwenden und den Code unübersichtlicher zu machen.
Nach oben Nach unten
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 11:31 pm

Also kann man den effekt auch einfach in das Script des Clonk schreiben?
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Vadim_Rodin
Kadett
Kadett
Vadim_Rodin


Männlich Alter : 26
Ort : Scheer
Anmeldedatum : 19.01.09

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 11:43 pm

ne z.B ich hab hier nen Gift Effekt:
http://rapidshare.com/files/351079413/Gift.c4d

und dann Der Script von z.B einem BonBon
Code:
/*-- Gift Bonbon --*/

#strict

func Initialize() {
 
  return(1);
}

protected func Initialize()
{
  /* Allerdings sind graue Bonbons doof. Deswegen färben wir das nun ~Braun.
  Mit Hilfe von SetClrModulation und dem passendem RGB-Wert (eine Farbangabe) geht das ganz einfach. */
  SetClrModulation(RGB(51,255,0));
}

public func Activate(object pClonk)
{
  /* Wir schenken dem Clonk etwas Energie.
  Der erste Parameter gibt die Veränderung des Energiewertes an und der zweite das Objekt, in das die Energie gestopft werden soll. */
  DoEnergy(100,pClonk);
 
  //es wäre schöner wenn ein paar Grüne partikel rauskommen ;)
  CastParticles("PSpark", 50, 40, 0, 0, 50, 70, RGB(4,255,36), RGB(4,255,36));

  //Der Gift Effekt
  AddEffect("Gift",this(),100,0,this());


  // Wir geben beim Clonk einen Sound aus, der sich "ClonkMunch" nennt. Damit man erkennt, dass das Bonbon dem Clonk geschmeckt hat :).
  Sound("ClonkMunch",0,pClonk);
 
  // Danach entfernen wir das Bonbon. Schließlich kann man es nur einmal essen.
  RemoveObject();

  // Und return halt.
  return(1);
}
Nach oben Nach unten
AgentR
Hauptman
Hauptman



Männlich Anmeldedatum : 31.01.10

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 11:51 pm

Und wo ist jetzt der Efekt Gift?
Nach oben Nach unten
http://agentr.hat-gar-keine-homepage.de
Vadim_Rodin
Kadett
Kadett
Vadim_Rodin


Männlich Alter : 26
Ort : Scheer
Anmeldedatum : 19.01.09

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyMo Feb 15, 2010 11:55 pm

soso ich hab des jetz ganz Geändert....
ich hab des jetzt zu einen lavaImmunitätbonbon gemacht.

Code:
/* Feuerimmunitätszauber */

#strict

public func Activate(pCaster, pCaster2)
{
  // Zauberer ermitteln
  if (pCaster2) pCaster = pCaster2;
  // Magie kann man hören, ganz klar ;)
  Sound("Magic*");
  // Effekt starten
  AddEffect("BanBurnPSpell", pCaster, 180, 1111, 0, GetID());
  // Fertig - das Zauberobjekt wird nun nicht mehr gebraucht
  return(RemoveObject());
}

protected func FxBanBurnPSpellStart(pTarget, iEffectNumber, iTemp)
{
  // Beim Start des Effektes: Clonk löschen, wenn er brennt
  if (!iTemp) Extinguish(pTarget);
  return(1);
}

protected func FxBanBurnPSpellEffect(szNewEffect, iEffectTarget, iEffectNumber, iNewEffectNumber, var1, var2, var3)
{
  // Feuer abblocken
  if (WildcardMatch(szNewEffect, "*Fire*")) return(-1);
  // Alles andere ist OK
  return();
}
so sollte es eigentlich ein Effekt Flint oder sonst was auch immer aussehen
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen EmptyDi Feb 16, 2010 6:57 pm

Ich hab das hier jetzt so verstanden, das eine neue Sorte von Clonks erstellt werden sollte, die von vornherein vor Explosionen sicher sein soll, da in seinem Script ja in Initialize der Magieskill zurückgesetzt wurde, was halt im Clonkscript vorkommt (falls du dies erhalten willst, musst du da übrigens die ID ändern).Da wird der Effekt dann halt direkt im Clonk erstellt.

Falls der Effekt durch ein Bonbon oder ähnliches aktiviert werden soll, hast du Recht, dafür brauch man natürlich eben dieses Objekt, das den Effekt aktiviert.
Nach oben Nach unten
Gesponserte Inhalte





Imunität Gegen Explosionen Empty
BeitragThema: Re: Imunität Gegen Explosionen   Imunität Gegen Explosionen Empty

Nach oben Nach unten
 
Imunität Gegen Explosionen
Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Anfragen-
Gehe zu: