Chce zlaczyc dwa pluginy razem, Invisible Spectator oraz Spec Switch aby po wpisaniu /spec, admin'a przezucilo na spekta i go chowa z tabeli (scoreboard)
Kiedys gdzies byl plugin, nato by "schowac" sie z tabeli ale pluginu nie moge znajsc
Spoiler
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <colorchat> #define PLUGIN "Spec Switch" #define VERSION "0.1.3" #define AUTHOR "many" #define DEAD_FLAG (1<<0) #define MAX_PLAYERS 32 new CsTeams:zTeam[33]; new zDeath[33]; new bool:type_spec[33] = false; new g_cvar; new gmsgScoreAttrib; new g_invisible[MAX_PLAYERS+1][2] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) /* Cvar */ g_cvar = register_cvar("amx_specmode", "1"); // 0 - enable use to all, 1 - enable use only ADMINs /* Client Commands */ register_clcmd("say /spec", "cmdSpec", ADMIN_KICK, "- go to spectator"); register_clcmd("say_team /spec", "cmdSpec", ADMIN_KICK, "- go to spectator"); register_clcmd("say /back", "cmdBack"); register_clcmd("say_team /back", "cmdBack", ADMIN_KICK, "- go back to your team"); gmsgScoreAttrib = get_user_msgid("ScoreAttrib") register_message( gmsgScoreAttrib, "msg_ScoreAttrib") } public cmdSpec(id) { if(!get_user_flags(id) & ADMIN_KICK) { return PLUGIN_HANDLED; } if(!get_pcvar_num(g_cvar)) Spec(id); else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Spec(id); else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK)) PrintUserNotAdmin(id); return PLUGIN_CONTINUE; } public cmdBack(id) { if (type_spec[id] && cs_get_user_team(id) == CS_TEAM_SPECTATOR && zTeam[id] != CS_TEAM_SPECTATOR ) Back(id); //else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK) ) PrintUserNotAdmin(id) } public Spec(id) { zDeath[id] = cs_get_user_deaths(id); if (cs_get_user_team(id) == CS_TEAM_SPECTATOR) return; else{ g_invisible[id][0] = 1; type_spec[id] = true; zTeam[id] = cs_get_user_team(id); cs_set_user_team(id, CS_TEAM_SPECTATOR); user_silentkill(id); send_ScoreAttrib(id, 0) ColorChat(id,GREEN,"[SPEC]^x03 Wpisz^x01 /back^x03 zeby wrocic do CT!"); ColorChat(id,GREEN,"[SPEC]^x03 Obecny status Niewidzialny"); } return } public Back(id) { cs_set_user_team(id, zTeam[id]); cs_set_user_deaths(id, zDeath[id]); g_invisible[id][0] = 0; send_ScoreAttrib(id, 1) ColorChat(id,GREEN,"[SPEC]^x03 Obecny status Widzialny"); } PrintUserNotAdmin(id) { client_print(id,print_chat,"[SPEC]^x03 Komenda^x01 /spec^x03,^x01 /back^x03 tylko dla adminow!"); } public msg_ScoreAttrib(msg_type, msg_dest, target) { if(!g_invisible[get_msg_arg_int(1)][0]) return PLUGIN_CONTINUE new flags = get_msg_arg_int(2) if(flags & DEAD_FLAG) set_msg_arg_int(2, 0, 0) return PLUGIN_CONTINUE } send_ScoreAttrib(id, flags) { message_begin(MSG_ALL, gmsgScoreAttrib, _, 0) write_byte(id) write_byte(flags) message_end() } public client_disconnected(id) type_spec[id] = false; public client_connect(id) type_spec[id] = false;
Przezuca ladnie na spekta ale nie chowa w tabeli
Jest ktos w stanie pomoc by plugin chowal admina w tabeli ?
Użytkownik Mr.Tnctproo edytował ten post 20.03.2022 19:03