View Single Post
arvEL.
Senior Member
Join Date: Dec 2014
Location: Iraq
Old 07-27-2016 , 06:55   Re: [HELP] fix transfer player in plmenu
Reply With Quote #7

Quote:
Originally Posted by siriusmd99 View Post
Try:

PHP Code:
public actionTeamMenu(idkey)
{
    switch (
key)
    {
        case 
7:
        {
            
g_menuOption[id] = (g_menuOption[id] + 1) % (g_cstrike 2);
            
displayTeamMenu(idg_menuPosition[id])
        }
        case 
8displayTeamMenu(id, ++g_menuPosition[id])
        case 
9displayTeamMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
authid[32], authid2[32], name[32], name2[32]

            
get_user_name(playername231)
            
get_user_authid(idauthid31)
            
get_user_authid(playerauthid231)
            
get_user_name(idname31)

            static 
logdata[100]
            
formatex(logdatacharsmax(logdata), "[ADMIN] %s: transfer %s to %s"namename2g_CSTeamNames[g_menuOption[id] % 3])
            
log_to_file("Admins commands.log"logdata)            
            
            
ColorChat(0GREY"^1[ADMIN]^4 %s^1: transfer^4 %s^1 to^4 %s"namename2g_CSTeamNames[g_menuOption[id] % 3])    

            if (
g_cstrike)
            {
                if (
is_user_alive(player))
                {
                    new 
deaths cs_get_user_deaths(player)                                    
                    
cs_set_user_deaths(playerdeaths
                }
            new 
iTeam = (g_menuOption[id] % 3) + 1;
            
setUserTeam_cs(playeriTeam,1,1)
            if(
iTeam != 3//If it's not spectator then teleport him
            
{
            new 
iorigin[3]
            
get_user_origin(playeriorigin)
            
message_begin(MSG_PVSSVC_TEMPENTITYiorigin)
            
write_byte(TE_TELEPORT);
            
write_coord(iorigin[0]);
            
write_coord(iorigin[1]);
            
write_coord(iorigin[2]);
            
message_end();  
            }
                
cs_reset_user_model(player)
            } else {
                new 
limit_setting get_cvar_num("mp_limitteams")
                
                
set_cvar_num("mp_limitteams"0)
                
engclient_cmd(player"jointeam"g_CSTeamNumbers[g_menuOption[id] % 2])
                
engclient_cmd(player"joinclass""1")
                
set_cvar_num("mp_limitteams"limit_setting)
            }

            
displayTeamMenu(idg_menuPosition[id])
        }
    }
    
    return 
PLUGIN_HANDLED
}

stock setUserTeam_cs(index,team,respawn=0,updatescoreboard=1) {
  if(
is_user_connected(index)) {
    if(
team >= && team <= 3) {
      
set_pdata_int(index114team)
      if(
is_user_alive(index)) 
      {
        
engclient_cmd(index"drop""weapon_c4")
        if(
team != 2)
        {
          new 
defuser get_pdata_int(index193)
          if(
defuser & (1<<16)) 
          {
            
defuser -= (1<<16)
            
set_pdata_int(index193defuser)
          }
          
message_begin(MSG_ONEget_user_msgid("StatusIcon"), {0,0,0}, index)
          
write_byte(0)
          
write_string("defuser")
          
write_byte(0)
          
write_byte(255)
          
write_byte(0)
          
message_end()
        }
        else
        {
          if(
team == 3)
           {
              
user_silentkill(index)
              return 
0;
           }
        }
      }
      if(
respawn)
      {
        new 
health get_user_health(index)
        new 
armor get_user_armor(index)
        
set_pev(indexpev_spawnflags3)
        
dllfunc(DLLFunc_Spawnindex)
        
set_pev(indexpev_iuser10)
        
set_pev(indexpev_healthfloat(health))
        
set_pev(indexpev_armorvaluefloat(armor))
      }
      if(
updatescoreboard) {
        
message_begin(MSG_ALLget_user_msgid("TeamInfo"))
        
write_byte(index)
        switch(
team) {
          case 
1write_string("TERRORIST")
          case 
2write_string("CT")
        }
        
message_end()
      }
      return 
1
    
}
  }
  return 
0

I checked if team == 3 which means spectator and then added user_silentkill function . Also i checked team to avoid teleporting the spectator.
sorry not work :/
still not die when i transfer to spectators
__________________
arvEL. is offline
Send a message via Skype™ to arvEL.