Thanks everyone for all yer help. Here is what I ended up with:
Code:
class'XxxXESRv2b.XxxXSparks'.default.mColorRange[0] = NewColorRange;
Thanks again!
~DG
class'XxxXESRv2b.XxxXSparks'.default.mColorRange[0] = NewColorRange;
//pseudo code to the EXTREME :) class'xxxSparks'.default.Colorstuff = red;
event PreSpawn() { Color clr1, clr2; clr1 = XxxXBeamEffect(Owner).DesiredSparksClr1; clr2 = XxxXBeamEffect(Owner).DesiredSparksClr2; SetSparksColor(clr1, clr2); Super.PreSpawn(); } defaultproperties { bCallPreSpawn = true; //all the other stuff }
//the variables you access from the XxxXSparks instance var DesiredSparksClr1, DesiredSparksClr2; simulated function SpawnImpactEffects(rotator HitRot, vector EffectLoc) { Spawn(class'ShockImpactRing',,, EffectLoc, HitRot); Spawn(class'ShockImpactScorch',,, EffectLoc, Rotator(-HitNormal)); //here you can set the desired color of the sparks DesiredSparksClr1 = WhatEverYouWant1; DesiredSparksClr1 = WhatEverYouWant2; //this creates an instance, which will get the variable from his owner (an object of XxxXBeamEffect) Spawn(class'XxxXSparks',,, EffectLoc, HitRot); spawn(class'ShockExplosionCore',,, EffectLoc + HitNormal, HitRot); }
local XxxXSparks XxxXSparkCLass; local color clr; clr.R = 0; clr.B = 240; clr.G = 0; clr.A = 240; Spawn(class'ShockImpactRing',,, EffectLoc, HitRot); spawn(class'ShockExplosionCore',,, EffectLoc + HitNormal, HitRot); Spawn(class'ShockImpactScorch',,, EffectLoc, Rotator(-HitNormal)); XxxXSparksClass = Spawn(class'XxxXSparks',,, EffectLoc, HitRot); XxxXSparksClass.setSparkColor(clr,clr); //new line here: XxxXSparksClass.SpawnNow();
local XxxXBeamEffect beam; beam = weapon.spawn(class'XxxXBeamEffect',,,Start,Dir) beam.setColor("Red") if ( ReflectNum != 0 ) { Beam.Instigator = None; } Beam.AimAt(HitLocation,HitNormal);
simulated event PreBeginPlay() { setSparkColor(owner.DesiredSparksColor1, owner.DesiredSparksColor2); super.PreBeginPlay(); }
Beam = Weapon.Spawn(Class'XxxXBeamEffect',,,Start,Dir); if (Beam.IsA('XxxXBeamEffect')) { BeamColor.R = 56; BeamColor.G = 255; BeamColor.B = 255; BeamColor.A = 200; //Beam.SetColorClr(BeamColor, BeamColor); Beam.mColorRange[0] = BeamColor; }
simulated function SpawnImpactEffects(rotator HitRot, vector EffectLoc) { Spawn(class'ShockImpactRing',,, EffectLoc, HitRot); Spawn(class'ShockImpactScorch',,, EffectLoc, Rotator(-HitNormal)); //trouble line: Spawn(class'XxxXSparks',,, EffectLoc, HitRot); spawn(class'ShockExplosionCore',,, EffectLoc + HitNormal, HitRot); }
class XxxXBeamEffect extends SuperShockBeamEffect; simulated function SpawnImpactEffects(rotator HitRot, vector EffectLoc) { Spawn(class'ShockImpactRing',,, EffectLoc, HitRot); Spawn(class'ShockImpactScorch',,, EffectLoc, Rotator(-HitNormal)); //trouble line: Spawn(class'XxxXSparks',,, EffectLoc, HitRot); spawn(class'ShockExplosionCore',,, EffectLoc + HitNormal, HitRot); } function SetColor(string SelectedColor) { local XxxXSparks newSparks; local Color NewColorRange; if (SelectedColor == "Red") { NewColorRange.R = 240; NewColorRange.G = 0; NewcolorRange.B = 0; NewColorRange.A = 240; mColorRange[0] = NewColorRange; mColorRange[1] = NewColorRange; } else if (SelectedColor == "Blue") { NewColorRange.R = 0; NewColorRange.G = 0; NewcolorRange.B = 240; NewColorRange.A = 240; mColorRange[0] = NewColorRange; mColorRange[1] = NewColorRange; } else if (SelectedColor == "Green") { NewColorRange.R = 0; NewColorRange.G = 240; NewcolorRange.B = 0; NewColorRange.A = 240; mColorRange[0] = NewColorRange; mColorRange[1] = NewColorRange; } else if (SelectedColor == "Purple") { NewColorRange.R = 240; NewColorRange.G = 0; NewcolorRange.B = 240; NewColorRange.A = 240; mColorRange[0] = NewColorRange; mColorRange[1] = NewColorRange; } else { NewColorRange.R = 240; NewColorRange.G = 240; NewcolorRange.B = 240; NewColorRange.A = 240; mColorRange[0] = NewColorRange; mColorRange[1] = NewColorRange; } } function SetColorRGBA(int colorR, int colorG, int colorB, int colorA) { local Color NewColorRange; NewColorRange.R = colorR; NewColorRange.G = colorG; NewcolorRange.B = colorB; NewColorRange.A = colorA; mColorRange[0] = NewColorRange; mColorRange[1] = NewColorRange; } function SetColorCLR(color NewColorRange1, color NewColorRange2) { mColorRange[0] = NewColorRange1; mColorRange[1] = NewColorRange2; } defaultproperties { CoilClass=Class'XEffects.ShockBeamCoil' MuzFlashClass=Class'XEffects.ShockMuzFlash' MuzFlash3Class=Class'XEffects.ShockMuzFlash3rd' mRegen=False mStartParticles=10 mMaxParticles=1 mLifeRange(0)=0.500000 mLifeRange(1)=0.000000 mSizeRange(0)=7.000000 mSizeRange(1)=0.000000 Skins(0)=Texture'XEffectMat.Ion.Ion_beam' }
class XxxXSparks extends xEmitter; simulated function PostBeginPlay() { if ( PhysicsVolume.bWaterVolume ) Super.destroy(); } function setSparkColor(color clr1, color clr2) { mColorRange[0] = clr1; mColorRange[1] = clr2; } defaultproperties { mParticleType=PT_Line mRegen=False mStartParticles=20 mMaxParticles=10 mLifeRange(0)=0.800000 mLifeRange(1)=1.200000 mRegenRange(0)=0.000000 mRegenRange(1)=0.000000 mDirDev=(X=0.400000,Y=0.400000,Z=0.400000) mPosDev=(X=0.200000,Y=0.200000,Z=0.200000) mSpawnVecB=(X=2.000000,Z=0.060000) mSpeedRange(0)=250.000000 mSpeedRange(1)=350.000000 mMassRange(0)=1.500000 mMassRange(1)=2.500000 mAirResistance=0.200000 mSizeRange(0)=1.000000 mSizeRange(1)=2.000000 mGrowthRate=-1.000000 mColorRange(0)=(B=0,G=0,R=255) mColorRange(1)=(B=0,G=0,R=255) mAttenKa=0.100000 DrawScale=10.000000 Skins(0)=Texture'XEffects.Skins.TransTrailT' ScaleGlow=20.000000 Style=STY_Additive }
var int xAmount; simulated event SpawnParticle( int Amount ) { xAmount = Amount; }
simulated function ReallySpawnParticles( ) { //Do here what you want... (Set colors etc...) int i; for(int i = 0; i < Emitters.Length; i++) { Emitters[i].SpawnParticle(xAmount); } }
Leave a comment: