AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [Help] How to change trail color every 1 second (https://forums.alliedmods.net/showthread.php?t=250731)

ReneF 10-29-2014 16:23

[Help] How to change trail color every 1 second
 
I need the trail changes color every 1 second, whether you are walking, running, moving from side to side, jumping, etc...

PHP Code:

#include < amxmodx >
#include < amxmisc >
#include < fakemeta >
#include < hamsandwich >

#pragma semicolon 1

#define PLUGIN_VERSION "1.0.0"

#define TASKID        81732519124

#define TRAIL_ACTIVE 1
#define TRAIL_INACTIVE 0
#define TRAIL_LIFE 30
#define ACCES_FLAG  ADMIN_BAN

new gTrailSprite;
new 
gTrailRandomColor33 ][ ];
new 
bPlayerTrailStatus33 ];
new 
Float:bflNextCheck33 ];
new const 
gTrailSpriteIndex[] = "sprites/zbeam3.spr";

const 
IN_MOVING IN_FORWARD IN_BACK IN_LEFT IN_RIGHT IN_JUMP;

public 
plugin_init()

    
register_plugin"Owner Trail"PLUGIN_VERSION"tuty" );  
    
register_forwardFM_CmdStart"forward_cmdstart" );
    
register_clcmd"say /trail""cmdMakeOwnerTrail" ); 
    
register_clcmd"say_team /trail""cmdMakeOwnerTrail" );
    
    
RegisterHam(Ham_Spawn"player""Fwd_Spawn"1);
}

public 
plugin_precache()

    
gTrailSprite precache_modelgTrailSpriteIndex );
}

public 
client_connectid )

    
bPlayerTrailStatusid ] = TRAIL_INACTIVE;
}

public 
Fwd_Spawn(id)
{
    if(
get_user_flags(id) & ACCES_FLAG)
    {
        
bPlayerTrailStatus[id] = TRAIL_ACTIVE;
        
        
gTrailRandomColorid ][ ] = random_num0255 );  
        
gTrailRandomColorid ][ ] = random_num0255 );  
        
gTrailRandomColorid ][ ] = random_num0255 );
        
        
set_task(10.0"change_color"id TASKID, .flags="b");
    }
}

public 
change_color(taskid)
{
    new 
id taskid TASKID;
    
    if(!
is_user_alive(id))
    {
        
remove_task(taskid);
        return;
    }
    
    
gTrailRandomColorid ][ ] = random_num0255 );  
    
gTrailRandomColorid ][ ] = random_num0255 );  
    
gTrailRandomColorid ][ ] = random_num0255 );    
}

public 
cmdMakeOwnerTrailid )

    if( !
is_user_aliveid ) )
    {  
        
client_printidprint_center"No puedes utilizar este comando estando muerto" );  
        return 
PLUGIN_HANDLED
    }  
    if( !( 
get_user_flagsid ) & ACCES_FLAG ) )
    {  
        
client_printidprint_center"No tienes acceso" );   
        return 
PLUGIN_HANDLED
    } 
    
    if( 
bPlayerTrailStatusid ] == TRAIL_ACTIVE )
    {  
        
        
client_printidprint_center"Trail desactivado" );  
        
        
bPlayerTrailStatusid ] = TRAIL_INACTIVE;  
        
        
UTIL_KillBeamFollowid );  
        
        
bflNextCheckid ] = -5000.0;    
        
        return 
PLUGIN_HANDLED
    }  
    
    if( 
bPlayerTrailStatusid ] == TRAIL_INACTIVE 
    {  
        
client_printidprint_center"Trail activado" );  
        
        
bPlayerTrailStatusid ] = TRAIL_ACTIVE;    
        
        
gTrailRandomColorid ][ ] = random_num0255 );  
        
gTrailRandomColorid ][ ] = random_num0255 );  
        
gTrailRandomColorid ][ ] = random_num0255 );    
        
        return 
PLUGIN_HANDLED
    }  
    
    return 
PLUGIN_CONTINUE;
}

public 
forward_cmdstartidhandle )

    if( !
is_user_aliveid ) || bPlayerTrailStatusid ] == TRAIL_INACTIVE 
    {  
        return 
FMRES_IGNORED
    } 
    
    new 
iButton get_uchandleUC_Buttons ); 
    
    if( !( 
iButton IN_MOVING ) ) 
    {
        new 
Float:flGameTime get_gametime();   
        if( 
bflNextCheckid ] < flGameTime )
        {   
            
UTIL_KillBeamFollowid );   
            
UTIL_BeamFollowid );
            
bflNextCheckid ] = flGameTime + ( TRAIL_LIFE );  
        } 
    }  
    
    return 
FMRES_IGNORED;
}  

stock UTIL_BeamFollow( const iClient )
{
    
message_beginMSG_BROADCASTSVC_TEMPENTITY ); 
    
write_byteTE_BEAMFOLLOW ); 
    
write_shortiClient );
    
write_shortgTrailSprite ); 
    
write_byteTRAIL_LIFE );
    
write_byte20 ); 
    
write_bytegTrailRandomColoriClient ][ ] ); 
    
write_bytegTrailRandomColoriClient ][ ] ); 
    
write_bytegTrailRandomColoriClient ][ ] ); 
    
write_byte255 ); 
    
message_end();
}
    
stock UTIL_KillBeamFollow( const iClient )

    
message_beginMSG_BROADCASTSVC_TEMPENTITY ); 
    
write_byteTE_KILLBEAM );     
    
write_shortiClient ); 
    
message_end();


Sorry for bad english :(

Kellan123 10-30-2014 08:45

Re: [Help] How to change trail color every 1 second
 
PHP Code:

set_task(10.0"change_color"id TASKID, .flags="b"); 

change to
PHP Code:

set_task(0.1"change_color"id TASKID, .flags="b"); 


Kia 10-30-2014 09:14

Re: [Help] How to change trail color every 1 second
 
Quote:

Originally Posted by Kellan123 (Post 2217821)
PHP Code:

set_task(10.0"change_color"id TASKID, .flags="b"); 

change to
PHP Code:

set_task(0.1"change_color"id TASKID, .flags="b"); 


Then it would be called 10 times a second, change it to 1.0.

ReneF 10-30-2014 09:58

Re: [Help] How to change trail color every 1 second
 
Quote:

Originally Posted by Kia (Post 2217832)
Then it would be called 10 times a second, change it to 1.0.

It works :D, but I have another question:

How do I change the color automatically?


All times are GMT -4. The time now is 17:31.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.