Team_swtich

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
nuodas159
Flooderis arba specialistas
Posts: 522
Joined: 2010 Sep 03 15:30
Skype: nuodas159
Location: SunCity

Team_swtich

Post by nuodas159 »

Sveiki. Kodel mapui pasikeitus. Prasideda pirmasis roundas ir keiciasi viena karta ,bet turetu keistis 2kartus jei po sio round praejus keiciasi 2kartus delko?? +karma

Code: Select all

#include <amxmodx>#include <amxmisc>#include <cstrike> #define PLUGIN "Auto Team Switcher"#define VERSION "1.0"#define AUTHOR "nikhilgupta345" #pragma semicolon 1 new roundnumber = 0;new Atsround; public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR);        register_clcmd( "say /roundnumber", "sayRound" );    register_concmd( "amx_roundrestart", "restartnumber", ADMIN_KICK );        register_logevent( "roundend", 2, "1=Round_End" );    register_event( "TextMsg","restart","a","2&#Game_C", "2&#Game_W" ); // Event for "Game Commencing" TextMsg and "Game Will Restart in X Seconds" TextMsg        Atsround = register_cvar( "amx_atsrounds", "15" );    } public sayRound( id ){    client_print( id, print_chat, "The current round is %i.", roundnumber );    return PLUGIN_HANDLED;} public roundend() {         roundnumber++;             if( roundnumber >= get_pcvar_num( Atsround ) )         {                   new players[32], num;                get_players( players, num, "h");                         for( new i; i < num; i++ )                 {                           new id=players[i];                         switch (get_user_team(id))                         {                                 case 1: cs_set_user_team(id, CS_TEAM_CT);                                     case 2: cs_set_user_team(id, CS_TEAM_T);                             }                 }             roundnumber = 0;    } } public restartnumber( id, level, cid ){    if( !cmd_access( id, level, cid, 1 ) )        return PLUGIN_HANDLED;        roundnumber = 0;    return PLUGIN_HANDLED;} public restart( id ){    roundnumber = 0;    return PLUGIN_HANDLED;} public changeTeam( id ){    set_hudmessage(150, 210, 50, 0.46, 0.45, 0, 0.0, 2.0, 2.0, 1.0, -1);        show_hudmessage(0, "Switching Teams");     switch( cs_get_user_team( id ) )    {        case CS_TEAM_CT: cs_set_user_team( id, CS_TEAM_T );                case CS_TEAM_T: cs_set_user_team( id, CS_TEAM_CT );    }     roundnumber = 0;}
Image

addinol
Jau po truputį tampa savu
Posts: 144
Joined: 2010 Sep 05 15:20
Skype: kasparas94

Re: Team_swtich

Post by addinol »

Pirmiausia tai:

register_event( "TextMsg","restart","a","2&#Game_C", "2&#Game_W" );

Šis eventas index'o neturi kurį tu nurodei

public restart( id )

Jei bus daug žaidėjų užsibugins, nes kai keisis bus full teamas 1. patariu daryti taip, skaidyti teamus dar į 4 dalis.

nuo 1 iki 4 žaidėjo iš CT team perkeliama į T
nuo 1 iki 4 žaidėjo iš T team perkeliama į CT
nuo 4 iki 8 iš CT į T
nuo 4 iki 8 iš T į CT
nuo 8 iki 12 iš CT į T
nuo 8 iki 12 iš T į CT
nuo 12 iki 16 iš CT į T
nuo 12 iki 16 iš T į CT

Jei jau includinai cstrike modulį, tai naudok ir kitur cs_get_user_team vietoj get_user_team.

O tavo užduoto klausimo nelabai supratau, aiškiau gal galėtum išdėstyti problemą.

User avatar
nuodas159
Flooderis arba specialistas
Posts: 522
Joined: 2010 Sep 03 15:30
Skype: nuodas159
Location: SunCity

Re: Team_swtich

Post by nuodas159 »

Code: Select all

 #include <amxmodx>#include <amxmisc>#include <cstrike> #define PLUGIN "Auto Team Switcher"#define VERSION "1.0"#define AUTHOR "nikhilgupta345" #pragma semicolon 1 new roundnumber = 0;new Atsround; public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR);        register_clcmd( "say /roundnumber", "sayRound" );    register_concmd( "amx_roundrestart", "restartnumber", ADMIN_KICK );        register_logevent( "roundend", 2, "1=Round_End" );    register_event( "TextMsg","restart","a","2&#Game_C", "2&#Game_W" );        Atsround = register_cvar( "amx_atsrounds", "15" );    } public sayRound( id ){    client_print( id, print_chat, "The current round is %i.", roundnumber );    return PLUGIN_HANDLED;} public roundend() {         roundnumber++;             if( roundnumber >= get_pcvar_num( Atsround ) )         {                   new players[32], num;                get_players( players, num, "h");                         for( new i; i < num; i++ )                 {                           new id=players[i];                         switch (get_user_team(id))                         {                                 case 1: cs_set_user_team(id, CS_TEAM_CT);                                     case 2: cs_set_user_team(id, CS_TEAM_T);                             }                 }             roundnumber = 0;    } } public restartnumber( id, level, cid ){    if( !cmd_access( id, level, cid, 1 ) )        return PLUGIN_HANDLED;        roundnumber = 0;    return PLUGIN_HANDLED;} public restart( id ){    roundnumber = 0;    return PLUGIN_HANDLED;} public changeTeam( id ){    set_hudmessage(150, 210, 50, 0.46, 0.45, 0, 0.0, 2.0, 2.0, 1.0, -1);        show_hudmessage(0, "Switching Teams");     switch( get_user_team( id ) )    {        case CS_TEAM_CT: cs_set_user_team( id, CS_TEAM_T );                case CS_TEAM_T: cs_set_user_team( id, CS_TEAM_CT );    }     roundnumber = 0;} public restart( id ){    switch( id )    {        case 1..4: set_task( 0.1, "changeTeam", id );        case 8..15: set_task( 0.2, "changeTeam", id );        case 16..23: set_task( 0.3, "changeTeam", id );        case 24..32: set_task( 0.4, "changeTeam", id );    }}
Kazkas panasaus?
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests