Raised This Month: $51 Target: $400
 12% 

sizing for trace


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Erra
Member
Join Date: Jun 2021
Old 10-23-2021 , 09:21   sizing for trace
Reply With Quote #1

Hello Can you make a size edit for this encoding as its size is taking up too much space?

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

native crxranks_get_user_level(index);

#pragma semicolon 1

#define PLUGIN_VERSION "1.0.0"

#define TASKID        81732519124

#define TRAIL_ACTIVE 1
#define TRAIL_INACTIVE 0
#define TRAIL_LIFE 15
#define ACCES_FLAG  ADMIN_ALL

new gTrailSprite;
new gTrailRandomColor[ 33 ][ 3 ];
new bPlayerTrailStatus[ 33 ];
new Float:bflNextCheck[ 33 ];
new const gTrailSpriteIndex[] = "sprites/zbeam2.spr";

const IN_MOVING = IN_FORWARD | IN_BACK | IN_MOVELEFT | IN_MOVERIGHT | IN_JUMP;

public plugin_init()
{ 
    register_plugin( "Ownerw Trail", PLUGIN_VERSION, "tuty" );  
    register_forward( FM_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_model( gTrailSpriteIndex );
}

public client_connect( id )
{ 
    bPlayerTrailStatus[ id ] = TRAIL_INACTIVE;
}

public Fwd_Spawn(id)
{
    if(get_user_flags(id) & ACCES_FLAG && crxranks_get_user_level(id) >= 31)
    {
        bPlayerTrailStatus[id] = TRAIL_ACTIVE;
        
        gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );
        
        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;
    }
    
    gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
    gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
    gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );    
}

public cmdMakeOwnerTrail( id )
{ 
    if( !is_user_alive( id ) )
    {  
        client_print( id, print_chat, "Öldüğünüzde bu komutu kullanamazsınız!" );  
        return PLUGIN_HANDLED; 
    }  
    if(crxranks_get_user_level(id) < 31)
    {
        client_print( id, print_chat, " Level 31ve Uzeri Oyuncular Bu Menuye Girebilir!" ); 
        return PLUGIN_HANDLED; 
    }
    
    if( bPlayerTrailStatus[ id ] == TRAIL_ACTIVE )
    {  
        
        client_print( id, print_chat, " Trail Kapatildi." );
        bPlayerTrailStatus[ id ] = TRAIL_INACTIVE;  
        
        UTIL_KillBeamFollow( id );  
        
        bflNextCheck[ id ] = -5000.0;    
        
        return PLUGIN_HANDLED; 
    }  
    
    if( bPlayerTrailStatus[ id ] == TRAIL_INACTIVE ) 
    {  
        client_print( id, print_chat, "Trail etkinleştirildi! " );  
        
        bPlayerTrailStatus[ id ] = TRAIL_ACTIVE;    
        
        gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );    
        
        return PLUGIN_HANDLED; 
    }  
    
    return PLUGIN_CONTINUE;
}

public forward_cmdstart( id, handle )
{ 
    if( !is_user_alive( id ) || bPlayerTrailStatus[ id ] == TRAIL_INACTIVE ) 
    {  
        return FMRES_IGNORED; 
    }

    if(crxranks_get_user_level(id) < 31)
    {
        return FMRES_IGNORED; 
    }
    
    new iButton = get_uc( handle, UC_Buttons ); 
    
    if( !( iButton & IN_MOVING ) ) 
    {
        new Float:flGameTime = get_gametime();   
        if( bflNextCheck[ id ] < flGameTime )
        {   
            UTIL_KillBeamFollow( id );   
            UTIL_BeamFollow( id );
            bflNextCheck[ id ] = flGameTime + ( TRAIL_LIFE / 8 );  
        } 
    }  
    
    return FMRES_IGNORED;
}  

stock UTIL_BeamFollow( const iClient )
{
    message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); 
    write_byte( TE_BEAMFOLLOW ); 
    write_short( iClient );
    write_short( gTrailSprite ); 
    write_byte( TRAIL_LIFE );
    write_byte( 20 ); 
    write_byte( gTrailRandomColor[ iClient ][ 0 ] ); 
    write_byte( gTrailRandomColor[ iClient ][ 1 ] ); 
    write_byte( gTrailRandomColor[ iClient ][ 2 ] ); 
    write_byte( 255 ); 
    message_end();
}
    
stock UTIL_KillBeamFollow( const iClient )
{ 
    message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); 
    write_byte( TE_KILLBEAM );     
    write_short( iClient ); 
    message_end();
}
Erra is offline
Erra
Member
Join Date: Jun 2021
Old 10-23-2021 , 12:30   Re: sizing for trace
Reply With Quote #2

Trail size.
Erra is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 10-23-2021 , 13:04   Re: sizing for trace
Reply With Quote #3

I've added a cvar named trail_size so you can change the size to whatever you like

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

native crxranks_get_user_level(index);

//#pragma semicolon 1

#define PLUGIN_VERSION "1.0.0"

#define TASKID        81732519124

#define TRAIL_ACTIVE 1
#define TRAIL_INACTIVE 0
#define TRAIL_LIFE 15
#define ACCES_FLAG  ADMIN_ALL

new gTrailSprite;
new gTrailRandomColor[ 33 ][ 3 ];
new bPlayerTrailStatus[ 33 ];
new Float:bflNextCheck[ 33 ];
new const gTrailSpriteIndex[] = "sprites/zbeam2.spr";

const IN_MOVING = IN_FORWARD | IN_BACK | IN_MOVELEFT | IN_MOVERIGHT | IN_JUMP;

new cvar_trail_size

public plugin_init()
{ 
    register_plugin( "Ownerw Trail", PLUGIN_VERSION, "tuty" );  
    register_forward( FM_CmdStart, "forward_cmdstart" );
    register_clcmd( "say /trail", "cmdMakeOwnerTrail" ); 
    register_clcmd( "say_team /trail", "cmdMakeOwnerTrail" );
    cvar_trail_size = register_cvar("trail_size", "10")
    RegisterHam(Ham_Spawn, "player", "Fwd_Spawn", 1);
}

public plugin_precache()
{ 
    gTrailSprite = precache_model( gTrailSpriteIndex );
}

public client_connect( id )
{ 
    bPlayerTrailStatus[ id ] = TRAIL_INACTIVE;
}

public Fwd_Spawn(id)
{
    if(get_user_flags(id) & ACCES_FLAG && crxranks_get_user_level(id) >= 31)
    {
        bPlayerTrailStatus[id] = TRAIL_ACTIVE;
        
        gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );
        
        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;
    }
    
    gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
    gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
    gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );    
}

public cmdMakeOwnerTrail( id )
{ 
    if( !is_user_alive( id ) )
    {  
        client_print( id, print_chat, "Öldüğünüzde bu komutu kullanamazsınız!" );  
        return PLUGIN_HANDLED; 
    }  
    if(crxranks_get_user_level(id) < 31)
    {
        client_print( id, print_chat, " Level 31ve Uzeri Oyuncular Bu Menuye Girebilir!" ); 
        return PLUGIN_HANDLED; 
    }
    
    if( bPlayerTrailStatus[ id ] == TRAIL_ACTIVE )
    {  
        
        client_print( id, print_chat, " Trail Kapatildi." );
        bPlayerTrailStatus[ id ] = TRAIL_INACTIVE;  
        
        UTIL_KillBeamFollow( id );  
        
        bflNextCheck[ id ] = -5000.0;    
        
        return PLUGIN_HANDLED; 
    }  
    
    if( bPlayerTrailStatus[ id ] == TRAIL_INACTIVE ) 
    {  
        client_print( id, print_chat, "Trail etkinleştirildi! " );  
        
        bPlayerTrailStatus[ id ] = TRAIL_ACTIVE;    
        
        gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );    
        
        return PLUGIN_HANDLED; 
    }  
    
    return PLUGIN_CONTINUE;
}

public forward_cmdstart( id, handle )
{ 
    if( !is_user_alive( id ) || bPlayerTrailStatus[ id ] == TRAIL_INACTIVE ) 
    {  
        return FMRES_IGNORED; 
    }

    if(crxranks_get_user_level(id) < 31)
    {
        return FMRES_IGNORED; 
    }
    
    new iButton = get_uc( handle, UC_Buttons ); 
    
    if( !( iButton & IN_MOVING ) ) 
    {
        new Float:flGameTime = get_gametime();   
        if( bflNextCheck[ id ] < flGameTime )
        {   
            UTIL_KillBeamFollow( id );   
            UTIL_BeamFollow( id );
            bflNextCheck[ id ] = flGameTime + ( TRAIL_LIFE / 8 );  
        } 
    }  
    
    return FMRES_IGNORED;
}  

stock UTIL_BeamFollow( const iClient )
{
    new size = get_pcvar_num(cvar_trail_size)

    message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); 
    write_byte( TE_BEAMFOLLOW ); 
    write_short( iClient );
    write_short( gTrailSprite ); 
    write_byte( TRAIL_LIFE );
    write_byte( clamp(size, 0, 255) ); 
    write_byte( gTrailRandomColor[ iClient ][ 0 ] ); 
    write_byte( gTrailRandomColor[ iClient ][ 1 ] ); 
    write_byte( gTrailRandomColor[ iClient ][ 2 ] ); 
    write_byte( 255 ); 
    message_end();
}
    
stock UTIL_KillBeamFollow( const iClient )
{ 
    message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); 
    write_byte( TE_KILLBEAM );     
    write_short( iClient ); 
    message_end();
}
__________________








CrazY. is offline
Erra
Member
Join Date: Jun 2021
Old 10-23-2021 , 15:27   Re: sizing for trace
Reply With Quote #4

Quote:
Originally Posted by CrazY. View Post
I've added a cvar named trail_size so you can change the size to whatever you like

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

native crxranks_get_user_level(index);

//#pragma semicolon 1

#define PLUGIN_VERSION "1.0.0"

#define TASKID        81732519124

#define TRAIL_ACTIVE 1
#define TRAIL_INACTIVE 0
#define TRAIL_LIFE 15
#define ACCES_FLAG  ADMIN_ALL

new gTrailSprite;
new gTrailRandomColor[ 33 ][ 3 ];
new bPlayerTrailStatus[ 33 ];
new Float:bflNextCheck[ 33 ];
new const gTrailSpriteIndex[] = "sprites/zbeam2.spr";

const IN_MOVING = IN_FORWARD | IN_BACK | IN_MOVELEFT | IN_MOVERIGHT | IN_JUMP;

new cvar_trail_size

public plugin_init()
{ 
    register_plugin( "Ownerw Trail", PLUGIN_VERSION, "tuty" );  
    register_forward( FM_CmdStart, "forward_cmdstart" );
    register_clcmd( "say /trail", "cmdMakeOwnerTrail" ); 
    register_clcmd( "say_team /trail", "cmdMakeOwnerTrail" );
    cvar_trail_size = register_cvar("trail_size", "10")
    RegisterHam(Ham_Spawn, "player", "Fwd_Spawn", 1);
}

public plugin_precache()
{ 
    gTrailSprite = precache_model( gTrailSpriteIndex );
}

public client_connect( id )
{ 
    bPlayerTrailStatus[ id ] = TRAIL_INACTIVE;
}

public Fwd_Spawn(id)
{
    if(get_user_flags(id) & ACCES_FLAG && crxranks_get_user_level(id) >= 31)
    {
        bPlayerTrailStatus[id] = TRAIL_ACTIVE;
        
        gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );
        
        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;
    }
    
    gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
    gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
    gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );    
}

public cmdMakeOwnerTrail( id )
{ 
    if( !is_user_alive( id ) )
    {  
        client_print( id, print_chat, "Öldüğünüzde bu komutu kullanamazsınız!" );  
        return PLUGIN_HANDLED; 
    }  
    if(crxranks_get_user_level(id) < 31)
    {
        client_print( id, print_chat, " Level 31ve Uzeri Oyuncular Bu Menuye Girebilir!" ); 
        return PLUGIN_HANDLED; 
    }
    
    if( bPlayerTrailStatus[ id ] == TRAIL_ACTIVE )
    {  
        
        client_print( id, print_chat, " Trail Kapatildi." );
        bPlayerTrailStatus[ id ] = TRAIL_INACTIVE;  
        
        UTIL_KillBeamFollow( id );  
        
        bflNextCheck[ id ] = -5000.0;    
        
        return PLUGIN_HANDLED; 
    }  
    
    if( bPlayerTrailStatus[ id ] == TRAIL_INACTIVE ) 
    {  
        client_print( id, print_chat, "Trail etkinleştirildi! " );  
        
        bPlayerTrailStatus[ id ] = TRAIL_ACTIVE;    
        
        gTrailRandomColor[ id ][ 0 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 1 ] = random_num( 0, 255 );  
        gTrailRandomColor[ id ][ 2 ] = random_num( 0, 255 );    
        
        return PLUGIN_HANDLED; 
    }  
    
    return PLUGIN_CONTINUE;
}

public forward_cmdstart( id, handle )
{ 
    if( !is_user_alive( id ) || bPlayerTrailStatus[ id ] == TRAIL_INACTIVE ) 
    {  
        return FMRES_IGNORED; 
    }

    if(crxranks_get_user_level(id) < 31)
    {
        return FMRES_IGNORED; 
    }
    
    new iButton = get_uc( handle, UC_Buttons ); 
    
    if( !( iButton & IN_MOVING ) ) 
    {
        new Float:flGameTime = get_gametime();   
        if( bflNextCheck[ id ] < flGameTime )
        {   
            UTIL_KillBeamFollow( id );   
            UTIL_BeamFollow( id );
            bflNextCheck[ id ] = flGameTime + ( TRAIL_LIFE / 8 );  
        } 
    }  
    
    return FMRES_IGNORED;
}  

stock UTIL_BeamFollow( const iClient )
{
    new size = get_pcvar_num(cvar_trail_size)

    message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); 
    write_byte( TE_BEAMFOLLOW ); 
    write_short( iClient );
    write_short( gTrailSprite ); 
    write_byte( TRAIL_LIFE );
    write_byte( clamp(size, 0, 255) ); 
    write_byte( gTrailRandomColor[ iClient ][ 0 ] ); 
    write_byte( gTrailRandomColor[ iClient ][ 1 ] ); 
    write_byte( gTrailRandomColor[ iClient ][ 2 ] ); 
    write_byte( 255 ); 
    message_end();
}
    
stock UTIL_KillBeamFollow( const iClient )
{ 
    message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); 
    write_byte( TE_KILLBEAM );     
    write_short( iClient ); 
    message_end();
}
endless thanks
Erra is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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


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