ZE trail Plugin
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
ZE trail Plugin
Request to ZE DEV Team to make a compatible plugin
What I want is to have a Random color Trail Plugin
For ZE ADMINS only
Optimized version !
What I want is to have a Random color Trail Plugin
For ZE ADMINS only
Optimized version !
Nobody Is That Busy If They Make Time
- Night Fury
- Mod Developer
- Posts: 677
- Joined: 7 years ago
- Contact:
Code: Select all
#include <zombie_escape>
#pragma semicolon 1
#define TASKID 81732519124
#define TRAIL_ACTIVE 1
#define TRAIL_INACTIVE 0
#define TRAIL_LIFE 15
#define ACCES_FLAG ADMIN_LEVEL_G
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( "Owner Trail", "1.0.0", "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)
{
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, "[PRemium ZM] You need to be alive!" );
return PLUGIN_HANDLED;
}
if( !( get_user_flags( id ) & ACCES_FLAG ) )
{
client_print( id, print_chat, "[PRemium ZM] You don't have access!" );
return PLUGIN_HANDLED;
}
if( bPlayerTrailStatus[ id ] == TRAIL_ACTIVE )
{
client_print( id, print_chat, "[PRemium ZM] Trail has been disabled!" );
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] Trail has been enabled!" );
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;
}
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()
}
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
Yes i have same plugin bro this oneJack GamePlay wrote: ↑7 years agoCode: Select all
#include <zombie_escape> #pragma semicolon 1 #define TASKID 81732519124 #define TRAIL_ACTIVE 1 #define TRAIL_INACTIVE 0 #define TRAIL_LIFE 15 #define ACCES_FLAG ADMIN_LEVEL_G 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( "Owner Trail", "1.0.0", "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) { 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, "[PRemium ZM] You need to be alive!" ); return PLUGIN_HANDLED; } if( !( get_user_flags( id ) & ACCES_FLAG ) ) { client_print( id, print_chat, "[PRemium ZM] You don't have access!" ); return PLUGIN_HANDLED; } if( bPlayerTrailStatus[ id ] == TRAIL_ACTIVE ) { client_print( id, print_chat, "[PRemium ZM] Trail has been disabled!" ); 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] Trail has been enabled!" ); 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; } 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() }
Raheem is this code optimized
Nobody Is That Busy If They Make Time
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
Code: Select all
#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 15
#define ACCES_FLAG ADMIN_KICK
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( "Owner 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)
{
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, "[Trail] Nu poti folosi aceasta comanda cand esti mort!" );
return PLUGIN_HANDLED;
}
if( !( get_user_flags( id ) & ACCES_FLAG ) )
{
client_print( id, print_chat, "[Trail] Nu ai acces la aceasta comanda!" );
return PLUGIN_HANDLED;
}
if( bPlayerTrailStatus[ id ] == TRAIL_ACTIVE )
{
client_print( id, print_chat, "[Trail] Trailul tau a fost dezactivat!" );
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] Trail activat! Acum ai trail!" );
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;
}
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();
}
Nobody Is That Busy If They Make Time
I'll optimize it when i get time, Sorry but i have exams this week.
He who fails to plan is planning to fail
Code optimized, I tested it and it's working:
- #include < zombie_escape >
- #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_KICK
- 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( "Owner Trail", PLUGIN_VERSION, "tuty" );
- register_forward( FM_CmdStart, "forward_cmdstart" );
- register_clcmd( "say trail", "cmdMakeOwnerTrail" );
- register_clcmd( "say_team trail", "cmdMakeOwnerTrail" );
- RegisterHookChain(RG_CBasePlayer_Spawn, "Fw_PlayerSpawn_Post", 1);
- }
- public plugin_precache()
- {
- gTrailSprite = precache_model( gTrailSpriteIndex );
- }
- public client_connect( id )
- {
- bPlayerTrailStatus[ id ] = TRAIL_INACTIVE;
- }
- public Fw_PlayerSpawn_Post(id)
- {
- if(get_user_flags(id) & ACCES_FLAG)
- {
- 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, "[Trail] Do not use this command when you're dead!" );
- return PLUGIN_HANDLED;
- }
- if( !( get_user_flags( id ) & ACCES_FLAG ) )
- {
- client_print( id, print_chat, "[Trail] No access to this command!" );
- return PLUGIN_HANDLED;
- }
- if( bPlayerTrailStatus[ id ] == TRAIL_ACTIVE )
- {
- client_print( id, print_chat, "[Trail] Your Trail was disabled!" );
- 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] Trail enabled! Now you trail!" );
- 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;
- }
- 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();
- }
He who fails to plan is planning to fail
-
- Veteran Member
- Posts: 678
- Joined: 7 years ago
- Location: Paraguay
- Contact:
He who fails to plan is planning to fail
Create an account or sign in to join the discussion
You need to be a member in order to post a reply
Create an account
Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute
Sign in
Who is online
Users browsing this forum: No registered users and 3 guests