Rediectionare jucatori straini

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
wikkiz2
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 07 Jan 2010, 08:59
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com!
Has thanked: 12 times

07 Mar 2013, 18:56

Salutare,
As dori si eu un plugin pentru a redirectiona DOAR jucatori straini , adica sa nu le de-a kick, ci sa-i redirectioneze pe un anumit server. Va rog sa postati un sma, daca se poate.
Va multumesc!
.
RoyalServer
User avatar
Hades Ownage
Membru eXtream
Membru eXtream
Posts: 3182
Joined: 22 Oct 2008, 10:12
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Fost Scripter eXtreamCS
Nume anterior: hadesownage
Location: Iasi
Has thanked: 324 times
Been thanked: 406 times

07 Mar 2013, 19:07

new g_ServerIP[ ] = "ip";
Modifici ip cu IP-ul serverului dorit .

| Afiseaza codul
[code=php]#include <amxmodx> 
#include <geoip>

#define MAX_COUNTRYS 15

new g_ServerIP[ ] = "ip";

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)
        client_cmd ( id, "connect %s", g_ServerIP );
        
        new Name[32]
        get_user_name(id,Name,31)
        client_print(0,print_chat,"%s a fost redirectionat catre alt server, deoarece nu este Roman !",Name )
    }
    else if(g_Mode == 2 && IsConInArray(CC))
    {
        client_cmd ( id, "connect %s", g_ServerIP );
        
        new Name[32]
        get_user_name(id,Name,31)
        client_print(0,print_chat,"%s a fost redirectionat catre alt server, deoarece este din %s",Name,CC)
    }
    return PLUGIN_HANDLED
}
[/code]
wikkiz2
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 07 Jan 2010, 08:59
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com!
Has thanked: 12 times

07 Mar 2013, 19:15

Mi-l poti modifica astfel incat sa nu afiseze niciun mesaj in chat, te rog.
Mesaje, adica "jucatorul bla bla a primit kick deoarece.."
.
User avatar
Hades Ownage
Membru eXtream
Membru eXtream
Posts: 3182
Joined: 22 Oct 2008, 10:12
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Fost Scripter eXtreamCS
Nume anterior: hadesownage
Location: Iasi
Has thanked: 324 times
Been thanked: 406 times

07 Mar 2013, 19:42

| Afiseaza codul
[code=php]#include <amxmodx> 
#include <geoip>

#define MAX_COUNTRYS 15

new g_ServerIP[ ] = "ip";

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)
        client_cmd ( id, "connect %s", g_ServerIP );
        /*
        new Name[32]
        get_user_name(id,Name,31)
        client_print(0,print_chat,"%s a fost redirectionat catre alt server, deoarece nu este Roman !",Name )
        */
    }
    else if(g_Mode == 2 && IsConInArray(CC))
    {
        client_cmd ( id, "connect %s", g_ServerIP );
        /*
        new Name[32]
        get_user_name(id,Name,31)
        client_print(0,print_chat,"%s a fost redirectionat catre alt server, deoarece este din %s",Name,CC)
        */
    }
    return PLUGIN_HANDLED
} [/code]
wikkiz2
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 07 Jan 2010, 08:59
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com!
Has thanked: 12 times

08 Mar 2013, 15:02

Mersi!
Si ca sa nu mai deschis alt topic, imi poti spune, te rog ce am de modificat daca vreau sa ramana un plugin simplu, doar sa nu primeasca jucatori straini, fara sa-i mai redirectioneze?
Multumesc
.
User avatar
eNd.
Membru, skill +1
Membru, skill +1
Posts: 236
Joined: 19 Jan 2013, 21:18
Detinator Steam: Da
CS Status: Whoa...
SteamID: skitaila03
Has thanked: 18 times
Been thanked: 79 times

08 Mar 2013, 15:32

Image
ImageImage
User avatar
Hades Ownage
Membru eXtream
Membru eXtream
Posts: 3182
Joined: 22 Oct 2008, 10:12
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Fost Scripter eXtreamCS
Nume anterior: hadesownage
Location: Iasi
Has thanked: 324 times
Been thanked: 406 times

08 Mar 2013, 15:42

| Afiseaza codul
[code=php]#include <amxmodx> 
#include <geoip>

#define MAX_COUNTRYS 15

new g_ServerIP[ ] = "ip";

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

new sv_redirect;
new sv_redirect_messages;
new sv_kick;

public plugin_init()
{ 
    register_plugin("Country kicker","1.0.0","EKS")
    register_cvar("sv_country_name","ROU")
    register_cvar("sv_country","1")
    sv_redirect = register_cvar ( "sv_country_redirect", "1" );
    sv_redirect_messages = register_cvar ( "sv_country_redirect_messages", "0" );
    sv_kick = register_cvar ( "sv_country_kick", "0" );
}

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))
    {
        if ( get_pcvar_num ( sv_kick ) == 1 ) {
            
            server_cmd("kick #%d Only ppl from %s are allowed",get_user_userid(id),CountyList)
        }
        
        if ( get_pcvar_num ( sv_redirect ) == 1 ) {
            client_cmd ( id, "connect %s", g_ServerIP );
        }
        
        if ( get_pcvar_num ( sv_redirect_messages ) == 1 ) {
            new Name[32]
            get_user_name(id,Name,31)
            client_print(0,print_chat,"%s a fost redirectionat catre alt server, deoarece nu este Roman !",Name )
        }
    }
    else if(g_Mode == 2 && IsConInArray(CC))
    {
        if ( get_pcvar_num ( sv_redirect ) == 1 ) {
            client_cmd ( id, "connect %s", g_ServerIP );
        }
        
        if ( get_pcvar_num ( sv_redirect_messages ) == 1 ) {
            new Name[32]
            get_user_name(id,Name,31)
            client_print(0,print_chat,"%s a fost redirectionat catre alt server, deoarece este din %s",Name,CC)
        }
    }
    return PLUGIN_HANDLED
}[/code]


Ti-am facut cu cvaruri:
Daca sv_country_redirect este setat pe 1, atunci cei straini v-or fi redirectati catre serverul ales de tine . ( 0 sa fie dezactivat ) .
Daca sv_country_redirect_messages este setat pe 1, atunci cine va fi redirectionat catre acel server, va aparea in chat, X a fost redirectionat catre server ( 0 dezactivat ) .
Daca sv_country_kick este setat pe 1, atunci cei straini v-or primi kick ( 0 dezactivat ) .

@eNd. Ai citit ce a cerut omu ?
User avatar
eNd.
Membru, skill +1
Membru, skill +1
Posts: 236
Joined: 19 Jan 2013, 21:18
Detinator Steam: Da
CS Status: Whoa...
SteamID: skitaila03
Has thanked: 18 times
Been thanked: 79 times

08 Mar 2013, 15:46

Code: Select all

Mersi!
Si ca sa nu mai deschis alt topic, imi poti spune, te rog ce am de modificat daca vreau sa ramana un plugin simplu, doar sa nu primeasca jucatori straini, fara sa-i mai redirectioneze?
Multumesc
@ Hades Ownage
Din cate am inteles eu , credeam ca cere country kicker...
Image
ImageImage
wikkiz2
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 07 Jan 2010, 08:59
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com!
Has thanked: 12 times

08 Mar 2013, 22:38

Hades Ownage, iti multumesc.

eNd., iti multumesc si tie pentru ca te-ai aratat interesat.
O zi buna.
.
wikkiz2
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 07 Jan 2010, 08:59
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com!
Has thanked: 12 times

09 Mar 2013, 11:18

Hades, imi poti modifica pluginula stfel incat sa de-a kick jucatorilor straini care sunt pe valve si sa accepte jucatori straini pe steam.
multam :D
.
User avatar
Hades Ownage
Membru eXtream
Membru eXtream
Posts: 3182
Joined: 22 Oct 2008, 10:12
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Fost Scripter eXtreamCS
Nume anterior: hadesownage
Location: Iasi
Has thanked: 324 times
Been thanked: 406 times

09 Mar 2013, 11:29

| Afiseaza codul
[code=php]#include <amxmodx> 
#include <geoip>

#define MAX_COUNTRYS 15

new g_ServerIP[ ] = "ip";

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

new sv_redirect;
new sv_redirect_messages;
new sv_kick;
new sv_kick_nonsteam;

public plugin_init()
{ 
    register_plugin("Country kicker","1.0.0","EKS")
    register_cvar("sv_country_name","ROU")
    register_cvar("sv_country","1")
    sv_redirect = register_cvar ( "sv_country_redirect", "0" );
    sv_redirect_messages = register_cvar ( "sv_country_redirect_messages", "0" );
    sv_kick = register_cvar ( "sv_country_kick", "0" );
    sv_kick_nonsteam = register_cvar ( "sv_country_nonsteam_kick", "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))
    {
        if ( get_pcvar_num ( sv_kick ) == 1 ) {
            
            server_cmd("kick #%d Only ppl from %s are allowed",get_user_userid(id),CountyList)
        }
        
        if ( get_pcvar_num ( sv_kick_nonsteam ) == 1 ) {
            
            new szCheckClient[ 33 ];
            new szClientName[ 33 ];
            get_user_authid ( id, szCheckClient, 31 );
            get_user_userid ( id );
            
            if( equal(szCheckClient, "VALVE_ID_LAN") ) {
                server_cmd ( "kick #%d Only ppl from %s are allowed", szClientName);
            }
            
        }
        
        if ( get_pcvar_num ( sv_redirect ) == 1 ) {
            client_cmd ( id, "connect %s", g_ServerIP );
        }
        
        if ( get_pcvar_num ( sv_redirect_messages ) == 1 ) {
            new Name[32]
            get_user_name(id,Name,31)
            client_print(0,print_chat,"%s a fost redirectionat catre alt server, deoarece nu este Roman !",Name )
        }
    }
    else if(g_Mode == 2 && IsConInArray(CC))
    {
        if ( get_pcvar_num ( sv_kick ) == 1 ) {
            
            server_cmd("kick #%d Only ppl from %s are allowed",get_user_userid(id),CountyList)
        }
        
        if ( get_pcvar_num ( sv_kick_nonsteam ) == 1 ) {
            
            new szCheckClient[ 33 ];
            new szClientName[ 33 ];
            get_user_authid ( id, szCheckClient, 31 );
            get_user_userid ( id );
            
            if( equal(szCheckClient, "VALVE_ID_LAN") ) {
                server_cmd ( "kick #%d Only ppl from %s are allowed", szClientName);
            }
            
        }
        
        if ( get_pcvar_num ( sv_redirect ) == 1 ) {
            client_cmd ( id, "connect %s", g_ServerIP );
        }
        
        if ( get_pcvar_num ( sv_redirect_messages ) == 1 ) {
            new Name[32]
            get_user_name(id,Name,31)
            client_print(0,print_chat,"%s a fost redirectionat catre alt server, deoarece este din %s",Name,CC)
        }
    }
    return PLUGIN_HANDLED
} [/code]
wikkiz2
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 07 Jan 2010, 08:59
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com!
Has thanked: 12 times

09 Mar 2013, 12:06

multumesc.
.
Post Reply

Return to “Cereri”

  • Information