Ето ви .сма :
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cstrike>
#include <csx>
#include <fun>
#include <hamsandwich>
#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif
#if !defined DMG_GRENADE
#define DMG_GRENADE (1<<24)
#endif
#define GREN_DELAY 0.5
#define HUD_FREQ 1.0
#define TASK_MESSAGE 332912
#define WARMUP_DURATION 120
new g_iTimer
public plugin_init()
{
register_plugin("Warmup Round", "1.0", "OciXCrom")
RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
RegisterHam(Ham_TraceAttack, "player", "PrePlayerAttack")
g_iTimer = WARMUP_DURATION
set_task(HUD_FREQ, "display_message", TASK_MESSAGE, .flags = "b")
}
public CS_OnBuyAttempt(id, iItem)
{
if(g_iTimer)
{
client_print(id, print_center, "No buying during warmup!")
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public OnPlayerSpawn(id)
{
if(!is_user_alive(id) || !g_iTimer)
return
strip_user_weapons(id)
give_item(id, "weapon_knife")
give_grenade(id)
}
public PrePlayerAttack(iVictim, iAttacker, Float:fDamage, Float:fDirection[3], iTraceHandle, iDamageBits)
return (g_iTimer > 0 && iDamageBits != DMG_GRENADE) ? HAM_SUPERCEDE : HAM_IGNORED
public grenade_throw(id, iGrenadeId, iGrenadeType)
{
if(!g_iTimer)
return
set_task(GREN_DELAY, "give_grenade", id)
}
public give_grenade(id)
{
if(is_user_connected(id) && g_iTimer > 0)
{
give_item(id, "weapon_hegrenade")
engclient_cmd(id, "weapon_hegrenade")
}
}
public display_message()
{
new iPlayers[32], iPnum
get_players(iPlayers, iPnum, "b")
for(new i, iPlayer; i < iPnum; i++)
{
iPlayer = iPlayers[i]
if(1 <= get_user_team(iPlayer) <= 2)
ExecuteHamB(Ham_CS_RoundRespawn, iPlayer)
}
set_dhudmessage(random(256), random(256), random(256), -1.0, 0.2, 0, 0.1, 1.0, 0.1, 0.1)
show_dhudmessage(0, "[WARMUP: %i]^nOnly HE Grenades do damage!", g_iTimer)
if(--g_iTimer == 0)
{
remove_task(TASK_MESSAGE)
server_cmd("sv_restartround 1")
}
}