Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: Show FX not the same for the teams?

  1. #1
    Lieutenant Loveboy's Avatar
    Join Date
    Nov 2012
    Posts
    546
    Thanks
    229
    Thanked 72 Times in 46 Posts

    Show FX not the same for the teams?

    Hello Guys, I want to play a fx, which should be not show the same for the teams.
    Like if I am in allies, then my team (which are too allies) should show friendly fx, and if axis see the fx, then should they see it in red.
    I prepared the FX, but I don't know if it's possible with the script.
    I tried it, but I failed. Somebody said me it works with the showTo, but the script error said that it's an unknown function.

    Here is the script what I tried:
    Code:
    	level._effect["carepackage_friendly"] = loadfx ("fx/carepackage/carepackage_friendly.efx");
    	level._effect["carepackage_enemy"] = loadfx ("fx/carepackage/carepackage_enemy.efx");
    
    			players = getentarray("player", "classname");
        			for (i = 0; i<players.size; i++)
         			{
    				if(self.pers["team"] == "allies" && players.pers["team"] == "allies")
    				{
    					maps\mp\_fx::loopfx("carepackage_friendly", self.origin) showTo(players.pers["allies"]);
    				}
    				else if(self.pers["team"] == "allies" && players.pers["team"] == "axis")
    				{
    					maps\mp\_fx::loopfx("carepackage_enemy", self.origin) showTo(players.pers["axis"]);
    				}
    				else if(self.pers["team"] == "axis" && players.pers["team"] == "axis")
    				{
    					maps\mp\_fx::loopfx("carepackage_friendly", self.origin) showTo(players.pers["axis"]);
    				}
    				else if(self.pers["team"] == "axis" && players.pers["team"] == "allies")
    				{
    					maps\mp\_fx::loopfx("carepackage_enemy", self.origin) showTo(players.pers["allies"]);
    				}
    			}
    Is it maybe possible what I want to do?

    Would be very very nice if it's possible

  2. #2
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    Not possible, sorry

  3. The Following User Says Thank You to IzNoGoD For This Useful Post:

    Loveboy (24th December 2013)

  4. #3
    Lieutenant Loveboy's Avatar
    Join Date
    Nov 2012
    Posts
    546
    Thanks
    229
    Thanked 72 Times in 46 Posts
    Ah ok But then I will show both teams same FX, should be this right, because the FX will not play

    Code:
    	level._effect["carepackage"] = loadfx("fx/carepackage/carepackage.efx");
    
    			maps\mp\_fx::loopfx("carepackage", self.origin, 0.3); //Can I set here self.origin? I need to play the FX where the play is currently.

  5. #4
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    self is not defined.

  6. #5
    Brigadier General
    Join Date
    Oct 2012
    Posts
    994
    Thanks
    20
    Thanked 588 Times in 388 Posts
    Quote Originally Posted by IzNoGoD View Post
    Not possible, sorry
    Yes, it is - by using showtoplayer(). This is from my killconfirmed script:

    Code:
    spawnDogtagEffect()
    {
    	dogtag = playLoopedFx( level._effect["dogtags"] , 1.0 , self.origin );
    	dogtag thread showToTeam( self.pers["team"] );
    
    	level.dogtags[level.dogtags.size] = dogtag;
    }
    
    showToTeam( team )
    {
    	self endon( "deleted" );
    
    	for( ; ; )
    	{		
    		self hide();
    
    		players = getEntArray( "player" , "classname" );
    
    		for( i = 0 ; i < players.size ; i++ )
    		{
    			player = players[i];
    
    			if( isDefined( player.pers["team"] ) && player.pers["team"] == team )
    				self ShowToPlayer( player );
    		}
    
    		level waittill( "joined_team" );
    	}	
    }
    original code by serthy.

  7. The Following User Says Thank You to Tally For This Useful Post:

    Loveboy (24th December 2013)

  8. #6
    Lieutenant Loveboy's Avatar
    Join Date
    Nov 2012
    Posts
    546
    Thanks
    229
    Thanked 72 Times in 46 Posts
    Nice script, but I don't understand it. There aren't two effects, I need one effect for showing for the friendly players and enemy players.
    And here is team undefined -> if( isDefined( player.pers["team"] ) && player.pers["team"] == team )

  9. #7
    Brigadier General
    Join Date
    Oct 2012
    Posts
    994
    Thanks
    20
    Thanked 588 Times in 388 Posts
    Quote Originally Posted by Loveboy View Post
    Nice script, but I don't understand it. There aren't two effects, I need one effect for showing for the friendly players and enemy players.
    And here is team undefined -> if( isDefined( player.pers["team"] ) && player.pers["team"] == team )
    PHP Code:
    {

        
    carepackage_friendly playLoopedFxlevel._effect["carepackage_friendly"], 1.0self.origin );
        
    carepackage_friendly thread showToTeam"allies" );

        
    carepackage_enemy playLoopedFxlevel._effect["carepackage_enemy"], 1.0self.origin );
        
    carepackage_enemy thread showToTeam"axis" );


    }

    showToTeamteam )
    {
        
    self endon"death" );

        for( ;; )
        {        
            
    self hide();

            
    players getEntArray"player" "classname" );
            for( 
    players.size i++ )
            {
                
    player players[i];

                if( 
    isDefinedplayer.pers["team"] ) && player.pers["team"] == team )
                    
    self ShowToPlayerplayer );
            }
            
            
    wait0.05 );
        }    

    Last edited by Tally; 24th December 2013 at 11:19.

  10. The Following 4 Users Say Thank You to Tally For This Useful Post:

    kung foo man (24th December 2013),Loveboy (24th December 2013),RobsoN (24th December 2013),YuriJurek (24th December 2013)

  11. #8
    Lieutenant Loveboy's Avatar
    Join Date
    Nov 2012
    Posts
    546
    Thanks
    229
    Thanked 72 Times in 46 Posts
    Wow very nice! I never thought that it's possible

    Hmm did I something wrong so that the FX don't play? It doesn't matter where I define level._effect?

    Code:
    			level._effect["carepackage_friendly"] = loadfx ("fx/carepackage/carepackage_friendly.efx");
    			level._effect["carepackage_enemy"] = loadfx ("fx/carepackage/carepackage_enemy.efx");
    
    			carepackage_friendly = playLoopedFx( level._effect["carepackage_friendly"], 1.0, self.origin );
        			carepackage_friendly thread showToTeam( "allies" );
    	
        			carepackage_enemy = playLoopedFx( level._effect["carepackage_enemy"], 1.0, self.origin );
        			carepackage_enemy thread showToTeam( "axis" );
    Code:
    showToTeam(team)
    {
    	self endon( "death" );
    
       	for( ;; )
       	{        
           	self hide();
    
            	players = getEntArray( "player" , "classname" );
    		for( i = 0 ; i < players.size ; i++ )
    		{
                		player = players[i];
    
                		if( isDefined( player.pers["team"] ) && player.pers["team"] == team )
                    	self ShowToPlayer( player );
    		}
    	} 
    }
    Last edited by Loveboy; 24th December 2013 at 11:59.

  12. #9
    Brigadier General
    Join Date
    Oct 2012
    Posts
    994
    Thanks
    20
    Thanked 588 Times in 388 Posts
    I will not hold your hand on this. You will have to play around with the timing of the FX in order to get it to work. I put in a default of 1 second, but I have no idea what time is actually needed as I have never seen your fx file.

    I really wish you people would stop using this forum for copy-and-paste scripting. You ask for help, but you actually want someone to code it all for you, so that you can just copy-and-paste it, all ready to work. This forum is for help - as in advice on which direction to take. It is not for copy-and-paste code.
    Last edited by Tally; 24th December 2013 at 12:17.

  13. #10
    Lieutenant Loveboy's Avatar
    Join Date
    Nov 2012
    Posts
    546
    Thanks
    229
    Thanked 72 Times in 46 Posts
    It's an quick FX, if you don't use it in loop, then it play only 1 second (it's how like a light), and I want to play it in loop, so there shouldn't show only 1 secound.
    I think carepackage_friendly = playLoopedFx( level._effect["carepackage_friendly"], 1.0, self.origin ); is why that doesn't work. The FX does exist, the path is correct.
    I will ask other guys now too, maybe they know how it can work.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •