Русское сообщество по скриптингу

Simple Anti Reconnect

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

Simple Anti Reconnect

Сообщение RevCrew » 17 фев 2016, 23:03

Автор: RevCrew
Версия: 1.0
Описание: Простой плагин антиреконнекта, решил сделать после того, как увидел что не один в инете не работает на моем сервере.

Плагин использует Trie вместо массива, так что нагрузки меньше.
Есть настройка времени и флага для иммунитета.

Approved. //Pain96
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось RevCrew 21 мар 2016, 22:42, всего редактировалось 2 раз(а).
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Simple Anti Reconnect

Сообщение Pafos » 17 фев 2016, 23:25

Тогда уж так.
Код: Выделить всё

#include <amxmodx>
#include <fakemeta>

#define IsValid(%0) (pev_valid(%0) == PDATA_SAFE)

const m_iSpawnCount = 365;
const PDATA_SAFE = 2;

new Trie:g_tAuthid;

public plugin_precache()
{
   g_tAuthid = TrieCreate();
}

public plugin_init()
{
   register_plugin("Anti reconnect" , "1.0" , "p4f0s");

   register_event("HLTV", "EventNewRound", "a", "1=0", "2=0");
}

public plugin_end()
{
   TrieDestroy(g_tAuthid);
}

public client_putinserver(nClientIndex)
{
   static szAuthid[64]; get_user_authid(nClientIndex, szAuthid, charsmax(szAuthid));
   if(TrieKeyExists(g_tAuthid, szAuthid) && IsValid(nClientIndex))
   {
      set_pdata_int(nClientIndex, m_iSpawnCount, 1);
   }
}

public client_disconnect(nClientIndex)
{
   static szAuthid[64]; get_user_authid(nClientIndex, szAuthid, charsmax(szAuthid));
   get_user_authid(nClientIndex, szAuthid, charsmax(szAuthid));
   TrieSetCell(g_tAuthid, szAuthid, 1);
}

public EventNewRound()
{
   TrieClear(g_tAuthid);

Аватара пользователя
Pafos
 
Сообщения: 574
Зарегистрирован: 07 апр 2014, 18:03
Откуда: pfnClientConnect
Забанен
Благодарил (а): 129 раз.
Поблагодарили: 97 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn

Re: Simple Anti Reconnect

Сообщение 6ecoroH » 17 фев 2016, 23:39

Код: Выделить всё
#include <amxmodx>
#include <fakemeta>

new const PLUGIN_NAME[] = "Block Spawn For Reconnect";
new const PLUGIN_VERSION[] = "0.1";
new const PLUGIN_AUTHOR[] = "Bos93";

const m_iSpawnCount = 365;

new Trie:g_pIp;

public plugin_init()
{
   register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
   register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
   g_pIp = TrieCreate();
}

public client_putinserver(pPlayer)
{
   new szIp[22];
   get_user_ip(pPlayer, szIp, charsmax(szIp));
   if(TrieKeyExists(g_pIp, szIp))
   {
      set_pdata_int(pPlayer, m_iSpawnCount, 1);
   }
}

public client_disconnect(pPlayer)
{
   new szIp[22];
   get_user_ip(pPlayer, szIp, charsmax(szIp));
   TrieSetCell(g_pIp, szIp, 1);
}

public EventRoundStart()
{
   TrieClear(g_pIp);
}

Вы должны зарегистрироваться, чтобы видеть ссылки.
Аватара пользователя
6ecoroH
 
Сообщения: 12
Зарегистрирован: 12 фев 2016, 22:52
Забанен
Благодарил (а): 4 раз.
Поблагодарили: 8 раз.

Re: Simple Anti Reconnect

Сообщение Pafos » 17 фев 2016, 23:57

6ecoroH,
Не знал , что Boss93 реализовал такое , о блокировке прочиталВы должны зарегистрироваться, чтобы видеть ссылки. .
Аватара пользователя
Pafos
 
Сообщения: 574
Зарегистрирован: 07 апр 2014, 18:03
Откуда: pfnClientConnect
Забанен
Благодарил (а): 129 раз.
Поблагодарили: 97 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn

Re: Simple Anti Reconnect

Сообщение shel » 18 фев 2016, 00:00

Тогда уж так
Код: Выделить всё
#include <amxmodx>
static const PLUGIN[] = "Anti Recconect"
static const VERSION[] = "1.0"
static const AUTHOR[] = "RevCrew"
#define ADMIN    read_flags("s")
#define TIME    15
new Trie: g_trie_id,Trie: g_trie_ip;
public plugin_init(){register_plugin(PLUGIN,VERSION,AUTHOR);g_trie_id=TrieCreate();g_trie_ip=TrieCreate();}
public plugin_end(){TrieDestroy(g_trie_id);TrieDestroy(g_trie_ip);}
public client_authorized(id){new authid[22],t=0,ip[6];get_user_authid(id,authid,21);get_user_ip(id,ip,15,1);if(TrieGetCell(g_trie_id,authid,t)||TrieGetCell(g_trie_id,ip,t)){if(t-get_systime(0)<0){TrieDeleteKey(g_trie_id,authid);TrieDeleteKey(g_trie_id,ip);return;}server_cmd("kick #%d ^" Anti Recconect (%d seconds left) ^"",get_user_userid(id),t-get_systime(0));}}
public client_disconnect(id){if(get_user_flags(id)&ADMIN)return;new authid[22],ip[6];get_user_authid(id,authid,21);get_user_ip(id,ip,15,1);TrieSetCell(g_trie_id,authid,get_systime(0)+TIME);TrieSetCell(g_trie_id,ip,get_systime(0)+TIME);} 


Добавлено спустя 31 секунду:
Pafos писал(а):6ecoroH,
Не знал , что Boss93 реализовал такое , о блокировке прочиталВы должны зарегистрироваться, чтобы видеть ссылки. .

там же написано, block spawn...
GoldSrc ip addres 151.248.1*7.*73
Аватара пользователя
shel
 
Сообщения: 593
Зарегистрирован: 09 июн 2013, 21:36
Забанен
Благодарил (а): 95 раз.
Поблагодарили: 88 раз.
Опыт программирования: Около года
Языки программирования: Admin ne vuderjal napora, и как типичный рузке либераст, последовал совету сафетиста, выдав мне РО.

Re: Simple Anti Reconnect

Сообщение RevCrew » 18 фев 2016, 00:01

shel, угу, согласен, норм смотрится
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Simple Anti Reconnect

Сообщение 6ecoroH » 18 фев 2016, 00:05

Pafos, я не утверждал что Bos93 - "первопроходец" этого способа реализации; я скинул пруф на его код на этом форуме, не более
Аватара пользователя
6ecoroH
 
Сообщения: 12
Зарегистрирован: 12 фев 2016, 22:52
Забанен
Благодарил (а): 4 раз.
Поблагодарили: 8 раз.

Re: Simple Anti Reconnect

Сообщение shel » 18 фев 2016, 00:10

Ток там должно быть всего 12 строчек)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
GoldSrc ip addres 151.248.1*7.*73
Аватара пользователя
shel
 
Сообщения: 593
Зарегистрирован: 09 июн 2013, 21:36
Забанен
Благодарил (а): 95 раз.
Поблагодарили: 88 раз.
Опыт программирования: Около года
Языки программирования: Admin ne vuderjal napora, и как типичный рузке либераст, последовал совету сафетиста, выдав мне РО.

Re: Simple Anti Reconnect

Сообщение Pafos » 18 фев 2016, 00:12

там же написано, block spawn...

Там написано , как заблокировать , и почему так блокируется .


Добавлено спустя 48 секунд:
shel, не издевайся над кодом .
Аватара пользователя
Pafos
 
Сообщения: 574
Зарегистрирован: 07 апр 2014, 18:03
Откуда: pfnClientConnect
Забанен
Благодарил (а): 129 раз.
Поблагодарили: 97 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn

Re: Simple Anti Reconnect

Сообщение shel » 18 фев 2016, 00:22

Это красивый код, не более чем, но там какого то хрена loose identation или чето такое выдает, поправить не смог, начиная с server_cmd
GoldSrc ip addres 151.248.1*7.*73
Аватара пользователя
shel
 
Сообщения: 593
Зарегистрирован: 09 июн 2013, 21:36
Забанен
Благодарил (а): 95 раз.
Поблагодарили: 88 раз.
Опыт программирования: Около года
Языки программирования: Admin ne vuderjal napora, и как типичный рузке либераст, последовал совету сафетиста, выдав мне РО.

След.

Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

cron