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

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

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

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

Обьясните по country_kicker

, Побыстреее Если можно
Статус пользователя otec_cs
сообщение 5.2.2011, 22:56
Сообщение #1
Стаж: 16 лет

Сообщений: 407
Благодарностей: 20
Полезность: < 0

.sma
Код
/* Country kicker

About:
This plugin is used if you only want ppl from spesfic countrys on your server, or wanna prevent ppl from a spesfic countrys from entering

Forum topic: http://www.amxmodx.org/forums/viewtopic.php?t=12063

Modules required: geoip

Credits:
Ops in #AMXmod @ Quakenet for alot of help ( + AssKicker & CheesyPeteza )
xeroblood Explode string func

Setting up plugin:
sv_country
1 Only allow ppl from this country  
2 Everyone exect from this country

sv_country_name use commas to seperate country names
like:
sv_country_name "NOR,DEN"

Changelog
1.0.0( 18.12.2004 )
    - First public release
*/

#include <amxmodx>
#include <geoip>

#define MAX_COUNTRYS 15

new g_Mode
new g_CC[MAX_COUNTRYS+1][4]
new g_Countries
new CountyList[128]

public plugin_init()
{
    register_plugin("Country kicker","1.0.0","EKS")
    register_cvar("sv_country_name","NOR,DEN")
    register_cvar("sv_country","2")
}

public plugin_cfg()
{
    g_Mode = get_cvar_num("sv_country")
    
    new CvarInfo[MAX_COUNTRYS*3+MAX_COUNTRYS+2]
    get_cvar_string("sv_country_name",CvarInfo,MAX_COUNTRYS*3+MAX_COUNTRYS+2)
    
    g_Countries = ExplodeString( g_CC, MAX_COUNTRYS, 3, CvarInfo, ',' )
    
    for(new i=0;i<=g_Countries;i++)
        format(CountyList,127,"%s %s",CountyList,g_CC[i])
}
stock ExplodeString( p_szOutput[][], p_nMax, p_nSize, p_szInput[], p_szDelimiter )
{
    new nIdx = 0, l = strlen(p_szInput)
    new nLen = (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput, p_szDelimiter ))
    while( (nLen < l) && (++nIdx < p_nMax) )
        nLen += (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput[nLen], p_szDelimiter ))
    return nIdx
}
stock IsConInArray(Con[4])
{
    for(new i=0;i<=g_Countries;i++)
    {
        if(equal(Con,g_CC[i]))
            return 1
    }
    return 0
}
stock IsLocalIp(IP[32])
{
    new tIP[32]
    
    copy(tIP,3,IP)
    if(equal(tIP,"10.") || equal(tIP,"127"))
        return 1
    copy(tIP,7,IP)
    if(equal(tIP,"192.168"))
        return 1

    return 0
}
public client_connect(id)
{
    new userip[32]
    new CC[4]
    get_user_ip(id,userip,31,1)

    geoip_code3(userip,CC)
    if(strlen(userip) == 0)
    {
        get_user_ip(id,userip,31,1)        
        if(!IsLocalIp(userip))
            log_amx("%s made a error when passed though geoip",userip)
        return PLUGIN_HANDLED
    }
    
    if(g_Mode == 1 && !IsConInArray(CC))
    {
        server_cmd("kick #%d Only ppl from %s are allowed",get_user_userid(id),CountyList)
        
        new Name[32]
        get_user_name(id,Name,31)
        client_print(0,print_chat,"%s was kicked because he is not from %s",Name,CountyList)
    }
    else if(g_Mode == 2 && IsConInArray(CC))
    {
        server_cmd("kick #%d No %s are allowed on this server",get_user_userid(id),CC)
        
        new Name[32]
        get_user_name(id,Name,31)
        client_print(0,print_chat,"%s was kicked because he is from %s",Name,CC)
    }
    return PLUGIN_HANDLED
}


Вот надо в обе строчки писать страны которые я нехочу видеть на сервере или в какую то одну ?
sv_country_name "NOR,DEN"
register_cvar("sv_country_name","NOR,DEN")

CHN,AFG,AZE,ARM,KGZ,PSE,GEO,ALB
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Hnt
сообщение 5.2.2011, 23:33
Сообщение #2


Стаж: 18 лет

Сообщений: 810
Благодарностей: 198
Полезность: 494

.......измени и скомпиль sma ------> Online compile

Код
register_cvar("sv_country_name","NOR,DEN")


Отредактировал: Hnt, - 5.2.2011, 23:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GODZILLA
сообщение 6.2.2011, 17:27
Сообщение #3


Стаж: 18 лет

Сообщений: 1471
Благодарностей: 440
Полезность: 716

Зачем комплить ? это квар. можно прописать как в server.cfg , так и в amxx.cfg или в любой другой конфиг!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
danisimus78
сообщение 3.2.2014, 6:56
Сообщение #4
Стаж: 13 лет

Сообщений: 170
Благодарностей: 31
Полезность: 0

Здравствуйте! Нужен плагин Country_kicker.amxx но сделать вход так, чтобы у админов допустим с Литвы был иммунитет, а остальным кто с Литвы вход был бы закрыт.

Возможно ли сделать такой плагин???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TarikYuzkiv
сообщение 3.2.2014, 7:16
Сообщение #5
Стаж: 13 лет

Сообщений: 509
Благодарностей: 196
Полезность: 635

Цитата(danisimus78 @ 3.2.2014, 8:56) *
Здравствуйте! Нужен плагин Country_kicker.amxx но сделать вход так, чтобы у админов допустим с Литвы был иммунитет, а остальным кто с Литвы вход был бы закрыт.

Возможно ли сделать такой плагин???

Пробуйте.
Скрытый текст
Код
/* Country kicker

About:
This plugin is used if you only want ppl from spesfic countrys on your server, or wanna prevent ppl from a spesfic countrys from entering

Forum topic: http://www.amxmodx.org/forums/viewtopic.php?t=12063

Modules required: geoip

Credits:
Ops in #AMXmod @ Quakenet for alot of help ( + AssKicker & CheesyPeteza )
xeroblood Explode string func

Setting up plugin:
sv_country
1 Only allow ppl from this country  
2 Everyone exect from this country

sv_country_name use commas to seperate country names
like:
sv_country_name "NOR,DEN"

Changelog
1.0.0( 18.12.2004 )
    - First public release
*/

#include <amxmodx>
#include <geoip>

#define MAX_COUNTRYS 15

new g_Mode
new g_CC[MAX_COUNTRYS+1][4]
new g_Countries
new CountyList[128]

public plugin_init()
{
    register_plugin("Country kicker","1.0.0","EKS")
    register_cvar("sv_country_name","NOR,DEN")
    register_cvar("sv_country","2")
}

public plugin_cfg()
{
    g_Mode = get_cvar_num("sv_country")
    
    new CvarInfo[MAX_COUNTRYS*3+MAX_COUNTRYS+2]
    get_cvar_string("sv_country_name",CvarInfo,MAX_COUNTRYS*3+MAX_COUNTRYS+2)
    
    g_Countries = ExplodeString( g_CC, MAX_COUNTRYS, 3, CvarInfo, ',' )
    
    for(new i=0;i<=g_Countries;i++)
        format(CountyList,127,"%s %s",CountyList,g_CC[i])
}
stock ExplodeString( p_szOutput[][], p_nMax, p_nSize, p_szInput[], p_szDelimiter )
{
    new nIdx = 0, l = strlen(p_szInput)
    new nLen = (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput, p_szDelimiter ))
    while( (nLen < l) && (++nIdx < p_nMax) )
        nLen += (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput[nLen], p_szDelimiter ))
    return nIdx
}
stock IsConInArray(Con[4])
{
    for(new i=0;i<=g_Countries;i++)
    {
        if(equal(Con,g_CC[i]))
            return 1
    }
    return 0
}
stock IsLocalIp(IP[32])
{
    new tIP[32]
    
    copy(tIP,3,IP)
    if(equal(tIP,"10.") || equal(tIP,"127"))
        return 1
    copy(tIP,7,IP)
    if(equal(tIP,"192.168"))
        return 1

    return 0
}
public client_authorized(id)
{
    if(get_user_flags(id) & ADMIN_BAN){      // флаг админа
    return PLUGIN_HANDLED
    }

    new userip[32]
    new CC[4]
    get_user_ip(id,userip,31,1)

    geoip_code3(userip,CC)
    if(strlen(userip) == 0)
    {
        get_user_ip(id,userip,31,1)        
        if(!IsLocalIp(userip))
            log_amx("%s made a error when passed though geoip",userip)
        return PLUGIN_HANDLED
    }
    
    if(g_Mode == 1 && !IsConInArray(CC))
    {
        server_cmd("kick #%d Only ppl from %s are allowed",get_user_userid(id),CountyList)
        
        new Name[32]
        get_user_name(id,Name,31)
        client_print(0,print_chat,"%s was kicked because he is not from %s",Name,CountyList)
    }
    else if(g_Mode == 2 && IsConInArray(CC))
    {
        server_cmd("kick #%d No %s are allowed on this server",get_user_userid(id),CC)
        
        new Name[32]
        get_user_name(id,Name,31)
        client_print(0,print_chat,"%s was kicked because he is from %s",Name,CC)
    }
    return PLUGIN_HANDLED
}


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