View Single Post
ƒa†es™
Senior Member
Join Date: May 2009
Location: Garena
Old 12-15-2009 , 08:30   Re: new berserker == berserker
Reply With Quote #20

This is my currently codes. Please help with this: If a user kill a berserker, he will become a berserker too, the old berserker will become a normal player.

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <amxmisc>
#include <fun>

#define HEALTH 700
#define ARMOR 700
#define GRAVITY 0.7

new pcvar_berserker_toggle
new cvar_respawndelay
new new_berserker
new cooldown_time33 ]

new 
BerserkerFound[ ] = { "berserker/NAR29.wav" }

public 
plugin_init( )
{
    
register_plugin"Berserker Mod""1.0""ƒa†es™" )
    
register_event"DeathMsg""Event_DeathMsg""a" )

    
register_concmd"amx_berserker""Toggle"ADMIN_LEVEL_D" < 1 = on | 0 = off >" )
    
pcvar_berserker_toggle register_cvar"berserker_toggle""1" 
    
cvar_respawndelay register_cvar"berserker_respawndelay""15.0" 
}

public 
plugin_precache( )
{
        
precache_soundBerserkerFound )
}

public 
Berserker_Start( )
{
           
set_hudmessage02000, -1.00.2926.012.00.10.2, -)
           
show_hudmessage0"BERSERKER MOD: ENABLE" )
           new 
players32 ], num
           
for( new i=1i<33i++ )
                if ( 
is_user_alive) )
                     
playersnum++ ] = i
           new_berserker 
playersrandomnum ) ]

           if ( 
new_berserker )
           {
                     new 
name32 ]
                     
get_user_namenew_berserkername31 )
                     
set_user_renderingnew_berserkerkRenderFxGlowShell191239255kRenderNormal16 )
                     
set_user_healthnew_berserkerHEALTH )
                     
set_user_armornew_berserkerARMOR )
                     
set_user_gravitynew_berserkerGRAVITY )
                     
set_hudmessage20000, -1.00.2021.01.10.00.0, -)
                     
show_hudmessage0"BERSERKER: %s | HEALTH: %d | ARMOR: %d"nameget_user_healthnew_berserker ), get_user_armornew_berserker ) )
                     
emit_sound(  new_berserkerCHAN_STREAMBerserkerFound1.0ATTN_NORM0PITCH_HIGH )
           }

           new 
iVictim
           iVictim 
read_data)
           if ( 
iVictim == new_berserker )
           {
                     new 
iKiller
                     
if ( is_user_aliveiKiller ) )
                     {
                           
new_berserker iKiller
                     
}
                     else
                     {
                           if ( 
new_berserker == )
                          {
                                new 
players32 ], num
                                
for( new i=1i<33i++ )
                                  if ( 
is_user_alive) )
                                           
playersnum++ ] = i

                                new_berserker 
playersrandomnum ) ]
                           }
                     }
           }
}

public 
Event_DeathMsg( )
{
     if ( 
get_pcvar_numpcvar_berserker_toggle ) == )
     {
         new 
id read_data)
         
cooldown_timeid ] = get_pcvar_numcvar_respawndelay )
         
set_taskget_pcvar_floatcvar_respawndelay ), "Respawn_Player"id )
         
set_task1.0"ShowHUD"id,  __"a"cooldown_timeid ] )
     }

     if ( 
get_pcvar_numpcvar_berserker_toggle ) == )
     {
         new 
id read_data)
         
remove_taskid )
     }

     if ( 
read_data) == new_berserker )
     {
         
new_berserker read_data)
     }
}

public 
Respawn_Playerid )
{
    new 
name[32]
    
get_user_nameidname31 )

    if ( !
is_user_connectedid ) || is_user_aliveid ) || cs_get_user_teamid ) == CS_TEAM_SPECTATOR )
         return;
    
    
client_print0print_chat"Player %s is respawning."name )
    
    
set_pevidpev_deadflagDEAD_RESPAWNABLE )
    
dllfuncDLLFunc_Thinkid )
    
    if ( 
is_user_botid ) && pevidpev_deadflag ) == DEAD_RESPAWNABLE )
    {
        
dllfuncDLLFunc_Spawnid )
    }
}

public 
ShowHUDid )
{
        
cooldown_timeid ] = cooldown_timeid ] - 1;
        
set_hudmessage255255255, -1.00.2021.01.10.00.0, -)
        
show_hudmessageid"Respawing in %d second."cooldown_timeid ] ) 
}

public 
Toggleidlevelcid )
{
 if ( !
cmd_accessidlevelcid) )
 {
  return 
PLUGIN_HANDLED
 
}

 new 
arg132 ]
 
read_argv1arg131 )

 if ( 
str_to_numarg1 ) )
 {
                
set_pcvar_numpcvar_berserker_toggle)
                
server_cmd"sv_restartround 10" )
                
set_task15.0"Berserker_Start" )
 } 
 else
 {

                
set_pcvar_numpcvar_berserker_toggle)
                
server_cmd"sv_restartround 10" )
                
set_hudmessage20000, -1.00.2926.012.00.10.2, -)
                
show_hudmessage0"BERSERKER MOD: DISABLE" )
                
remove_taskid )
 }
  return 
PLUGIN_HANDLED

__________________
ƒa†es™ is offline