Team_Join buginas

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
DenDe
Jau po truputį tampa savu
Posts: 124
Joined: 2015 Feb 25 15:12

Team_Join buginas

Post by DenDe »

Code: Select all

#include <amxmodx> enum{    TEAM_NONE = 0,    TEAM_T,    TEAM_CT,    TEAM_SPEC,        MAX_TEAMS};new const g_cTeamChars[MAX_TEAMS] ={    'U',    'T',    'C',    'S'};new const g_sTeamNums[MAX_TEAMS][] ={    "0",    "1",    "2",    "3"};new const g_sClassNums[MAX_TEAMS][] ={    "1",    "2",    "3",    "4"}; // Old Style Menusstock const FIRST_JOIN_MSG[] =      "#Team_Select";stock const FIRST_JOIN_MSG_SPEC[] = "#Team_Select_Spect";stock const INGAME_JOIN_MSG[] =     "#IG_Team_Select";stock const INGAME_JOIN_MSG_SPEC[] =    "#IG_Team_Select_Spect";const iMaxLen = sizeof(INGAME_JOIN_MSG_SPEC); // New VGUI Menusstock const VGUI_JOIN_TEAM_NUM =        2; new g_iTeam[33];new g_iPlayers[MAX_TEAMS]; new tjm_join_team;new tjm_switch_team;new tjm_class[MAX_TEAMS];new tjm_block_change; public plugin_init(){    register_plugin("Team Join Management", "0.3", "Exolent");    register_event("TeamInfo", "event_TeamInfo", "a");    register_message(get_user_msgid("ShowMenu"), "message_ShowMenu");    register_message(get_user_msgid("VGUIMenu"), "message_VGUIMenu");    tjm_join_team = register_cvar("tjm_join_team", "4");    tjm_switch_team = register_cvar("tjm_switch_team", "0");    tjm_class[TEAM_T] = register_cvar("tjm_class_t", "5");    tjm_class[TEAM_CT] = register_cvar("tjm_class_ct", "5");    tjm_block_change = register_cvar("tjm_block_change", "0");} public plugin_cfg(){    set_cvar_num("mp_limitteams", 32);    set_cvar_num("sv_restart", 1);} public client_disconnect(id){    remove_task(id);} public event_TeamInfo(){    new id = read_data(1);    new sTeam[32], iTeam;    read_data(2, sTeam, sizeof(sTeam) - 1);    for(new i = 0; i < MAX_TEAMS; i++)    {        if(g_cTeamChars[i] == sTeam[0])        {            iTeam = i;            break;        }    }        if(g_iTeam[id] != iTeam)    {        g_iPlayers[g_iTeam[id]]--;        g_iTeam[id] = iTeam;        g_iPlayers[iTeam]++;    }} public message_ShowMenu(iMsgid, iDest, id){    static sMenuCode[iMaxLen];    get_msg_arg_string(4, sMenuCode, sizeof(sMenuCode) - 1);    if(equal(sMenuCode, FIRST_JOIN_MSG) || equal(sMenuCode, FIRST_JOIN_MSG_SPEC))    {        if(should_autojoin(id))        {            set_autojoin_task(id, iMsgid);            return PLUGIN_HANDLED;        }    }    else if(equal(sMenuCode, INGAME_JOIN_MSG) || equal(sMenuCode, INGAME_JOIN_MSG_SPEC))    {        if(should_autoswitch(id))        {            set_autoswitch_task(id, iMsgid);            return PLUGIN_HANDLED;        }        else if(get_pcvar_num(tjm_block_change))        {            return PLUGIN_HANDLED;        }    }    return PLUGIN_CONTINUE;} public message_VGUIMenu(iMsgid, iDest, id){    if(get_msg_arg_int(1) != VGUI_JOIN_TEAM_NUM)    {        return PLUGIN_CONTINUE;    }        if(should_autojoin(id))    {        set_autojoin_task(id, iMsgid);        return PLUGIN_HANDLED;    }    else if(should_autoswitch(id))    {        set_autoswitch_task(id, iMsgid);        return PLUGIN_HANDLED;    }    else if((TEAM_NONE < g_iTeam[id] < TEAM_SPEC) && get_pcvar_num(tjm_block_change))    {        return PLUGIN_HANDLED;    }    return PLUGIN_CONTINUE;} public task_Autojoin(iParam[], id){    new iTeam = get_new_team(get_pcvar_num(tjm_join_team));    if(iTeam != -1)    {        handle_join(id, iParam[0], iTeam);    }} public task_Autoswitch(iParam[], id){    new iTeam = get_switch_team(id);    if(iTeam != -1)    {        handle_join(id, iParam[0], iTeam);    }} stock handle_join(id, iMsgid, iTeam){    new iMsgBlock = get_msg_block(iMsgid);    set_msg_block(iMsgid, BLOCK_SET);        engclient_cmd(id, "jointeam", g_sTeamNums[iTeam]);        new iClass = get_team_class(iTeam);    if(1 <= iClass <= 4)    {        engclient_cmd(id, "joinclass", g_sClassNums[iClass - 1]);    }    set_msg_block(iMsgid, iMsgBlock);} stock get_new_team(iCvar){    switch(iCvar)    {        case 1:        {            return TEAM_T;        }        case 2:        {            return TEAM_CT;        }        case 3:        {            return TEAM_SPEC;        }        case 4:        {            new iTCount = g_iPlayers[TEAM_T];            new iCTCount = g_iPlayers[TEAM_CT];            if(iTCount < iCTCount)            {                return TEAM_T;            }            else if(iTCount > iCTCount)            {                return TEAM_CT;            }            else            {                return random_num(TEAM_T, TEAM_CT);            }        }    }    return -1;} stock get_switch_team(id){    new iTeam;        new iTCount = g_iPlayers[TEAM_T];    new iCTCount = g_iPlayers[TEAM_CT];    switch(g_iTeam[id])    {        case TEAM_T: iTCount--;        case TEAM_CT: iCTCount--;    }    if(iTCount < iCTCount)    {        iTeam = TEAM_T;    }    else if(iTCount > iCTCount)    {        iTeam = TEAM_CT;    }    else    {        iTeam = random_num(TEAM_T, TEAM_CT);    }        if(iTeam != g_iTeam[id])    {        return iTeam;    }        return -1;} stock get_team_class(iTeam){    new iClass;    if(TEAM_NONE < iTeam < TEAM_SPEC)    {        iClass = get_pcvar_num(tjm_class[iTeam]);        if(iClass < 1 || iClass > 4)        {            iClass = random_num(1, 4);        }    }    return iClass;} stock set_autojoin_task(id, iMsgid){    new iParam[2];    iParam[0] = iMsgid;    set_task(0.1, "task_Autojoin", id, iParam, sizeof(iParam));} stock set_autoswitch_task(id, iMsgid){    new iParam[2];    iParam[0] = iMsgid;    set_task(0.1, "task_Autoswitch", id, iParam, sizeof(iParam));} stock bool:should_autojoin(id){    return ((5 > get_pcvar_num(tjm_join_team) > 0) && is_user_connected(id) && !(TEAM_NONE < g_iTeam[id] < TEAM_SPEC) && !task_exists(id));} stock bool:should_autoswitch(id){    return (get_pcvar_num(tjm_switch_team) && is_user_connected(id) && (TEAM_NONE < g_iTeam[id] < TEAM_SPEC) && !task_exists(id));} 
Buvau pakeitinėjas nk nesigauna :seiles:


DenDe
Jau po truputį tampa savu
Posts: 124
Joined: 2015 Feb 25 15:12

Re: Team_Join buginas

Post by DenDe »

Nu yra tuokia klaidą :/ Kaip įveini į serverį permeta į T Komandą o su M Raidė neina pereiti į CT Komandą tik su komandą JoinTeam 2, Daugiau neišėina niekaip. o mes buvom 3 visus į T Permeta. :fish:

User avatar
Caramba
O taip. Jis jau surinko 50 žinučių!
Posts: 65
Joined: 2015 Jan 24 13:51

Re: Team_Join buginas

Post by Caramba »

Dodu garanta kad cia B!TE

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: Team_Join buginas

Post by laimiukas3 »

Caramba wrote:Dodu garanta kad cia B!TE
neduok dieve :2D:
Image
Image
Image
Image

DenDe
Jau po truputį tampa savu
Posts: 124
Joined: 2015 Feb 25 15:12

Re: Team_Join buginas

Post by DenDe »

Caramba wrote:Dodu garanta kad cia B!TE

[20:09:42] CSGeimerislt.us.lt - Administracija: Sveikas gali padėt nerijau
[20:09:50] Nerijus:): Skelk
[20:10:40] CSGeimerislt.us.lt - Nuaik į amxmodx.lt Ir paprašyk pagalbos nesusigaudau Kad padėtu su team join nes nesuprantu

Klydai. :asian: :trollface:

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: Team_Join buginas

Post by ArtHa123 »

Bet neklydau su tuo, kad abu to projekto administratoriai.

Greit būūs?[Sunday, February 22, 2015 15:17] CSGeimerislt.us.lt - Administracija:

<<< ne[Sunday, February 22, 2015 15:17] CSGeimerislt.us.lt - Administracija:

<<< po 5metų[Sunday, February 22, 2015 15:18] Nerijus:):

<<< aj nu[Sunday, February 22, 2015 15:35] Nerijus:):

<<< VEikia jau?[Sunday, February 22, 2015 15:35] CSGeimerislt.us.lt - Administracija:

<<< ne[Sunday, February 22, 2015 15:35] CSGeimerislt.us.lt - Administracija:

<<< ne[Sunday, February 22, 2015 15:36] Nerijus:):

<<< -.-
Image

DenDe
Jau po truputį tampa savu
Posts: 124
Joined: 2015 Feb 25 15:12

Re: Team_Join buginas

Post by DenDe »

Tai nesulaugsių pagalbos? :bounce:

luxuks
Jau po truputį tampa savu
Posts: 186
Joined: 2014 Jun 18 17:20
Skype: lukas.luxuks

Re: Team_Join buginas

Post by luxuks »

http://lmgtfy.com/?q=anti+jointeam+amxx

paeisi zemiau rasi scripta kur vienas zmogus parase. Veikia puikiai, pats naudoju.

DenDe
Jau po truputį tampa savu
Posts: 124
Joined: 2015 Feb 25 15:12

Re: Team_Join buginas

Post by DenDe »

Jau sutvarkė ArtHa :S:

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests