AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   TeamLock 5v5? Errors 3 and 4 help (https://forums.alliedmods.net/showthread.php?t=295988)

Hectik17 04-09-2017 18:12

TeamLock 5v5? Errors 3 and 4 help
 
There was a stack error with check_teams check_ratio and get_players_in_teams

Also when a player subed in to spec when dead the player who replaced him on the round end, the match will restart an set score back to 0 during the first half.

Could anyone take a look and see if any thing Is out of place. Mainly around round_end task_match_ended is ment to be disabled for now because I want the teams to manually swapteams, if there is a way to enable vgui menu that be cool. It's using old style at because b4 when it was vgui menu players with old style could still join the teams when they were locked. So old menu had to be used. Thanks.

PHP Code:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>

#define PLUGIN "::Fair-Match:."
#define VERSION "rev2.0"
#define AUTHOR "Natsheh"

#define MAX_TEAMS         4
#define MAX_PLAYERS        32
#define OFFSET_TEAM        114
#define PLAYER_LINUXDIFF    5
#define VGUI_JOIN_TEAM_NUM    2

// teams variables...
new bool:team_avaialble[MAX_TEAMS];

// user booleans
new g_isConnected[MAX_PLAYERS+1];            //need bool ?? 

enum
{
    
TEAM_UNASSIGNED 0,
    
TEAM_TERRORIST,
    
TEAM_CT,
    
TEAM_SPECTATOR,
    
TEAM_AUTO_ASSIGN
}

// variables..
new g_iMaxplayersg_iMsgTeamInfo;
new 
g_roundsg_ctwing_terwin;

// cvars variables
new g_cvar_enableg_cvar_ratiog_match_rounds;

#define NEWMENUID    get_user_msgid("VGUIMenu")
#define OLDMENUID    get_user_msgid("ShowMenu")

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
g_cvar_enable register_cvar("fmatch_enable""1"ADMIN_BAN)
    
g_cvar_ratio register_cvar("fmatch_ratio""5"ADMIN_BAN)
    
g_match_rounds register_cvar("fmatch_match_rounds""15"ADMIN_BAN)
    
    
//register_logevent("freezetime_end", 2, "1=Round_Start"); // after freezetime        //causes issues disabled
    
register_event("HLTV""round_start""a""1=0""2=0"); // before freezetime
    
    
register_message(NEWMENUID"MessageVGUIMenu")
    
register_message(OLDMENUID"MessageShowMenu")
    
register_menucmd(register_menuid("Team_Select"true), (MENU_KEY_1|MENU_KEY_2|MENU_KEY_6|MENU_KEY_0), "old_jointeam_menu")
    
    
register_clcmd("jointeam""clcmd_join")
    
register_clcmd("chooseteam""clcmd_join")
    
    
register_event("TeamInfo""event_TeamInfo""a")
    
    
register_event("SendAudio""event_terwin""a""2&%!MRAD_terwin");
    
register_event("SendAudio""event_ctwin""a""2&%!MRAD_ctwin");
    
register_logevent("round_end"2"0=World triggered""1=Round_End");
    
//register_logevent("match_started", 2, "0=World triggered", "1&Restart_Round")        //these were effecting the roundcount
    //register_logevent("match_started", 2, "0=World triggered", "1=Game_Commencing")    //at the moment wahts registerd works perfect
    
register_event("TextMsg","match_started","a","2&#Game_C","2&#Game_w")
    
    
g_iMaxplayers get_maxplayers();
    
g_iMsgTeamInfo get_user_msgid("TeamInfo");
    
    for(new 
iTeam 0iTeam MAX_TEAMSiTeam++)
    {
        
team_avaialble[iTeam] = true;
    }
}

public 
event_terwin()
{
    if(!
get_pcvar_num(g_cvar_enable))
        return;
    
    
g_terwin++;
}

public 
event_ctwin()
{
    if(!
get_pcvar_num(g_cvar_enable))
        return;
    
    
g_ctwin++;
}

public 
match_started()
{
    if(!
get_pcvar_num(g_cvar_enable))
        return;
    
    
g_rounds 0;
    new 
g_match_rounds get_pcvar_num(g_match_rounds);
}

public 
event_TeamInfo()
{
    if(!
get_pcvar_num(g_cvar_enable))
        return;
    
    
//new id = read_data(1);
    
new sTeam[32];
    
read_data(2sTeamcharsmax(sTeam));
    
    if(
equal(sTeam"SPECTATOR"))
    {
        
check_teams();
    }
}

public 
client_disconnect(id)
{
    if(!
get_pcvar_num(g_cvar_enable))
        return;

    
g_isConnected[id] = false;    //added to try and fix a issue with player DC's or retrys then cant getback intoteam at all

    
check_teams();

}

public 
round_end()
{
    if(
g_rounds >= get_pcvar_num(g_match_rounds))
    {
        
set_cvar_num("fmatch_ratio"10)    //this is the way i made it able to change team manualy.
        
server_cmd("sv_restart");
    }
    {
        
check_teams();
    }
}

/**public task_match_ended()        //might be a old way of sending to spec i kno there is siplerway to do
{                    //"for(new id = 1; id <= g_iMaxplayers; id++)" maybey this notsure.
    // get players into teams..
    static TPlayers[MAX_TEAMS][MAX_PLAYERS], ctsnum, tsnum, unassigned, specsnum, i;
    get_players_inteams(TPlayers, ctsnum, tsnum, specsnum, unassigned)
    static id;
    for(i = 0; i < ctsnum; i++)
    {
        id = TPlayers[TEAM_CT][i]
        fm_set_user_team(id, TEAM_SPECTATOR)
    }

    for(i = 0; i < tsnum; i++)
    {
        id = TPlayers[TEAM_TERRORIST][i]
        fm_set_user_team(id, TEAM_SPECTATOR)
    }
    check_teams();
    set_cvar_num( "fmatch_ratio 10" );        //need to test might fix over flow whne auto swawp was enabled, but i dont want it to
    g_rounds = 0;                    //if you want autoswap uncomment and test, this add //set_task(3.0, "task_match_ended"); to line 133 above the }
    
    team_avaialble[TEAM_CT] = true;
    team_avaialble[TEAM_TERRORIST] = true;
    team_avaialble[TEAM_SPECTATOR] = true;
    // join team
    {
        set_task(0.1, "oldstyle_newmenu", i)    //added this from menucode line 321. was only working for T until "i" was added
        return;                    //not sure if needed this or a plugin_continue??
    }

}**/

public round_start()
{
    if(!
get_pcvar_num(g_cvar_enable))
        return;
    
    new 
ratio clamp(get_pcvar_num(g_cvar_ratio), 1floatround(Float:(g_iMaxplayers/2.0), floatround_floor))
    new 
cnumtnumplayers[32];
    
get_players(playerscnum"he""CT")
    
get_players(playerstnum"he""TERRORIST")
    if((
ratio*2) > (cnum+tnum))
    {
        
check_teams();
        return;
    }
    else if(!((
ratio == cnum) && (ratio == tnum)))
    {
        
//server_cmd("sv_restart 3")        //this stoped a sub making match RS during game but also stops balancing whne lo3 and more tahtn 5v5
    
}
    
    
check_ratio()
    
    
// counting rounds..
    
g_rounds++;
    
}

public 
client_putinserver(id)
{
    if(!
get_pcvar_num(g_cvar_enable))
        return;
        
    
g_isConnected[id] = true;        //was trying to fix issue cant retry and join team if clined dc or drops, did nothing with bots
    
    
check_teams();
}

public 
MessageShowMenu(msgidmsgdestid)
{
    if(!
get_pcvar_num(g_cvar_enable))
        return 
PLUGIN_CONTINUE;
    
    if(!
is_user_connected(id))
        return 
PLUGIN_CONTINUE;
    
    if(
get_msg_argtype(4) != ARG_STRING)
        return 
PLUGIN_CONTINUE;
    
    new 
StrMessage[24]
    
get_msg_arg_string(4StrMessagecharsmax(StrMessage))
    
    
// join team
    
if(equal(StrMessage"#Team_Select"strlen("#Team_Select")) || equal(StrMessage"#IG_Team_Select"strlen("#IG_Team_Select")))
    {
        
set_task(0.1"oldstyle_newmenu"id)
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
oldstyle_newmenu(id)
{
    if(!
is_user_connected(id))
        return;
    
    
// check teams..
    
check_teams();
    
    static 
sText[256], leniKeys;
    
    
len formatex(sTextcharsmax(sText), "Choose your team...^n^n")
    
    
len += formatex(sText[len], charsmax(sText)-len"\r1. %sTeam Terrorist^n"team_avaialble[TEAM_TERRORIST] ? "\w":"\d")
    
iKeys |= team_avaialble[TEAM_TERRORIST] ? MENU_KEY_1:~MENU_KEY_1
    len 
+= formatex(sText[len], charsmax(sText)-len"\r2. %sTeam Counter-terrorist^n^n^n"team_avaialble[TEAM_CT] ? "\w":"\d")
    
iKeys |= team_avaialble[TEAM_CT] ? MENU_KEY_2:~MENU_KEY_2
    
    len 
+= formatex(sText[len], charsmax(sText)-len"\r6. %sSpectator^n^n^n"is_user_alive(id) ? "\d":"\w")
    
iKeys |= is_user_alive(id) ? ~MENU_KEY_6:MENU_KEY_6
    
    len 
+= formatex(sText[len], charsmax(sText)-len"\r0. \yExit")
    
iKeys |= MENU_KEY_0
    
    show_menu
(idiKeyssText_"Team_Select")
}

public 
old_jointeam_menu(idikey)
{
    switch(
ikey)
    {
        case 
0:
        {
            if(
team_avaialble[TEAM_TERRORIST])
            {
                
fm_set_user_team(idTEAM_TERRORIST)
                
check_teams();
            }
            else
            {
                
client_print(idprint_center"The Terrorist team is not available right now!")
                return 
PLUGIN_HANDLED;
            }
        }
        case 
1:
        {
            if(
team_avaialble[TEAM_CT])
            {
                
fm_set_user_team(idTEAM_CT)
                
check_teams();
            }
            else
            {
                
client_print(idprint_center"The Counter terrorist team is not available right now!")
                return 
PLUGIN_HANDLED;
            }
        }
        case 
5:
        {
            if(
team_avaialble[TEAM_SPECTATOR] && !is_user_alive(id))
            {
                
fm_set_user_team(idTEAM_SPECTATOR)
                
check_teams();
            }
            else
            {
                return 
PLUGIN_HANDLED;
            }
        }
        case 
9:
        {
            return 
PLUGIN_CONTINUE;
        }
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
MessageVGUIMenu(msgidmsgdestid)
{
    if(!
get_pcvar_num(g_cvar_enable) || !is_user_connected(id))
        return 
PLUGIN_CONTINUE;
    
    if(
get_msg_arg_int(1) == VGUI_JOIN_TEAM_NUM// user joined a team (NewMenu)
    
{
        
// user joined a team. (NewMenu)
        
set_task(0.1"oldstyle_newmenu"id)
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}

public 
task_joinclass(id)
{
    
engclient_cmd(id"joinclass""5")
}

public 
clcmd_join(id)
{
    if(!
get_pcvar_num(g_cvar_enable))
        return 
PLUGIN_CONTINUE;
    
    new 
sArg[5]
    
read_argv(1sArg4)
    switch( 
str_to_num(sArg) )
    {
        case 
1: if(!team_avaialble[TEAM_TERRORIST]) return PLUGIN_HANDLED;
        case 
2: if(!team_avaialble[TEAM_CT]) return PLUGIN_HANDLED;
        case 
5: return PLUGIN_HANDLED;
        default : return 
PLUGIN_CONTINUE;
    }
    
    return 
PLUGIN_CONTINUE;
}

get_players_inteams(Players[MAX_TEAMS][MAX_PLAYERS], &ctnum, &tsnum, &specnum, &unassigned)
{
    
get_players(Players[TEAM_CT], ctnum"eh""CT")
    
get_players(Players[TEAM_TERRORIST], tsnum"eh""TERRORIST")
    
    static 
players[32], pnumspecuna;
    
get_players(playerspnum"h")
    for(new 
0pnumi++)
    {
        switch( 
fm_get_user_team(players[i]) )
        {
            case 
TEAM_SPECTATORspec++;
            case 
TEAM_UNASSIGNEDuna++;
        }
    }
    
    
specnum spec;
    
unassigned una;
}

check_teams()
{
    new 
ratio clamp(get_pcvar_num(g_cvar_ratio), 1floatround(Float:(g_iMaxplayers/2.0), floatround_floor))
    
    
// get players into teams..
    
static TPlayers[MAX_TEAMS][MAX_PLAYERS], ctsnumtsnumunassignedspecsnum;
    
get_players_inteams(TPlayersctsnumtsnumspecsnumunassigned)
    
    
// no players..
    
if((ratio*2) > (ctsnum+tsnum))
    {
        
team_avaialble[TEAM_CT] = true;
        
team_avaialble[TEAM_TERRORIST] = true;
        return;
    }
    
    
// check teams if they are available..
    
team_avaialble[TEAM_CT] = (ctsnum ratio) ? true:false
    team_avaialble
[TEAM_TERRORIST] = (tsnum ratio) ? true:false
}

check_ratio()
{
    new 
ratio clamp(get_pcvar_num(g_cvar_ratio), 1floatround(Float:(g_iMaxplayers/2.0), floatround_floor))
    
    
// get players into teams..
    
static TPlayers[MAX_TEAMS][MAX_PLAYERS], ctsnumtsnumunassignedspecsnum;
    
get_players_inteams(TPlayersctsnumtsnumspecsnumunassigned)
    
    if((
ratio*2) > (ctsnum+tsnum))
        return;
    
    
// check if teams are available!
    
check_teams();
    
    
// few variables..
    
static sName[32], loopchosenplayer;
    
    if(
ratio != ctsnum)
    {
        
loop = (ratio ctsnum);
        
        if(
loop 0)
        {
            while(
loop)
            {
                if(
tsnum ratio)
                {
                    --
tsnum;
                    
chosen random(tsnum)
                    
player TPlayers[TEAM_TERRORIST][chosen]
                    
TPlayers[TEAM_TERRORIST][chosen] = TPlayers[TEAM_TERRORIST][tsnum]
                }   
                else break;
                
                
TPlayers[TEAM_CT][ctsnum] = player;
                ++
ctsnum;
                
fm_set_user_team(playerTEAM_CT)
                
get_user_name(playersName31)
                
client_print(0print_chat"%s has been transfered to counter-terrorist!"sName)
                
loop--;
            }
        }
        else 
//extra cts
        
{
            while(
loop 0)
            {
                --
ctsnum;
                
chosen random(ctsnum);
                
player TPlayers[TEAM_CT][chosen];
                
TPlayers[TEAM_CT][chosen] = TPlayers[TEAM_CT][ctsnum];
                
get_user_name(playersName31)
                
                if(
tsnum ratio// move them to terorist
                
{
                    
TPlayers[TEAM_TERRORIST][tsnum] = player;
                    ++
tsnum;
                    
fm_set_user_team(playerTEAM_TERRORIST)
                    
client_print(0print_chat"%s has been transfered to terrorist!"sName)
                }
                else 
// move them to spectators
                
{
                    
TPlayers[TEAM_SPECTATOR][specsnum] = player;
                    ++
specsnum;
                    
client_print(0print_chat"%s has been transfered to spectator!"sName)
                    
fm_set_user_team(playerTEAM_SPECTATOR)
                }
                
                
loop++;
            }
        }
    }
    
    if(
ratio != tsnum)
    {
        
loop = (ratio tsnum);
        
        if(
loop 0)
        {
            while(
loop--)
            {
                if(
ctsnum ratio)
                {
                    --
ctsnum;
                    
chosen random(ctsnum)
                    
player TPlayers[TEAM_CT][chosen]
                    
TPlayers[TEAM_CT][chosen] = TPlayers[TEAM_CT][ctsnum]
                }   
                else break;
                
                
TPlayers[TEAM_TERRORIST][tsnum] = player;
                ++
tsnum;
                
fm_set_user_team(playerTEAM_TERRORIST)
                
get_user_name(playersName31)
                
client_print(0print_chat"%s has been transfered to terrorist!"sName)
            }
        }
        else 
//extra ts
        
{
            while(
loop 0)
            {
                --
tsnum;
                
chosen random(tsnum);
                
player TPlayers[TEAM_TERRORIST][chosen];
                
TPlayers[TEAM_TERRORIST][chosen] = TPlayers[TEAM_TERRORIST][tsnum];
                
get_user_name(playersName31)
                
                if(
ctsnum ratio// move them to counter-terorist
                
{
                    
TPlayers[TEAM_CT][ctsnum] = player;
                    ++
ctsnum;
                    
fm_set_user_team(playerTEAM_CT)
                    
client_print(0print_chat"%s has been transfered to counter-terrorist!"sName)
                }
                else 
// move them to spectators
                
{
                    
TPlayers[TEAM_SPECTATOR][specsnum] = player;
                    ++
specsnum;
                    
client_print(0print_chat"%s has been transfered to spectator!"sName)
                    
fm_set_user_team(playerTEAM_SPECTATOR)
                }
                
                
loop++;
            }
        }
    }
    
    if(
ctsnum == ratioteam_avaialble[TEAM_CT] = false;
    if(
tsnum == ratioteam_avaialble[TEAM_TERRORIST] = false;
}

stock fm_get_user_team(index)
{
    new 
iteam get_user_team(index);
    
    switch( 
iteam )
    {
        case 
1: return TEAM_TERRORIST;
        case 
2: return TEAM_CT;
        case -
13: return TEAM_SPECTATOR;
        case 
0: return TEAM_UNASSIGNED
    
}
    
    return -
2;
}


stock fm_set_user_team(idteam)
{
    switch( 
team )
    {
        case 
TEAM_CTengclient_cmd(id"jointeam""2")
        case 
TEAM_TERRORISTengclient_cmd(id"jointeam""1")
        case 
TEAM_SPECTATORengclient_cmd(id"jointeam""6")
        case 
TEAM_AUTO_ASSIGN:
        {
            new 
sString[2]
            
team random_num(TEAM_TERRORISTTEAM_CT)
            
num_to_str(teamsStringcharsmax(sString))
            
engclient_cmd(id"jointeam"sString)
        }
        default: { 
            
log_error(AMX_ERR_NOTFOUND"Team with this id #%d is not found!"team)
            return
        }
    }
    
    
// set user team...
    
set_pdata_int(idOFFSET_TEAMteamPLAYER_LINUXDIFF)
    
set_pev(idpev_teamteam)
    
    static const 
TeamInfo[MAX_TEAMS][] = 
    { 
        
"UNASSIGNED",
        
"TERRORIST",
        
"CT",
        
"SPECTATOR" 
    
};
    
    
message_begin(MSG_ALLg_iMsgTeamInfo);
    
write_byte(id); 
    
write_string(TeamInfo[team]); 
    
message_end(); 
    
    if(
is_user_alive(id))
    {
        
user_kill(id)
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3081\\ f0\\ fs16 \n\\ par }
*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3081\\ f0\\ fs16 \n\\ par }
*/ 

Rliable channel overflowed on 15th round when we all started to swap m1 m2

Atm it's set up to fmatch_ratio 20 after the 15th round is called. Changing ratio from 5 to 20 and I'm getting the overflowed.

I've also true to in include fmatch_enable 0 turning off the plugging but this only ables half the team to swap sides and theere are a few players who can't even bring up the teamchoose menu even after restart round.
That one causes a stack overflow 3.]

Whould these set_tasks() be a acceptable time? Would this stop it from overflowing.

Hectik17 04-10-2017 11:46

Re: TeamLock ratio? Subbs make match restart help
 
Any help would be apriciated so close to working

Code:

Update:
PHP Code:

public round_end()
{
    if(
g_rounds >= get_pcvar_num(g_match_rounds))
    {
        
set_cvar_num("fmatch_ratio"10)
        
server_cmd("sv_restart");
    }
    {
        
check_teams();
    }


this testing on 1v1 humans wa working , but dont know yet if the server will handle 10 players, the other method was caussing a overflow on the console

also

PHP Code:

public round_start()
{
    if(!
get_pcvar_num(g_cvar_enable))
        return;
    
    new 
ratio clamp(get_pcvar_num(g_cvar_ratio), 1floatround(Float:(g_iMaxplayers/2.0), floatround_floor))
    new 
cnumtnumplayers[32];
    
get_players(playerscnum"he""CT")
    
get_players(playerstnum"he""TERRORIST")
    if((
ratio*2) > (cnum+tnum))
    {
        
check_teams();
        return;
    }
    else if(!((
ratio == cnum) && (ratio == tnum)))
    {
        
//server_cmd("sv_restart 3")
    
}
    
    
check_ratio()
    
    
// counting rounds..
    
g_rounds++;


This is what i think is causing a subbed player (a player that has swapped places with a player in a current match) make the game restart/reset rounds before its time to swap.

so i just blocked it out //
but not sure if it will affect anything else.
So far it was not restarting the game when team check happens at the start of the round, before it would restart game if teams are unbalanced an round checked at the start of every round.

Hectik17 04-11-2017 08:20

Re: TeamLock ratio? Subbs make match restart help
 
Code:

UPDATE
Well the swapping of teams works.
(Code on first post is the upto date code)
But in the logs I get errors

Code:

L 04/14/2017 - 19:48:28: Start of error session.
L 04/14/2017 - 19:48:28: Info (map "de_nuke") (file "addons/amxmodx/logs/error_20170414.log")
L 04/14/2017 - 19:48:28: [AMXX] Run time error 3 (plugin "fair_match.amxx") - debug not enabled!
L 04/14/2017 - 19:48:28: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 04/14/2017 - 19:48:28: [AMXX] Run time error 3 (plugin "fair_match.amxx") - debug not enabled!
L 04/14/2017 - 19:48:28: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 04/14/2017 - 19:48:28: [AMXX] Run time error 3 (plugin "fair_match.amxx") - debug not enabled!
L 04/14/2017 - 19:48:28: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 04/14/2017 - 20:10:20: Start of error session.
L 04/14/2017 - 20:10:20: Info (map "de_cpl_mill") (file "addons/amxmodx/logs/error_20170414.log")
L 04/14/2017 - 20:10:20: [AMXX] Run time error 4 (plugin "fair_match.amxx") - debug not enabled!
L 04/14/2017 - 20:10:20: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

If I put debug at the end in plugging will that effect the pluggin during a game.

Craxor 04-14-2017 07:40

Re: TeamLock 5v5? Errors 3 and 4 help
 
Add 'debug' please and search for errors and post them here, it should'nt affect something.

Hectik17 04-16-2017 15:56

Re: TeamLock 5v5? Errors 3 and 4 help
 
Code:

L 04/16/2017 - 22:40:19: Start of error session.
L 04/16/2017 - 22:40:19: Info (map "de_inferno") (file "addons/amxmodx/logs/error_20170416.log")
L 04/16/2017 - 22:40:19: [AMXX] Displaying debug trace (plugin "fair_match.amxx")
L 04/16/2017 - 22:40:19: [AMXX] Run time error 3: stack error
L 04/16/2017 - 22:40:19: [AMXX]    [0] fair_matchNEW104.sma::get_players_inteams (line 354)
L 04/16/2017 - 22:40:19: [AMXX]    [1] fair_matchNEW104.sma::check_ratio (line 392)
L 04/16/2017 - 22:40:19: [AMXX]    [2] fair_matchNEW104.sma::round_start (line 191)


In relation to first post sma

Hectik17 04-18-2017 15:27

Re: TeamLock 5v5? Errors 3 and 4 help
 
Anyone know the cause?


191 check_ratio() //might need ; ??


354 {
switch( fm_get_user_team(players[i]) ) //invalid function call ? ?


392 static TPlayers[MAX_TEAMS][MAX_PLAYERS], ctsnum, tsnum, unassigned, specsnum;

/// might be because check_teams(); is in the "ratiocheck event" and then in check_teams(); ratio is called again meaning that "static TPlayers[MAX_TEAMS][MAX_PLAYERS], ctsnum, tsnum, unassigned, specsnum;" is in both events might be getting used twice? ? witch effects it ?

Hectik17 04-21-2017 18:02

Re: TeamLock 5v5? Errors 3 and 4 help
 
Money

Hectik17 04-24-2017 18:43

Re: TeamLock 5v5? Errors 3 and 4 help
 
If anyone is keen to help pm me willing to pay $$

Houssam Benmouna 04-26-2017 17:05

Re: TeamLock 5v5? Errors 3 and 4 help
 
:v sorry but If I was not wrong, you may
change this
PHP Code:

register_event("HLTV""round_start""a""1=0""2=0"); 

to this
PHP Code:

register_event("ResetHUD""round_start""b"); 

HHHH I don't know so that's my ideia x)

Hectik17 04-28-2017 19:49

Re: TeamLock 5v5? Errors 3 and 4 help
 
Hmm idk you sure? HLTV Was the way to make the rounds count correctly. Other methods were not working right and this one also resets the round count on lo3. Does anyone else know more about restethud?


All times are GMT -4. The time now is 17:47.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.