всем привет, есть такой плагин обнуления счета , раздражает в нем только одно когда заходишь на сервер спустя какое то время от начала раунда, то тебя убивает и счет становится -1. вопрос в том как сделать что бы не убивало, выкинуть эту функцию от туда, кто сможет?
#include <amxmodx>
#include <colorchat>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#define PLUGIN "Reset Score Plus"
#define AUTHOR "maeStro"
#define VERSION "v1.0"
new Float:g_time
new rounds_stat
new t_scoresave[33] = {0,...}
new sfrags[33] = {0,...}
new sdeaths[33] = {0,...}
new useretry[33] = {0,...}
new ips[33][24]
new gi_Round_Counter[33]
new gi_Rs_Save
new gi_Round_Block
public plugin_init(){
register_plugin(PLUGIN,VERSION,AUTHOR)
register_clcmd("say /resetscore", "cmd_say")
register_clcmd("say /rs", "cmd_say")
gi_Round_Block = register_cvar("rs_block_rounds", "3") // На сколько раундов блокировать ввод /rs
gi_Rs_Save = register_cvar("rs_reconnect_time", "20") // На какое время (секунды) сохранять счет при выходе из игры
register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
register_event("TeamInfo","outspec","a")
}
public RoundStart(id){
rounds_stat++
new iPlayer[32], iNum
get_players(iPlayer, iNum)
g_time = get_gametime()
for(new i; i < iNum; i++)
{
gi_Round_Counter[iPlayer]++
}
}
public cmd_say(id){
static text[70],arg1[32]
read_args(text,sizeof(text)-1)
remove_quotes(text)
arg1[0] = '^0'
parse(text,arg1,sizeof(arg1)-1)
if (equali(arg1,"/rs") || equali(arg1,"/resetscore"))
{
reset_score(id)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public reset_score(id){
if(gi_Round_Counter[id] >= get_pcvar_num(gi_Round_Block))
{
set_user_frags(id, 0)
cs_set_user_deaths(id, 0)
new name[32]
get_user_name(id, name, 31)
ColorChat(0,GREY,"^x01[^x04SERVER^x01] Игрок ^x03%s ^x04сбросил счет!", name)
set_hudmessage(193, 0, 32, -1.0, 0.71, 2, 6.0, 3.0, 0.1, 1.5 )
show_hudmessage(id, "%s, Вы успешно сбросили счет ", name)
client_cmd(id, "spk fvox/bell")
gi_Round_Counter[id] = 0
}else{
ColorChat(id,GREY,"^x01[^x04SERVER^x01] Ввод данной команды станет доступен через %d раунд(а)",get_pcvar_num(gi_Round_Block)-gi_Round_Counter[id])
}
}
public client_connect(id){
new ip[24]
get_user_ip(id,ip,23,0)
new Float:endTime = get_gametime()
if (t_scoresave[id] <= endTime)
{
gi_Round_Counter[id] = 100
sfrags[id] = 0
sdeaths[id] = 0
useretry[id] = 0
}
}
public player_spawn(id){
new Float:finishTime = get_gametime() - g_time
if((finishTime > 10) && !(rounds_stat == 1) && is_user_alive(id))
{
user_kill(id)
ColorChat(id,GREY,"^x01[^x04SERVER^x01] Время захода в игру закончилось, поэтому Вы были убиты")
}
return PLUGIN_CONTINUE
}
public outspec(){
new id = read_data(1)
if ((useretry[id] == 1) && is_user_connected(id))
{
set_user_frags(id,sfrags[id])
cs_set_user_deaths(id,sdeaths[id])
sfrags[id] = 0
sdeaths[id] = 0
useretry[id] = 0
}
return PLUGIN_CONTINUE
}
public client_disconnect(id){
new maxstata = get_pcvar_num(gi_Rs_Save)
new Float:startTime = get_gametime()
t_scoresave[id] = floatround(startTime) + maxstata
get_user_ip(id,ips[id],23,0)
{
sfrags[id] = get_user_frags(id)
sdeaths[id] = get_user_deaths(id)
useretry[id] = 1
}
}
#include <colorchat>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#define PLUGIN "Reset Score Plus"
#define AUTHOR "maeStro"
#define VERSION "v1.0"
new Float:g_time
new rounds_stat
new t_scoresave[33] = {0,...}
new sfrags[33] = {0,...}
new sdeaths[33] = {0,...}
new useretry[33] = {0,...}
new ips[33][24]
new gi_Round_Counter[33]
new gi_Rs_Save
new gi_Round_Block
public plugin_init(){
register_plugin(PLUGIN,VERSION,AUTHOR)
register_clcmd("say /resetscore", "cmd_say")
register_clcmd("say /rs", "cmd_say")
gi_Round_Block = register_cvar("rs_block_rounds", "3") // На сколько раундов блокировать ввод /rs
gi_Rs_Save = register_cvar("rs_reconnect_time", "20") // На какое время (секунды) сохранять счет при выходе из игры
register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
register_event("TeamInfo","outspec","a")
}
public RoundStart(id){
rounds_stat++
new iPlayer[32], iNum
get_players(iPlayer, iNum)
g_time = get_gametime()
for(new i; i < iNum; i++)
{
gi_Round_Counter[iPlayer]++
}
}
public cmd_say(id){
static text[70],arg1[32]
read_args(text,sizeof(text)-1)
remove_quotes(text)
arg1[0] = '^0'
parse(text,arg1,sizeof(arg1)-1)
if (equali(arg1,"/rs") || equali(arg1,"/resetscore"))
{
reset_score(id)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public reset_score(id){
if(gi_Round_Counter[id] >= get_pcvar_num(gi_Round_Block))
{
set_user_frags(id, 0)
cs_set_user_deaths(id, 0)
new name[32]
get_user_name(id, name, 31)
ColorChat(0,GREY,"^x01[^x04SERVER^x01] Игрок ^x03%s ^x04сбросил счет!", name)
set_hudmessage(193, 0, 32, -1.0, 0.71, 2, 6.0, 3.0, 0.1, 1.5 )
show_hudmessage(id, "%s, Вы успешно сбросили счет ", name)
client_cmd(id, "spk fvox/bell")
gi_Round_Counter[id] = 0
}else{
ColorChat(id,GREY,"^x01[^x04SERVER^x01] Ввод данной команды станет доступен через %d раунд(а)",get_pcvar_num(gi_Round_Block)-gi_Round_Counter[id])
}
}
public client_connect(id){
new ip[24]
get_user_ip(id,ip,23,0)
new Float:endTime = get_gametime()
if (t_scoresave[id] <= endTime)
{
gi_Round_Counter[id] = 100
sfrags[id] = 0
sdeaths[id] = 0
useretry[id] = 0
}
}
public player_spawn(id){
new Float:finishTime = get_gametime() - g_time
if((finishTime > 10) && !(rounds_stat == 1) && is_user_alive(id))
{
user_kill(id)
ColorChat(id,GREY,"^x01[^x04SERVER^x01] Время захода в игру закончилось, поэтому Вы были убиты")
}
return PLUGIN_CONTINUE
}
public outspec(){
new id = read_data(1)
if ((useretry[id] == 1) && is_user_connected(id))
{
set_user_frags(id,sfrags[id])
cs_set_user_deaths(id,sdeaths[id])
sfrags[id] = 0
sdeaths[id] = 0
useretry[id] = 0
}
return PLUGIN_CONTINUE
}
public client_disconnect(id){
new maxstata = get_pcvar_num(gi_Rs_Save)
new Float:startTime = get_gametime()
t_scoresave[id] = floatround(startTime) + maxstata
get_user_ip(id,ips[id],23,0)
{
sfrags[id] = get_user_frags(id)
sdeaths[id] = get_user_deaths(id)
useretry[id] = 1
}
}