Auto Team Ballancer

Pluginuri pentru modul AmxModX.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
NisQ
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 4070
Joined: 26 May 2011, 01:52
Detinator Steam: Da
CS Status: 4k hours and still countin'
Detinator server CS: GG.FRAGWAY.COM
SteamID: nisq4vibe
Reputatie: Utilizator neserios (tepar)
Location: LONDON U.K
Has thanked: 29 times
Been thanked: 75 times
Contact:

17 Mar 2013, 12:05

Bun plugin.

Daca mi-ai si spune cum pot seta numarul de secunde al afisarii mesajului de transfer (sa tina 5-6 secunde)

Mersi
Workin' on my sheet - https://dreambabes.co.uk/
RoyalServer
a[L]eX
Membru, skill +1
Membru, skill +1
Posts: 339
Joined: 24 Feb 2012, 22:28
Detinator Steam: Da
SteamID: Alecsxu
Has thanked: 23 times
Been thanked: 6 times

17 Mar 2013, 19:57

Multumim !
L-am adaugat pe serverul propriu.
Astept sa vad cum merge :-?
scosmyn
Membru, skill 0
Membru, skill 0
Posts: 36
Joined: 06 Jun 2013, 15:40
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Contact:

06 Jun 2013, 15:59

robertitto joci si dota tu ma , te stiu..
Cs.Xploid.Ro
totalcs
Membru, skill +1
Membru, skill +1
Posts: 146
Joined: 25 Dec 2011, 12:12
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 9 times
Been thanked: 5 times
Contact:

16 Jun 2013, 14:30

Frumos, felicitari Annakin.
User avatar
kiarfuzzy
Membru, skill +1
Membru, skill +1
Posts: 375
Joined: 06 Jan 2008, 15:20
Detinator Steam: Da
Detinator server CS: Fy.Play-Arena.Ro
SteamID: FuZzy1
Reputatie: Fost Membru Club eXtreamCS (trei luni)
Been thanked: 3 times

26 Dec 2016, 09:30

Am pluginul asta https://forums.alliedmods.net/showthread.php?p=758720 care baga 2 buti pe spec pentru a bloca terminarea rundei.

Problema e ca uneori pluginul ii baga si pe buti la joc, si ma trezesc ca sunt 1 ct contra 3 tero.

Il poate modifica cineva in asa fel incat sa ignore butii?
User avatar
kiarfuzzy
Membru, skill +1
Membru, skill +1
Posts: 375
Joined: 06 Jan 2008, 15:20
Detinator Steam: Da
Detinator server CS: Fy.Play-Arena.Ro
SteamID: FuZzy1
Reputatie: Fost Membru Club eXtreamCS (trei luni)
Been thanked: 3 times

17 Mar 2017, 08:29

Am facut cateva imbunatatiri acestui plugin, mai jos gasiti 2 versiuni una care nu ignora botii si alta care ignora butii, pe langa asta am mai adaugat:
- fade effect alb (ca la vampire.amx) cand esti mutat la echipa adversa
- mesajul "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." apare de 5 ori in chat cand esti mutat

Versinea 1 (default, care nu ignora boti, recomandata daca ai POD Bots pe server)
cs16_ballancer_bot.sma | Afiseaza codul
#include < amxmodx > 
#include < cstrike > 

#define PLUGIN "CS16 Ballancer" 
#define VERSION "0.1" 
#define AUTHOR "aNNakin" 

new gi_MaxPlayers; 

new const gs_Teams[ ][ ] = 
{ 
    "TERRORIST", 
    "CT" 
}; 

// - - - - - - - - - 
#define    INTERVAL 15    /* din cate in cate secunde se vor verifica echipele */ 
const i_Immunity = 0;    /* 1 = adminii au imunitate, 0 adminii nu au imunitate */ 
// - - - - - - - - - 

public plugin_init ( ) 
{ 
    register_plugin ( PLUGIN, VERSION, AUTHOR ); 
    gi_MaxPlayers = get_maxplayers ( ); 
    set_task ( float ( INTERVAL ), "CheckTeams", _, _, _, "b" ); 
} 

public CheckTeams ( ) 
{ 
    new i_TsNum = get_team_num ( 1 ); 
    new i_CTsNum = get_team_num ( 2 ); 
     
    while ( ( i_TsNum - i_CTsNum ) > 1 ) 
    { 
        i_TsNum--; ++i_CTsNum; 
        transfer_user ( 1, 2 ); 
    } 
     
    while ( ( i_TsNum - i_CTsNum ) < -1 ) 
    { 
        i_TsNum++; --i_CTsNum; 
        transfer_user ( 2, 1 ); 
    } 
         
} 

stock get_team_num ( i_Team ) 
{ 
    new i_Count, i_Index; 
     
    for ( i_Index = 1; i_Index <= gi_MaxPlayers; i_Index++ ) 
        if ( get_user_team ( i_Index ) == i_Team ) 
            i_Count++; 
             
    return i_Count; 
} 

stock transfer_user ( i_From, i_To ) 
{ 
    new i_Players[ 32 ], i_Num; 
    get_players ( i_Players, i_Num, "ae", gs_Teams[ ( i_From - 1 ) ] ) 
     
    ChoosePlayer: 
    new i_Player = i_Players[ random_num ( 0, i_Num-1 ) ]; 
     
    if ( ! is_user_alive ( i_Player ) || ( i_Immunity && get_user_flags ( i_Player ) & ADMIN_IMMUNITY ) ) 
        goto ChoosePlayer; 
     
    switch ( i_To ) 
    { 
        case 1: cs_set_user_team ( i_Player, CS_TEAM_T ); 
        case 2: cs_set_user_team ( i_Player, CS_TEAM_CT ); 
    } 
     
    //set_hudmessage ( 255, 85, 0, 0.01, 0.26, 0, 6.0, 7.0 ); 
    //show_hudmessage ( i_Player, "Ai fost transferat la cealalalta echipa^npentru a echilibra jocul.") 
       
    // Screen fading 
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, i_Player) 
   write_short(1<<10) 
   write_short(1<<10) 
   write_short(0x0000) 
   write_byte(255) 
   write_byte(255) 
   write_byte(255) 
   write_byte(100) 
   message_end() 
     
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." ); 
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." ); 
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." ); 
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." ); 
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." ); 


}
Versiunea 2 (Aceasta ignora boti, jucatori fake/reclama ce sunt spec)
cs16_ballancer_nobot.sma | Afiseaza codul
#include < amxmodx >  
#include < cstrike >  

#define PLUGIN "CS16 Ballancer"  
#define VERSION "0.1"  
#define AUTHOR "aNNakin"  

new gi_MaxPlayers;  

new const gs_Teams[ ][ ] =  
{  
    "TERRORIST",  
    "CT"  
};  

// - - - - - - - - -  
#define    INTERVAL 15    /* din cate in cate secunde se vor verifica echipele */  
const i_Immunity = 0;    /* 1 = adminii au imunitate, 0 adminii nu au imunitate */  
// - - - - - - - - -  

public plugin_init ( )  
{  
    register_plugin ( PLUGIN, VERSION, AUTHOR );  
    gi_MaxPlayers = get_maxplayers ( );  
    set_task ( float ( INTERVAL ), "CheckTeams", _, _, _, "b" );  
}  

public CheckTeams ( )  
{  
    new i_TsNum = get_team_num ( 1 );  
    new i_CTsNum = get_team_num ( 2 );  
      
    while ( ( i_TsNum - i_CTsNum ) > 1 )  
    {  
        i_TsNum--; ++i_CTsNum;  
        transfer_user ( 1, 2 );  
    }  
      
    while ( ( i_TsNum - i_CTsNum ) < -1 )  
    {  
        i_TsNum++; --i_CTsNum;  
        transfer_user ( 2, 1 );  
    }  
          
}  

stock get_team_num ( i_Team )  
{ 
    new i_Count, i_Index;  
    new szIp[15]; 
    for ( i_Index = 1; i_Index <= gi_MaxPlayers; i_Index++ ) 
    { 
        if(is_user_connected(i_Index)) 
        { 
            get_user_ip(i_Index, szIp, charsmax(szIp), 1) 
            if ( get_user_team ( i_Index ) == i_Team && !equal(szIp,"127.0.0.1"))  
                i_Count++; 
        } 
    } 
              
    return i_Count;  
} 

stock transfer_user ( i_From, i_To )  
{  
    new i_Players[ 32 ], i_Num;  
    get_players ( i_Players, i_Num, "ae", gs_Teams[ ( i_From - 1 ) ] )  
      
    ChoosePlayer:  
    new i_Player = i_Players[ random_num ( 0, i_Num-1 ) ];  
    new szIp[15]; 
    get_user_ip(i_Player, szIp, charsmax(szIp), 1) 
    if ( ! is_user_alive ( i_Player ) || ( i_Immunity && get_user_flags ( i_Player ) & ADMIN_IMMUNITY ) || equal(szIp,"127.0.0.1"))  
        goto ChoosePlayer;  
      
    switch ( i_To )  
    {  
        case 1: cs_set_user_team ( i_Player, CS_TEAM_T );  
        case 2: cs_set_user_team ( i_Player, CS_TEAM_CT );  
    }  
      
    //set_hudmessage ( 255, 85, 0, 0.01, 0.26, 0, 6.0, 7.0 );  
    //show_hudmessage ( i_Player, "Ai fost transferat la cealalalta echipa^npentru a echilibra jocul.")  
        
    // Screen fading  
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, i_Player)  
   write_short(1<<10)  
   write_short(1<<10)  
   write_short(0x0000)  
   write_byte(255)  
   write_byte(255)  
   write_byte(255)  
   write_byte(100)  
   message_end()  
      
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." );  
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." );  
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." );  
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." );  
    client_print ( i_Player, print_chat, "[ATENTIE] Ai fost mutat la echipa adversa pentru a echilibra jocul." );  


}
Post Reply

Return to “AmxModX”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 6 guests