Problema country_kicker !!!!
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- Mir3l
- Fost moderator
- Posts: 228
- Joined: 30 Oct 2007, 18:34
- Detinator Steam: Da
- CS Status: Momentan fac stau ...
Deci am facut fix ca in tutorialul facut de La@ur dar cand incerc sa intru pe server imi zice ca nu sunt din romania !!! am facut si ce era pe forum dar mie imi apare ca nu sunt din romania am pus cvaurile acelea da nu stiu ce are.....spuneti'mi si mie ce are va rog :|
- dEiu
- Membru, skill 0
- Posts: 68
- Joined: 28 Jun 2007, 20:12
- Detinator Steam: Da
- CS Status: TRG
- Location: Zalau
#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","ROU")
register_cvar("sv_country","1")
}
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)
}
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))
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
#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","ROU")
register_cvar("sv_country","1")
}
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)
}
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))
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