Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Запрет реконнекта.

Статус пользователя izymcs
сообщение 12.5.2014, 15:52
Сообщение #1


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Вот плагин anti-reconnect.
Скрытый текст
Код:
#include <amxmodx>
#include <cstrike>
#include <fun>

new PLUGIN[]="Anti reconnect"
new AUTHOR[]="JohnJ"
new VERSION[]="3.0"

new RTIME[]="amx_reconnect_time"
new RCAN[]="amx_reconnect_can"
new SCORESAVE[]="amx_reconnect_ss"
new RSTATIC[]="amx_reconnect_static"
new RSTIME[]="amx_reconnect_stime"

new t_disconnect[33] = {0, ...}
new t_scoresave[33] = {0, ...}
new ips[33][24]
new sfrags[33] = {0, ...}
new sdeaths[33] = {0, ...}
new useretry[33] = {0, ...}

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar(RTIME, "9")
register_cvar(RCAN, "0")
register_cvar(SCORESAVE, "0")
register_cvar(RSTATIC, "1")
register_cvar(RSTIME, "0")
register_event("TeamInfo","outspec","a") // восстанавливает счёт игроку в соответствии с настройками как только тот зайдёт за команду
}

public client_connect(id)
{
new maxexit = get_cvar_num(RTIME)
new maxstata = get_cvar_num(RSTIME)
new canreconnect = get_cvar_num(RCAN)
new ssave = get_cvar_num(SCORESAVE)
new ip[24]
get_user_ip(id,ip,23,0)

if ((maxexit>0) && (canreconnect==0) && (equali(ip,ips[id])))
{
new Float:nexTime = get_gametime()

if (t_disconnect[id] > nexTime)
{
new stat = get_cvar_num(RSTATIC)
new timewait
if (stat==0)
{
t_disconnect[id] = floatround(nexTime) + maxexit
t_scoresave[id] = floatround(nexTime) + maxstata
timewait=maxexit
}
else
{
timewait=t_disconnect[id]-floatround(nexTime)
}
server_cmd("kick #%d ^"Реконнект запрещён. Ждите %d секунд и заходите.^"", get_user_userid(id), timewait)
return PLUGIN_CONTINUE
}
}
if (ssave==1)
{
new Float:nexTime = get_gametime()

if (t_scoresave[id] <= nexTime)
{
sdeaths[id]=0
sfrags[id]=0
useretry[id]=0
}
return PLUGIN_CONTINUE
}

return PLUGIN_CONTINUE
}

public outspec()
{
new id=read_data(1)
if ((useretry[id]==1) && (is_user_connected(id)))
{
cs_set_user_deaths(id,sdeaths[id])
set_user_frags(id,sfrags[id])
useretry[id]=0
sdeaths[id]=0
sfrags[id]=0
}
return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
new maxexit = get_cvar_num(RTIME)
new maxstata = get_cvar_num(RSTIME)
new ssave = get_cvar_num(SCORESAVE)

new Float:theTime = get_gametime()
t_disconnect[id] = floatround(theTime) + maxexit
t_scoresave[id] = floatround(theTime) + maxstata
get_user_ip(id,ips[id],23,0)

if (ssave==1)
{
sdeaths[id] = get_user_deaths(id)
sfrags[id] = get_user_frags(id)
useretry[id]=1
}
return PLUGIN_CONTINUE
}


В паблике нет оптимального для всех плагина, но этот более подходит.
Хотелось бы из него убрать хранение счёта и его восстановление, лично мне это вообще кажется бредом.
Лишние квары:
- amx_reconnect_stime
- amx_reconnect_ss
И хотелось бы убрать это - Код:
 register_event("TeamInfo","outspec","a" 


Я боюсь стереть что-то лишнее, так что прошу Вас.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
XyLiGaN
сообщение 12.5.2014, 16:08
Сообщение #2
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

izymcs,
Вот ставь и не заморачивайся.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 12.5.2014, 16:12
Сообщение #3


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(XyLiGaN @ 12.5.2014, 18:08) *
izymcs,
Вот ставь и не заморачивайся.


Спасибо. Поставил тот, который поправил Developer.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: