I made HAM spawn event hook, you have to do checks on you own... (I called it EVENT_Spawn)
U can delete new round hook and copy all checks to event_spawn, in my opinion that would be better...
Code:
#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#pragma semicolon 1
#define DMG_GRENADE (1<<24)
static const PLUGIN[ ] = "Supreme Anti Furien";
static const VERSION[ ] = "1.1";
static const AUTHOR[ ] = "Rap & Podarok";
//static const MODEL[ ] = "antifurien_suprem";
//static const SKIN[ ] = "v_cutit_suprem";
//static const SOUND[ ] = "own_risamalo";
//new suprememdlpath[100];
//new supremeskinpath[100];
//new supremesoundpath[100];
new bool: is_user_supreme[33];
new SyncHudMessage;
public plugin_init( )
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "eventNewRound", "a", "1=0", "2=0");
register_event("CurWeapon", "CurWeapon", "be", "1=1");
RegisterHam(Ham_TakeDamage, "player", "HamTakeDamage");
// Hook Spawn
RegisterHam( Ham_Spawn, "player", "EVENT_Spawn", 1);
SyncHudMessage = CreateHudSyncObj( );
}
public plugin_precache( )
{
//formatex(suprememdlpath, sizeof(suprememdlpath) - 1, "models/player/%s/%s.mdl", MODEL, MODEL);
//formatex(supremeskinpath, sizeof(suprememdlpath) - 1, "models/%s.mdl", SKIN);
//formatex(supremesoundpath, sizeof(suprememdlpath) - 1, "sound/misc/%s.wav", SOUND);
//precache_model(suprememdlpath);
//precache_model(supremeskinpath);
//precache_sound(supremesoundpath);
}
public client_putinserver(id)
{
is_user_supreme[id] = false;
}
public client_disconnect(id)
{
is_user_supreme[id] = false;
}
public eventNewRound( )
{
new Players[32], iNum, player;
new RandomPlayer, CTNum = 0;
get_players(Players, iNum, "ch");
for( new i = 0; i < iNum; i++ )
{
player = Players[i];
if( is_user_supreme[ player ] )
{
cs_reset_user_model(player);
set_rendering(player, kRenderFxNone, 0, 0, 0, kRenderNormal, 0);
is_user_supreme[player] = false;
}
if( cs_get_user_team(player) == CS_TEAM_CT )
{
set_user_maxspeed(player, 255.0);
CTNum++;
}
}
if( CTNum == 0 )
{
return PLUGIN_CONTINUE;
}
RandomPlayer = Players[random(iNum)];
while( cs_get_user_team(RandomPlayer) == CS_TEAM_T )
{
RandomPlayer = Players[random(iNum)];
}
set_task(1.0, "SetSupremeAtributes", RandomPlayer);
return PLUGIN_CONTINUE;
}
public EVENT_Spawn( id )
{
// ResetHUD can be called when the user is not alive, lets ignore those calls
if ( !is_user_alive( id ) )
{
return HAM_HANDLED;
}
//do some checks here....
set_task(1.0, "SetSupremeAtributes", RandomPlayer);
return HAM_HANDLED;
}
public CurWeapon(id)
{
if( is_user_supreme[id] )
{
new Weapon = read_data(2);
//if( Weapon == CSW_KNIFE )
{
//entity_set_string(id, EV_SZ_viewmodel, supremeskinpath);
}
set_user_maxspeed(id, 500.0);
}
}
public HamTakeDamage(id, inflictor, iAttacker, Float:damage, damagebits)
{
if( !iAttacker || id == iAttacker || !is_user_connected(iAttacker) || !is_user_connected(id)
|| get_user_team(id) == get_user_team(iAttacker) || damagebits & DMG_GRENADE
|| !is_user_supreme[iAttacker] ) return HAM_IGNORED;
if( get_user_weapon(iAttacker) == CSW_KNIFE )
{
SetHamParamFloat(4, damage * 2.0);
return HAM_IGNORED;
}
return HAM_HANDLED;
}
public SetSupremeAtributes(id)
{
if( is_user_connected(id) && is_user_alive(id) )
{
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 0.0, 1.0, 0.0, 5.0, 3);
ShowSyncHudMsg(0, SyncHudMessage, "%s este Nicolae Guta", get_name(id));
//client_cmd(0, "spk misc/%s", SOUND);
//if( get_user_weapon(id) == CSW_KNIFE )
//entity_set_string(id, EV_SZ_viewmodel, supremeskinpath);//
set_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 100);
//cs_set_user_model(id, MODEL);
set_user_maxspeed(id, 500.0);
set_user_health(id, 150);
set_user_armor(id, 150);
is_user_supreme[id] = true;
}
}
stock get_name(id)
{
new szName[32];
get_user_name(id, szName, sizeof szName -1);
return szName;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/