←  Pluginy AMXX

AMXX.pl: Support AMX Mod X i SourceMod

»

Country Kicker

naXe - zdjęcie naXe 26.03.2009

[PLUGIN] Country Kicker



OPIS:
Dzięki plugionowi nie będzie mógł wejść gracz z innego państwa.

INSTALACJA:
Plik country_kicker.amxx wrzuć do addons/amxmodx/plugins
Plik country_kicker.sma wrzuć do addons/amxmodx/scripting

Otwieramy w edytorze tekstowym plik addons/amxmodx/configs/plugins.ini i dopisujemy na samym końcu: country_kicker.amxx


INFORMACJE:
Przetłumaczył na PL - naXe
Plugin został dostosowany, aby tylko Polacy mogli grać.
Jeżeli chcesz, aby grali gracze nie tylko z Polski, a np. z Niemiec to trzeba zmienić w *.sma
sv_country_name "POL"
na:
sv_country_name "POL,DEU"
POL - kod
DEU - kod
Wszystkie kody państw są na tej stronce należy używać tylko tabelki A-3

Załączone pliki

Odpowiedz

  • +
  • -
Cheeba - zdjęcie Cheeba 06.02.2012

a nie da się tak, żeby wywalało tylko niemcow? czyli wszystko oprócz niemców.Bo tak to musiałbym wszystkie kraje wpisywać. jak to przerobic?
Odpowiedz

  • +
  • -
bociek1994 - zdjęcie bociek1994 27.09.2012

Już pisałem. Teraz oficjalnie. Jest ktoś w stanie przerobić ten plugin do jak najprostrzej postaci?
Chodzi mi o usunięcie niepotrzebnych funkcji dotyczących wyświetlania informacji w say'u.
Odpowiedz

AztekHQS - zdjęcie AztekHQS 27.09.2012

Już pisałem. Teraz oficjalnie. Jest ktoś w stanie przerobić ten plugin do jak najprostrzej postaci?
Chodzi mi o usunięcie niepotrzebnych funkcji dotyczących wyświetlania informacji w say'u.

#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, translated naXe")
register_cvar("sv_country_name","POL")
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[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 Tylko POL %s jest dopuszczalna",get_user_userid(id),CountyList)

else if(g_Mode == 2 && IsConInArray(CC))
server_cmd("kick #%d No %s sa dopuszczane na tym serwerze",get_user_userid(id),CC)

return PLUGIN_HANDLED
}
Odpowiedz

  • +
  • -
sNH. - zdjęcie sNH. 27.09.2012

@up jaśniej? Co chcesz, żeby zostało itd. Tylko wywalić info?
Odpowiedz

  • +
  • -
bociek1994 - zdjęcie bociek1994 28.09.2012

Dziękuje za przerobienie ! Mam jeszcze jedno pytanie. Jest możliwość dodania wyjątku względem jednej osoby?
Nie wiem - plugin nie obejmuje osób, z którąś flagą?

Znalazłem : w załączniku.

Jest ktoś w stanie wyrzucić te zbędne wiadomości tak jak kolega powyżej to zrobił i zmienić wyjątki z IP na nick? Będę bardzo wdzięczny !

Załączone pliki


Użytkownik bociek1994 edytował ten post 28.09.2012 18:54
Odpowiedz