CarnivorousJelly   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 1,196 
	Threads: 41 
	Joined: Dec 2012
	
 Reputation: 
80  
		 
	 
	
		
			
Changing Particle Colour 
  
			 
			
				I currently have a script which involves a transition from day to night. I think it looks pretty awesome but I'm biased because I made it. The only problem I have with this script is that I cannot find any ways to change the colour of particle systems. The current ones on the map are orange (because it was sunset), which looks awful with blue lighting. Kind of like a giant cloud of SunnyD. 
Is there a way to change the colour without destroying/creating new particles? I would prefer for that to be my last resort.
Spoiler below!   
And, if you don't mind answering one more question, is there a way to shorten this:
void OnStart() 
{ 
    SetGlobalVarInt("NightTriggered", 0); 
} 
 
void Intro() 
{ 
     
} 
 
void OnEnter() 
{ 
if (GetGlobalVarInt("NightTriggered") == 0) 
    { 
        FadeLightTo("PointLight_1", 0.017f, 0.060f, 0.092, 0.010f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_2", 0.017f, 0.060f, 0.092, 0.010f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_3", 0.053f, 0.058f, 0.071f, 0.150f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_4", 0.000f, 0.000f, 0.000f, 0.150f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_5", 0.000f, 0.000f, 0.000f, 0.150f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_6", 0.053f, 0.058f, 0.071f, 0.350f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_7", 0.053f, 0.058f, 0.071f, 0.350f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_8", 0.053f, 0.058f, 0.071f, 0.350f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_9", 0.000f, 0.000f, 0.000f, 0.350f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_10", 0.053f, 0.058f, 0.071f, 0.350f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_11", 0.017f, 0.060f, 0.092, 0.350f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_12", 0.000f, 0.000f, 0.000f, 0.350f, 4.00f, 20.0f); 
        FadeLightTo("PointLight_13", 0.000f, 0.000f, 0.000f, 0.350f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_14", 0.000f, 0.000f, 0.000f, 0.350f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_15", 0.053f, 0.058f, 0.071f, 0.150f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_16", 0.053f, 0.058f, 0.071f, 0.150f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_17", 0.000f, 0.000f, 0.000f, 0.350f, 5.50f, 20.0f); 
        FadeLightTo("PointLight_18", 0.053f, 0.058f, 0.071f, 0.000f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_19", 0.000f, 0.000f, 0.000f, 0.150f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_21", 0.000f, 0.000f, 0.000f, 0.150f, 4.00f, 20.0f); 
        FadeLightTo("PointLight_22", 0.000f, 0.000f, 0.000f, 0.350f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_23", 0.053f, 0.058f, 0.071f, 0.350f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_24", 0.053f, 0.058f, 0.071f, 0.350f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_25", 0.000f, 0.000f, 0.000f, 0.150f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_26", 0.053f, 0.058f, 0.071f, 0.150f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_27", 0.017f, 0.060f, 0.092, 0.010f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_28", 0.053f, 0.058f, 0.071f, 0.350f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_29", 0.053f, 0.058f, 0.071f, 0.350f, 4.50f, 20.0f); 
         
        FadeLightTo("Billboard Light", 0.053f, 0.058f, 0.071f, 0.500f, 0.25f, 20.0f); 
         
        FadeLightTo("SpotLight_2", 0.061f, 0.082f, 0.106f, 0.000f, 5.50f, 20.0f); 
        FadeLightTo("SpotLight_4", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
        FadeLightTo("SpotLight_5", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
        FadeLightTo("SpotLight_6", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
        FadeLightTo("SpotLight_7", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
        FadeLightTo("SpotLight_9", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
    } 
     
    if (GetGlobalVarInt("NightTriggered") == 1) 
    { 
        FadeLightTo("PointLight_1", 0.017f, 0.060f, 0.092, 0.010f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_2", 0.017f, 0.060f, 0.092, 0.010f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_3", 0.053f, 0.058f, 0.071f, 0.150f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_4", 0.000f, 0.000f, 0.000f, 0.150f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_5", 0.000f, 0.000f, 0.000f, 0.150f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_6", 0.053f, 0.058f, 0.071f, 0.350f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_7", 0.053f, 0.058f, 0.071f, 0.350f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_8", 0.053f, 0.058f, 0.071f, 0.350f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_9", 0.000f, 0.000f, 0.000f, 0.350f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_10", 0.053f, 0.058f, 0.071f, 0.350f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_11", 0.017f, 0.060f, 0.092, 0.350f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_12", 0.000f, 0.000f, 0.000f, 0.350f, 4.00f, 20.0f); 
        FadeLightTo("PointLight_13", 0.000f, 0.000f, 0.000f, 0.350f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_14", 0.000f, 0.000f, 0.000f, 0.350f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_15", 0.053f, 0.058f, 0.071f, 0.150f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_16", 0.053f, 0.058f, 0.071f, 0.150f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_17", 0.000f, 0.000f, 0.000f, 0.350f, 5.50f, 20.0f); 
        FadeLightTo("PointLight_18", 0.053f, 0.058f, 0.071f, 0.000f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_19", 0.000f, 0.000f, 0.000f, 0.150f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_21", 0.000f, 0.000f, 0.000f, 0.150f, 4.00f, 20.0f); 
        FadeLightTo("PointLight_22", 0.000f, 0.000f, 0.000f, 0.350f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_23", 0.053f, 0.058f, 0.071f, 0.350f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_24", 0.053f, 0.058f, 0.071f, 0.350f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_25", 0.000f, 0.000f, 0.000f, 0.150f, 6.00f, 20.0f); 
        FadeLightTo("PointLight_26", 0.053f, 0.058f, 0.071f, 0.150f, 4.50f, 20.0f); 
        FadeLightTo("PointLight_27", 0.017f, 0.060f, 0.092, 0.010f, 2.50f, 20.0f); 
        FadeLightTo("PointLight_28", 0.053f, 0.058f, 0.071f, 0.350f, 3.50f, 20.0f); 
        FadeLightTo("PointLight_29", 0.053f, 0.058f, 0.071f, 0.350f, 4.50f, 20.0f); 
         
        FadeLightTo("Billboard Light", 0.053f, 0.058f, 0.071f, 0.500f, 0.25f, 20.0f); 
         
        FadeLightTo("SpotLight_2", 0.061f, 0.082f, 0.106f, 0.000f, 5.50f, 20.0f); 
        FadeLightTo("SpotLight_4", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
        FadeLightTo("SpotLight_5", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
        FadeLightTo("SpotLight_6", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
        FadeLightTo("SpotLight_7", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f); 
        FadeLightTo("SpotLight_9", 0.122f, 0.165f, 0.211f, 0.000f, 8.50f, 20.0f);     
    } 
} 
 
void OnLeave() 
{ 
    SetGlobalVarInt("NightTriggered", 1); 
}
 
 
 
 
Thanks for your help!
			
 
			
			
 
 
			
		  
	
 
 
	03-15-2013, 06:37 AM   
	
		
	 
 
	
		 
		PutraenusAlivius   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 4,713 
	Threads: 75 
	Joined: Dec 2012
	
 Reputation: 
119  
		 
	 
	
		
			
RE: Changing Particle Colour 
  
			 
			
				Just change the colour of the particle.
			
			
			
 
"Veni, vidi, vici." 
"I came, I saw, I conquered." 
			
		  
	
 
 
	03-15-2013, 06:52 AM   
	
		
	 
 
	
		 
		CarnivorousJelly   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 1,196 
	Threads: 41 
	Joined: Dec 2012
	
 Reputation: 
80  
		 
	 
	
		
			
RE: Changing Particle Colour 
  
			 
			
				 (03-15-2013, 06:52 AM) JustAnotherPlayer Wrote:   Just change the colour of the particle.
How...? The lights change colour 
in game  due to the script I set up. I can't find a script that lets me change particle colour.
Edit: I probably worded my question oddly, so here's a video of what I did. It's still currently uploading but shouldn't take longer than 90 minutes to finish.
[video=youtube]
http://youtu.be/unv4EGfkE9E [/video]
Hopefully I fixed the brightness issue with the video.
			
 
			
			
 
			
		  
	
 
 
	03-15-2013, 07:04 AM   
	
		
	 
 
	
		 
		FlawlessHappiness   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 3,980 
	Threads: 145 
	Joined: Mar 2012
	
 Reputation: 
171  
		 
	 
	
		
			
RE: Changing Particle Colour 
  
			 
			
				No, I don't think it's possible.
If a PS is created, it's created.
So now you can destroy it, and create a new one... or better:
Create a new one where the first one was, and THEN destroy the first one.
You specify colors with:
CreateParticleSystemAtEntityExt(string& asPSName, string& asPSFile, string& asEntity, bool abSavePS,float afR, float afG, float afB, float afA, bool abFadeAtDistance, float afFadeMinEnd, float afFadeMinStart, float afFadeMaxStart, float afFadeMaxEnd);
 
			 
			
			
 
Trying is the first step to success.
			
		  
	
 
 
	03-15-2013, 07:54 AM   
	
		
	 
 
	
		 
		Adrianis   
 
 
		
			Senior Member 
			
			
			
 
			
	Posts: 620 
	Threads: 6 
	Joined: Feb 2012
	
 Reputation: 
27  
		 
	 
	
		
			
RE: Changing Particle Colour 
  
			 
			
				Depending on which PS your trying to use, maybe it would be best with a custom particle that itself doesn't last long, then re-create it in a loop using BeeKayK's method rather than apply it in the level ed (e.g. for the floating dust particles), so that it fades out/in naturally. Otherwise if the player is right next to it they may notice sets of particles appearing/dissapearing suddenly (although I'm not sure whether destroying a particle fades it or just stops it instantly)
			
			
			
 
			
		  
	
 
 
	03-15-2013, 10:52 AM   
	
		
	 
 
	
		 
		CarnivorousJelly   
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 1,196 
	Threads: 41 
	Joined: Dec 2012
	
 Reputation: 
80  
		 
	 
	
		
			
RE: Changing Particle Colour 
  
			 
			
				Thanks for the help! Both the light dust and fog fade out, which looks really nice, but the new particles are not being created :\
Here's the script for the particles (based on a 20 second change for the lights) :
if (GetGlobalVarInt("NightTriggered") == 0) 
{ 
///////script stuff that I'm not including////// 
    AddTimer("NewParticles", 5.0f, "timer_particles"); 
    AddTimer("OldParticles", 10.0f, "timer_removeparticles"); 
} 
 
void timer_particles(string &in asTimer) 
{ 
    /////////PARTICLES/////////// 
    ////////////FOG////////////// 
    CreateParticleSystemAtEntityExt("ParticleSystem_1", "ps_area_fog.ps", "ParticleSystem_30", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_3", "ps_area_fog.ps", "ParticleSystem_31", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_4", "ps_area_fog.ps", "ParticleSystem_32", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_5", "ps_area_fog.ps", "ParticleSystem_33", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_7", "ps_area_fog.ps", "ParticleSystem_34", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_8", "ps_area_fog.ps", "ParticleSystem_35", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_9", "ps_area_fog.ps", "ParticleSystem_36", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_10", "ps_area_fog.ps", "ParticleSystem_37", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_14", "ps_area_fog.ps", "ParticleSystem_38", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_17", "ps_area_fog.ps", "ParticleSystem_39", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_21", "ps_area_fog.ps", "ParticleSystem_40", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_23", "ps_area_fog.ps", "ParticleSystem_41", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_25", "ps_area_fog.ps", "ParticleSystem_42", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_27", "ps_area_fog.ps", "ParticleSystem_43", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_29", "ps_area_fog.ps", "ParticleSystem_44", true, 0.119f, 0.218f, 0.266f, 0.75f, true, 1.0f, 2.0f, 100.0f, 110.0f); 
     
    ///////////LIGHT DUST//////////// 
    CreateParticleSystemAtEntityExt("ParticleSystem_12", "ps_light_dust_large.ps", "ParticleSystem_45", true, 0.122f, 0.165f, 0.211f, 0.75f, true, 0.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_13", "ps_light_dust_large.ps", "ParticleSystem_46", true, 0.122f, 0.165f, 0.211f, 0.75f, true, 0.0f, 2.0f, 100.0f, 110.0f); 
    CreateParticleSystemAtEntityExt("ParticleSystem_15", "ps_light_dust_large.ps", "ParticleSystem_47", true, 0.122f, 0.165f, 0.211f, 0.75f, true, 0.0f, 2.0f, 100.0f, 110.0f); 
} 
 
void timer_removeparticles(string &in asTimer) 
{ 
    DestroyParticleSystem("ParticleSystem_1"); 
    DestroyParticleSystem("ParticleSystem_3"); 
    DestroyParticleSystem("ParticleSystem_4"); 
    DestroyParticleSystem("ParticleSystem_5"); 
    DestroyParticleSystem("ParticleSystem_7"); 
    DestroyParticleSystem("ParticleSystem_8"); 
    DestroyParticleSystem("ParticleSystem_9"); 
    DestroyParticleSystem("ParticleSystem_10"); 
    DestroyParticleSystem("ParticleSystem_14"); 
    DestroyParticleSystem("ParticleSystem_17"); 
    DestroyParticleSystem("ParticleSystem_21"); 
    DestroyParticleSystem("ParticleSystem_23"); 
    DestroyParticleSystem("ParticleSystem_25"); 
    DestroyParticleSystem("ParticleSystem_27"); 
    DestroyParticleSystem("ParticleSystem_29"); 
     
    DestroyParticleSystem("ParticleSystem_12"); 
    DestroyParticleSystem("ParticleSystem_13"); 
    DestroyParticleSystem("ParticleSystem_15"); 
}
I have it labelled so that the particles numbered 30-47 are the new ones created and anything below that is deleted (there are some holes in my numbers from creating excess particle systems and deleting them).
Other than the lack of new particles, it looks really nice! Thanks again 
 
			 
			
			
 
 
			
		  
	
 
 
	03-15-2013, 10:51 PM