View Single Post
EFFx
Veteran Member
Join Date: Feb 2016
Location: São Paulo, Brasil
Old 11-10-2022 , 23:14   Re: Can't teamswap dead players
Reply With Quote #27

Use a boolean and set it true when the round ends and false when round starts. Check if the boolean is already true when doing ++1. It can help avoiding the twice increasement.
I've seen a lot of team swap codes, most of them are inside Furien Mod and all of them uses set_task to swap players teams. I've seen players had this issue before too, so this is what I have on mine, may help you with more efficiency instead of doing tricky ways:

PHP Code:
#include <amxmodx>
#include <cstrike>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

new g_iWins[2]

new 
pCvarMinCTWins
new pCvarMinTWins

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
pCvarMinCTWins register_cvar("minct_wins""5")
    
pCvarMinTWins register_cvar("mint_wins""5")
    
    
register_logevent"round_restart_event",   2"0=World triggered""1&Restart_Round_" )
    
    
register_event("SendAudio""EVENT_TWin""a""2&%!MRAD_terwin")
    
register_event("SendAudio""EVENT_CTWin""a""1=0""2=%!MRAD_ctwin");
}

public 
round_restart_event()
{
    
g_iWins[0] = g_iWins[1] = 0
}

public 
EVENT_CTWin() 
{
    
g_iWins[1]++
    if(
g_iWins[1] >= get_pcvar_num(pCvarMinCTWins))
    {
        
g_iWins[1] = 0
        swapTeams
()
    }
}

public 
EVENT_TWin() 
{
    
g_iWins[0]++
    if(
g_iWins[0] >= get_pcvar_num(pCvarMinTWins))
    {
        
g_iWins[0] = 0
        swapTeams
()
    }
}

swapTeams()
{
    new 
Players[32], PlayersNumid;
    
get_players(PlayersPlayersNum"h")
    if(
PlayersNum
    {
        for(new 
iPlayersNumi++) 
        {
            
id Players[i]
            
BeginDelay(id)
        }
    }
}

public 
BeginDelay(id
{
    if(
is_user_connected(id)) 
    {
        switch(
id
        {
            case 
1..7set_task(0.1"BeginTeamSwap"id)
            case 
8..15set_task(0.2"BeginTeamSwap"id)
            case 
16..23set_task(0.3"BeginTeamSwap"id)
            case 
24..32set_task(0.4"BeginTeamSwap"id)
        }
    }
}

public 
BeginTeamSwap(id
{
    if(
is_user_connected(id)) 
    {
        switch(
get_user_team(id)) 
        {
            case 
1cs_set_user_team(idCS_TEAM_CT)
            case 
2cs_set_user_team(idCS_TEAM_T)
        }
    }

__________________
• Ranking System • AutoMix 5vs5 System
• Web Ban System • Plugins for free

____________________________________________
For private works:
• Discord: EFFEXo#8850 • Steam: EFFEXo

Last edited by EFFx; 11-10-2022 at 23:17.
EFFx is offline