Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Kimse Specde BEKLEMESIN YARDIM...
#1
Arkadaslar benım serverım var benım dısımda kımse specde beklemesın ıstıyorum boyle bısey mumkunmu acaba?
Reply
#2
otomatik T takımına veya CT takımına atar

Code:
#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 Menus
stock 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 Menus
stock 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", "1");
tjm_switch_team = register_cvar("tjm_switch_team", "1");
tjm_class[TEAM_T] = register_cvar("tjm_class_t", "2");
tjm_class[TEAM_CT] = register_cvar("tjm_class_ct", "4");
tjm_block_change = register_cvar("tjm_block_change", "1");
}
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 == sTeam[0])
  {
   iTeam = i;
   break;
  }
}

if(g_iTeam != iTeam)
{
  g_iPlayers[g_iTeam]--;
  g_iTeam = iTeam;
  g_iPlayers++;
}
}
public message_ShowMenu(iMsgid, iDest, id)
{
static sMenuCode;
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 < 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);

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)
{
  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)
{
  return iTeam;
}

return -1;
}
stock get_team_class(iTeam)
{
new iClass;
if(TEAM_NONE < iTeam < TEAM_SPEC)
{
  iClass = get_pcvar_num(tjm_class);
  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 < 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 < TEAM_SPEC) && !task_exists(id));
}
Reply
#3
pandora saol çok isime yaradı
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Çıkıp Giren Rev Alıyor Yardım! Spydevil19 2 4,626 09-12-17, 04:21
Last Post: exelds78
  Model Yapamıyorum Yardım Edin... oguzhan029 1 3,665 17-06-16, 12:41
Last Post: DeaTReX
  JB Menu var lütfen yardım edin muratson 0 5,268 06-10-15, 14:50
Last Post: muratson
  Amxx çevirirken hata alıyorum yardim xLdeJavu 2 6,590 03-10-15, 18:46
Last Post: wampirus
  Yardım Edermisiniz. sallyreer 1 3,396 17-09-15, 13:32
Last Post: sallyreer
  Yardım Edermisiniz. sallyreer 0 4,773 16-09-15, 21:16
Last Post: sallyreer
  Plugin Hatalı Yardım Eder Misiniz? meyhanegaming 0 4,821 16-09-15, 16:54
Last Post: meyhanegaming
  Lütfen Yardım Girin İçeri Lütfen nihat331333 1 4,032 02-08-15, 17:58
Last Post: afaik61
  Rutbe sıstemı acıl yardım boyxx 8 5,389 13-07-15, 15:13
Last Post: sallyreer
  acil yardım etin amxx çevirebilirmisiniz azza12345 1 2,869 13-07-15, 14:59
Last Post: sallyreer

Foruma Atla:


Users browsing this thread: 1 Guest(s)