У меня на сервере стоит разминка раунда(стим бонус не выдаеться)И после фразы Разминка окончена автоматом делаеться 3 рестарта подряд)как у скальпеля)И вот после этих рестартов уже выдается стим бонус?как исправить
Код:
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <cstrike>
new bool:playerPutOrAuth[33]
new g_steam[33]
new pcvar_dp_r_id_provider
new g_maxplayers, g_msgSayText
new round_count
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
public plugin_init()
{
register_plugin("Steam Bonus", "1.2", "Cruel")
register_event("TextMsg", "RoundRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
register_logevent("logevent_round_start",2, "1=Round_Start")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
pcvar_dp_r_id_provider = get_cvar_pointer ("dp_r_id_provider")
g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
}
public logevent_round_start()
{
round_count++
}
public RoundRestart(id)
{
round_count = 1
}
public client_connect(id)
{
g_steam[id] = 0
playerPutOrAuth[id] = false;
}
public client_authorized(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}
public client_putinserver(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 2)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
give_item(id, "item_assaultsuit")
give_item(id, "item_thighpack")
colored_print(id, "^x04[STEAM] Вам Бонус За Steam: Deagle, HE, 2Flash, Smoke, Amor, Defus!")
}
}
check_client_type(id)
{
if (!pcvar_dp_r_id_provider)
return PLUGIN_CONTINUE
server_cmd("dp_clientinfo %d", id)
server_exec()
new authprov = get_pcvar_num(pcvar_dp_r_id_provider)
if (authprov == 2)
{
g_steam[id] = true
}
return PLUGIN_CONTINUE
}
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)
for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}
stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]
if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;
vformat( buffer, charsmax( buffer ), message, 3 )
message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}
else
{
vformat( buffer, charsmax( buffer ), message, 3 )
message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}
Отредактировал: Bloo, - 2.3.2015, 8:36
Причина: Выдано устное предупреждение!