PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#define PLUGIN_NAME "TEAM NAMES"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "=TEAM NAMES"
new bool:b_FirstLaunch[33];
// default names
new const TeamT[] = "\yEVIL" // Terrorists
new const TeamCT[] = "\yBRAVE" // Counter-Terrorists
// default round end sounds
#define SOUND_CT_WIN "music/downed_intro.mp3"
#define SOUND_T_WIN "music/motor_intro.mp3"
//new const SoundT[] = "music/downed_intro.mp3"
//new const SoundCT[] = "music/motor_intro.mp3"
// Some variables
new mChooseTeam
new showMsg = 0
//new pcTeamT, pcTeamCT, pcSoundT, pcSoundCT, pcUseSounds
new pcTeamT, pcTeamCT
public plugin_init() {
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
register_message(get_user_msgid("ShowMenu"), "message_show_menu");
// register_event("ResetHUD", "set_hud", "be");
RegisterHam(Ham_Spawn, "player", "CBasePlayer_Spawn_Post", 1)
register_clcmd( "say /shopT", "ShopT" );
register_clcmd( "say /shopCT", "ShopCT" );
// change round end message / sounds
register_message(get_user_msgid("SendAudio"), "message_sendaudio");
register_message(get_user_msgid("TextMsg"), "message_textmsg");
pcTeamT = register_cvar("ctn_team_t", TeamT);
pcTeamCT = register_cvar("ctn_team_ct", TeamCT);
//pcUseSounds = register_cvar("ctn_use_sounds", "1");
//pcSoundT = register_cvar("ctn_sound_t", SoundT);
//pcSoundCT = register_cvar("ctn_sound_ct", SoundCT);
register_clcmd("chooseteam", "cmdBlock");
createMenu();
}
public ShopCT(id)
{
new menu = menu_create("\yWhat well you buy?", "CTsubmenu_handler")
menu_additem(menu, "\wExtra 35 HP for ($5000)", "1", 0);
menu_additem(menu, "\wExtra 60 HP for ($10000)", "1", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public CTsubmenu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if(cs_get_user_money( id ) < 5000)
{
client_print(id, print_chat, "You do not have enough money.")
return PLUGIN_CONTINUE
}
set_user_health(id, get_user_health(id) + 35)
cs_set_user_money(id, cs_get_user_money(id) - 5500)
}
case 2:
{
if(cs_get_user_money( id ) < 12000)
{
client_print(id, print_chat, "You do not have enough money.")
return PLUGIN_CONTINUE
}
set_user_health(id, get_user_health(id) + 65)
cs_set_user_money(id, cs_get_user_money(id) - 10000)
}
}
return PLUGIN_HANDLED;
}
public ShopT(id)
{
new menu = menu_create("\yWhat well you buy?", "submenu_handler")
menu_additem(menu, "\wExtra 25 HP for ($5000)", "1", 0);
menu_additem(menu, "\wExtra 50 HP for ($10000)", "1", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public submenu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if(cs_get_user_money( id ) < 5000)
{
client_print(id, print_chat, "You do not have enough money.")
return PLUGIN_CONTINUE
}
set_user_health(id, get_user_health(id) + 25)
cs_set_user_money(id, cs_get_user_money(id) - 5000)
}
case 2:
{
if(cs_get_user_money( id ) < 10000)
{
client_print(id, print_chat, "You do not have enough money.")
return PLUGIN_CONTINUE
}
set_user_health(id, get_user_health(id) + 50)
cs_set_user_money(id, cs_get_user_money(id) - 10000)
}
}
return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
b_FirstLaunch[id] = true
}
public client_disconnect(id)
{
if (b_FirstLaunch[id])
b_FirstLaunch[id] = false
}
public fn_CheckTeam(id)
{
if (b_FirstLaunch[id])
{
b_FirstLaunch[id] = false
static CsTeams:user_team;
user_team = cs_get_user_team(id);
switch (user_team)
{
case CS_TEAM_CT:
ShopCT(id)
case CS_TEAM_T:
ShopT(id)
}
}
}
public client_connect(id)
{
set_user_info(id, "_vgui_menus", "0");
return PLUGIN_CONTINUE;
}
public CBasePlayer_Spawn_Post(id)
{
if( is_user_alive(id) )
{
showMsg = 0;
set_task(0.3, "fadeOut", id);
// some fixes if the HUD is destroyed
if (!user_has_weapon(id, CSW_KNIFE))
{
set_pev(id, pev_weapons, pev(id, pev_weapons) | (1<<31))
give_item(id, "weapon_knife");
switch (cs_get_user_team(id))
{
case CS_TEAM_CT:
{
give_item(id, "weapon_usp");
give_item(id, "ammo_45acp");
}
case CS_TEAM_T:
{
give_item(id, "weapon_glock18");
give_item(id, "ammo_9mm");
}
}
}
}
}
// end of a round
public round_end_msg(params[]) {
if (showMsg == 1)
{
client_print(0, print_center, "%s win!", params);
set_task(0.2, "round_end_msg", 0, params, 128);
}
}
public message_textmsg( msg_id, msg_dest, msg_entity )
{
static message[10];
get_msg_arg_string( 2, message, sizeof message - 1 );
if( message[1] == 'T' && message[2] == 'e' ) // #Terrorists_Win message
{
set_hudmessage(255,0,0,-1.0,0.3,0,2.0,2.0,0.0,0.0,-1)
show_hudmessage( 0, "Terro Message Here")
return PLUGIN_HANDLED;
}
else if( message[1] == 'C' && (message[2] == 'T' || message[2] == 't') )
{
set_hudmessage(0,64,255,-1.0,0.3,0,2.0,2.0,0.0,0.0,-1)
show_hudmessage( 0, "CT Message Here")
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
// sounds
public fadeOut()
{
client_cmd(0, "cd fadeout");
return PLUGIN_CONTINUE;
}
public message_sendaudio( msg_id, msg_dest, msg_entity )
{
static message[10];
get_msg_arg_string( 2, message, sizeof message - 1 );
if( message[7] == 't' )
{
client_cmd( msg_entity, "spk path/to/sound.extension" ); // or mp3 play
// What you want to do other than sound
return PLUGIN_HANDLED;
}
else if( message[7] == 'c' )
{
client_cmd( msg_entity, "spk path/to/sound.extension" ); // or mp3 play
// What you want to do other than sound.
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public cmdBlock(id)
{
menu_display(id, mChooseTeam, 0);
return PLUGIN_HANDLED;
}
// custom menu
public createMenu() {
mChooseTeam = menu_create("\wCHOOSE WHAT FORCE YOU WANT", "mh_ChooseTeam");
new t_name[128], ct_name[128];
get_pcvar_string(pcTeamT, t_name, 127);
get_pcvar_string(pcTeamCT, ct_name, 127);
menu_additem(mChooseTeam, t_name, "ma_ChooseTeam", ADMIN_ALL);
menu_additem(mChooseTeam, ct_name, "ma_ChooseTeam", ADMIN_ALL);
menu_additem(mChooseTeam, "\rPokemon Spectator", "ma_ChooseTeam", ADMIN_ALL);
return PLUGIN_CONTINUE;
}
public message_show_menu(msgid, dest, id) {
if (get_user_team(id) || task_exists(id))
return PLUGIN_CONTINUE;
static team_select[] = "#Team_Select";
static menu_text_code[sizeof team_select];
get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1);
if (!equal(menu_text_code, team_select))
return PLUGIN_CONTINUE;
set_task(0.1, "force_team_join", id);
return PLUGIN_HANDLED;
}
public force_team_join(id) {
engclient_cmd(id, "jointeam", "6");
menu_display(id, mChooseTeam, 0);
return PLUGIN_CONTINUE;
}
public mh_ChooseTeam(id, menu, item) {
switch (item)
{
case -3: return PLUGIN_HANDLED;
case 0:
if (cs_get_user_team(id) == CS_TEAM_T)
return PLUGIN_HANDLED;
case 1:
if (cs_get_user_team(id) == CS_TEAM_CT)
return PLUGIN_HANDLED;
case 2:
if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return PLUGIN_HANDLED;
}
if (cs_get_user_team(id) != CS_TEAM_SPECTATOR)
{
user_silentkill(id);
cs_set_user_deaths(id, cs_get_user_deaths(id) - 1);
}
cs_set_user_team(id, item + 1, random_num(1, 5));
// restart round if there is only one player (excl. bot)
new Players[32], playerCount;
get_players(Players, playerCount, "c");
if (playerCount == 1)
server_cmd("sv_restart 1");
return PLUGIN_HANDLED;
}
public plugin_precache() {
#if defined SOUND_CT_WIN
precache_sound(SOUND_CT_WIN);
#endif
#if defined SOUND_T_WIN
precache_sound(SOUND_T_WIN);
#endif
}