Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <cstrike>
- #include <amxmisc>
- #include <engine>
- #include <fakemeta>
- #include <fun>
- #include <ujbm>
- #define PLUGIN "Punishment for Simon/Transfer the CT"
- #define VERSION "0.5"
- #define AUTHOR "Litolmic & Undraw"
- new bool:g_BackToCT
- new g_Simon
- new g_MaxClients
- new g_PlayerCrowbar
- new g_iMsgSayText
- new gmsgSetFOV
- new g_RoundStarted
- new gp_RetryTime
- enum _hud { _hudsync, Float:_x, Float:_y, Float:_time }
- enum _lastrequest { _knife, _deagle, _freeday, _weapon }
- enum _duel { _name[16], _csw, _entname[32], _opt[32], _sel[32] }
- new const g_HudSync[][_hud] =
- {
- {0, 0.6, 0.2, 2.0},
- {0, -1.0, 0.7, 5.0},
- {0, 0.1, 0.2, 2.0},
- {0, 0.1, 0.3, 2.0},
- {0, -1.0, 0.9, 3.0},
- {0, 0.6, 0.1, 3.0},
- {0, -1.0, 0.6, 3.0},
- {0, 0.8, 0.3, 20.0},
- {0, -1.0, 0.4, 3.0},
- {0, 0.1, 0.5, 2.0},
- {0, -1.0, 0.55, 2.0}
- }
- #define get_bit(%1,%2) ( %1 & 1 << ( %2 & 31 ) )
- #define set_bit(%1,%2) %1 |= ( 1 << ( %2 & 31 ) )
- #define clear_bit(%1,%2) %1 &= ~( 1 << ( %2 & 31 ) )
- #define OFFSET_TEAM 114
- stock menu_players(id, CsTeams:team, skip, alive, callback[], title[], any:...)
- { //There's the error
- static i, name[32], num[5], menu, menuname[32]
- vformat(menuname, charsmax(menuname), title, 7)
- menu = menu_create(menuname, callback)
- for(i = 1; i <= g_MaxClients; i++)
- {
- if(!is_user_connected(i) || (alive && !is_user_alive(i)) || (skip == i))
- continue
- if(!(team == CS_TEAM_T || team == CS_TEAM_CT) || ((team == CS_TEAM_T || team == CS_TEAM_CT) && (cs_get_user_team(i) == team)))
- {
- get_user_name(i, name, charsmax(name))
- num_to_str(i, num, charsmax(num))
- menu_additem(menu, name, num, 0)
- }
- }
- menu_display(id, menu)
- }
- public current_weapon(id)
- {
- if(!is_user_alive(id))
- return PLUGIN_CONTINUE
- }
- stock player_hudmessage(id, hudid, Float:time = 0.0, color[3] = {0, 255, 0}, msg[], any:...)
- {
- static text[512], Float:x, Float:y
- x = g_HudSync[hudid][_x]
- y = g_HudSync[hudid][_y]
- if(time > 0)
- set_hudmessage(color[0], color[1], color[2], x, y, 0, 0.00, time, 0.00, 0.00)
- else
- set_hudmessage(color[0], color[1], color[2], x, y, 0, 0.00, g_HudSync[hudid][_time], 0.00, 0.00)
- vformat(text, charsmax(text), msg, 6)
- ShowSyncHudMsg(id, g_HudSync[hudid][_hudsync], text)
- }
- stock cs_set_user_team2(index, {CsTeams,_}:team, update = 1)
- {
- if (index == g_Simon)
- {
- g_Simon = 0
- hud_status(0)
- }
- set_pdata_int(index, OFFSET_TEAM, _:team)
- set_pev(index, pev_team, _:team)
- if(update)
- {
- static _msg_teaminfo; if(!_msg_teaminfo) _msg_teaminfo = get_user_msgid("TeamInfo")
- static teaminfo[][] = { "UNASSIGNED", "TERRORIST", "CT", "SPECTATOR" }
- message_begin(MSG_ALL, _msg_teaminfo)
- write_byte(index)
- write_string(teaminfo[_:team])
- message_end()
- }
- return 1
- }
- public hud_status(task)
- {
- static i, n
- new name[32], szStatus[64], wanted[512], fdlist[512]
- if(g_RoundStarted < (get_pcvar_num(gp_RetryTime) / 2))
- g_RoundStarted++
- }
- stock menu_players(id, CsTeams:team, skip, alive, callback[], title[], any:...);
- {
- static i, name[32], num[5], menu, menuname[32]
- vformat(menuname, charsmax(menuname), title, 7)
- menu = menu_create(menuname, callback)
- for(i = 1; i <= g_MaxClients; i++)
- {
- if(!is_user_connected(i) || (alive && !is_user_alive(i)) || (skip == i))
- continue
- if(!(team == CS_TEAM_T || team == CS_TEAM_CT) || ((team == CS_TEAM_T || team == CS_TEAM_CT) && (cs_get_user_team(i) == team)))
- {
- get_user_name(i, name, charsmax(name))
- num_to_str(i, num, charsmax(num))
- menu_additem(menu, name, num, 0)
- }
- }
- menu_display(id, menu)
- }
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- register_clcmd("say /doz","menu1")
- register_clcmd("say_team /doz","menu1")
- register_clcmd( "doz","menu1")
- register_dictionary("jbextreme.txt")
- register_event("CurWeapon", "current_weapon", "be", "1=1", "2=29")
- for(new i = 0; i < sizeof(g_HudSync); i++)
- g_HudSync[i][_hudsync] = CreateHudSyncObj()
- gmsgSetFOV = get_user_msgid( "SetFOV" );
- g_iMsgSayText = get_user_msgid("SayText");
- }
- public menu1(id)
- {
- if((id == g_Simon) || is_user_admin(id) )
- menu_players(id, CS_TEAM_CT, id, 1, "cmd_punish_ct", "%L", LANG_SERVER, "JBE_MENU_PUNISH")
- }
- public cmd_punish_ct(id)
- {
- static dst[32],src[32], data[5], player, access, callback
- player = str_to_num(data);
- if (g_Simon == player) return PLUGIN_CONTINUE
- set_bit(g_BackToCT,player)
- cs_set_user_team2(player, CS_TEAM_T);
- strip_user_weapons(player);
- give_item(player, "weapon_knife");
- current_weapon(player)
- get_user_name(player, dst, charsmax(dst))
- get_user_name(id, src, charsmax(src))
- player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_SIMON_PUNISH", src, dst,dst)
- return PLUGIN_HANDLED;
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1051\\ f0\\ fs16 \n\\ par }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement