Pitri Feldmarschall
Alter : 30Ort : KarlsruheAnmeldedatum : 02.03.09 Thema: Felsbrocken... Do März 04, 2010 6:52 pm Jaja der Felsbrocken den ich
hier schonmal gemacht habe habe ich neu aufgelegt. Aber die Opfer werden nur nach Oben geschleudert. Was hab ich falsch gemacht?
Hier der script vom #include-Modell:
Code: /*-- Kugel --*/ #strict 2 func Initialize() { AddEffect("Rolling",this(),100,1,this()); return(1); } func FxRollingTimer() { var pWalkVictim; var pJumpVictim; if(GetXDir() > 0) { Sound("Earthquake"); SetRDir(iSpeed()); while(pWalkVictim = FindObject(0,-10,-10,20,20,OCF_Living,"Walk")) { if(GetOwner() != GetOwner(pWalkVictim)) ExtraFling(pWalkVictim,XFormel(),-YFormel()); else return(1); } while(pJumpVictim = FindObject(0,-10,-10,20,20,OCF_Living,"Jump")) { if(GetOwner() != GetOwner(pJumpVictim)) ExtraFling(pJumpVictim,XFormel(),-YFormel()); else return(1); } } if(GetXDir() < 0) { Sound("Earthquake"); SetRDir(-iSpeed()); while(pWalkVictim = FindObject(0,-10,-10,20,20,OCF_Living,"Walk")) { if(GetOwner() != GetOwner(pWalkVictim)) ExtraFling(pWalkVictim,XFormel(),-YFormel()); else return(1); } while(pJumpVictim = FindObject(0,-10,-10,20,20,OCF_Living,"Jump")) { if(GetOwner() != GetOwner(pJumpVictim)) ExtraFling(pJumpVictim,XFormel(),-YFormel()); else return(1); } } return(1); } func ExtraFling(object pLiving,int iXDir,int iYDir) { Fling(pLiving,iXDir,iYDir); ObjectSetAction(pLiving,"Tumble"); if(GetOCF(pLiving) & OCF_CrewMember) Sound("Hurt*"); else if(GetID(pLiving) == WIPF) Sound("Wipfhurt"); else if(GetID(pLiving) == MONS || GetID(pLiving) == FMNS) Sound("DeathGrowl"); else Sound("Boing"); } /*-- Data --*/ func iSpeed() {return(1);} //Rollgeschwindigkeit func iFling() {return(1);} //Flingstärke func XFormel() {return(GetXDir()/GetCon()/50 * iFling()/100);} func YFormel() {return(Abs(GetYDir())/5*(iFling()/100)+1);}
Thx für hilfe!
Zuletzt von Pitri am Fr März 05, 2010 5:14 pm bearbeitet; insgesamt 3-mal bearbeitet
Gefällt mir Gefällt mir nicht
Elfangor General
Alter : 32Ort : MainzAnmeldedatum : 26.06.08 Thema: Re: Felsbrocken... Do März 04, 2010 8:09 pm _dieser_code_ist_absolut_unlesbar_geschrieben_bitte_zeilen_einrücken_und_auf_unterordnung_achten
Gefällt mir Gefällt mir nicht
Bowserkoopa Staatsrat
Alter : 30Anmeldedatum : 21.12.08 Thema: Re: Felsbrocken... Fr März 05, 2010 3:57 pm Elfangor schrieb: _dieser_code_ist_absolut_unlesbar_geschrieben_bitte_zeilen_einrücken_und_auf_unterordnung_achten Seh ich leider genauso
Code: else if(GetID(pLiving) == MONS || GetID(pLiving) == FMNS)
Ein else und ein if in einer Zeile ist ja schon fast ein tabu.
Gefällt mir Gefällt mir nicht
Umezawa Feldmarschall
Alter : 29Anmeldedatum : 30.12.08 Thema: Re: Felsbrocken... Fr März 05, 2010 4:16 pm Bowserkoopa schrieb: Ein else und ein if in einer Zeile ist ja schon fast ein tabu. Das ist Quatsch, in vielen Sprachen wird das sogar zusammengeschrieben.
Aber n paar Erläuterungen an einigen Stellen wären schon nicht schlecht. Aber so wie das hier aussieht, liegt das Problem in der XFormel.
Gehen wir mal von einer Geschwindigkeit von 50 und Con 10.
50/10/50*1/100
5/50*1/100
0.1*1/100
0.1/100
0.001
Gefällt mir Gefällt mir nicht
Bowserkoopa Staatsrat
Alter : 30Anmeldedatum : 21.12.08 Thema: Re: Felsbrocken... Fr März 05, 2010 4:43 pm Naja ich würde das else und if nie in einer Zeile schreiben sondern einfach in die nächste Zeile setzen und nen Tabulator setzen.
Gefällt mir Gefällt mir nicht
Pitri Feldmarschall
Alter : 30Ort : KarlsruheAnmeldedatum : 02.03.09 Thema: Re: Felsbrocken... Fr März 05, 2010 4:51 pm Elfangor schrieb: _dieser_code_ist_absolut_unlesbar_geschrieben_bitte_zeilen_einrücken_und_auf_unterordnung_achten Fixed. Nur beim Spoiler geht das wohl nicht!
Bowserkoopa schrieb: Naja ich würde das else und if nie in einer Zeile schreiben sondern einfach in die nächste Zeile setzen und nen Tabulator setzen. *umgugg* In einigen scripts von anderen gibts das auch! Und als ich scripten gelernt habe, hat mir ker das "else if" erklärt. Ich habe das dann als zusammenstehenden Begriff verstanden xD
Umezawa schrieb: Aber so wie das hier aussieht, liegt das Problem in der XFormel. Problem gelöst durchfolgende schöne Formel:
Code: func XFormel() {return(GetXDir()* (GetCon()/50) * iFling()/100);}
Jetzt gehts zum Fels-Spawnpint zum Plazieren an Hängen! Hoffentlich muss ich mich dafür hier nicht melden! xD
Gefällt mir Gefällt mir nicht
Gesponserte Inhalte
Thema: Re: Felsbrocken...