Re: Admin Tag
Posted: 2011 Nov 13 12:38
Tame kad ADMIN_LEVEL_A, tai ne flagas a
Code: Select all
#define VIP ADMIN_LEVEL_A#define ADMIN ADMIN_LEVEL_B#define SPECADMIN ADMIN_LEVEL_C
Code: Select all
#include <amxmodx> #define VIPFLAG ADMIN_LEVEL_H new channels[][] = { "#Cstrike_Chat_CT", "#Cstrike_Chat_T", "#Cstrike_Chat_CT_Dead", "#Cstrike_Chat_T_Dead", "#Cstrike_Chat_Spec", "#Cstrike_Chat_All", "#Cstrike_Chat_AllDead", "#Cstrike_Chat_AllSpec"} new newChannels[][] = { "(Counter-Terrorist) [Vip] %s1 : %s2", "(Terrorist) [Vip] %s1 : %s2", "*DEAD*(Counter-Terrorist) [Vip] %s1 : %s2", "*DEAD*(Terrorist) [Vip] %s1 : %s2", "(Spectator) [Vip] %s1 : %s2", "[Vip] %s1 : %s2", "*DEAD* [Vip] %s1 : %s2", "*SPEC* [Vip] %s1 : %s2"} new Trie:vipChannels public plugin_init() { vipChannels = TrieCreate() for (new i; i < sizeof(channels); i++) { TrieSetString(vipChannels, channels[i], newChannels[i]) } register_message(get_user_msgid("SayText"), "messageSayText")} public messageSayText(msgid, msgdest, id) { new channel[64] get_msg_arg_string(2, channel, charsmax(channel)) if(!TrieGetString(vipChannels, channel, channel, charsmax(channel))) return new sender = get_msg_arg_int(1) if(sender) { if (get_user_flags(sender) & VIPFLAG) { set_msg_arg_string(2, channel) } }} public plugin_end() TrieDestroy(vipChannels)
Code: Select all
#include <amxmodx> #define VIPFLAG ADMIN_LEVEL_H new channels[][] = { "#Cstrike_Chat_CT", "#Cstrike_Chat_T", "#Cstrike_Chat_CT_Dead", "#Cstrike_Chat_T_Dead", "#Cstrike_Chat_Spec", "#Cstrike_Chat_All", "#Cstrike_Chat_AllDead", "#Cstrike_Chat_AllSpec"} new newChannels[][] = { "(Counter-Terrorist) [Vip] %s1 : %s2", "(Terrorist) [Vip] %s1 : %s2", "*DEAD*(Counter-Terrorist) [Vip] %s1 : %s2", "*DEAD*(Terrorist) [Vip] %s1 : %s2", "(Spectator) [Vip] %s1 : %s2", "[Vip] %s1 : %s2", "*DEAD* [Vip] %s1 : %s2", "*SPEC* [Vip] %s1 : %s2"} new Trie:vipChannels public plugin_init() { vipChannels = TrieCreate() for (new i; i < sizeof(channels); i++) { TrieSetString(vipChannels, channels[i], newChannels[i]) } register_message(get_user_msgid("SayText"), "messageSayText")} public messageSayText(msgid, msgdest, id) { new channel[64] get_msg_arg_string(2, channel, charsmax(channel)) if(!TrieGetString(vipChannels, channel, channel, charsmax(channel))) return new sender = get_msg_arg_int(1) if(sender) { if (get_user_flags(sender) & VIPFLAG) { set_msg_arg_string(2, channel) } }} public plugin_end() TrieDestroy(vipChannels)
Bet tu šaunuolis! Prikėlei 2011 metų temą.Mikas wrote:Neveike man Tavo pluginas nezinau kas cia yra. ..
Code: Select all
#include <amxmodx> #include <hamsandwich> #include <cstrike> #include <colorchat> #define VIP ADMIN_LEVEL_A #define ADMIN ADMIN_LEVEL_B #define SPECADMIN ADMIN_LEVEL_C new gszTag[33][15], gszName[33][15], gszTeam[33][20] new gFlags[33], gbAlive[33], Color:giColor[33] public plugin_init() { register_clcmd("say", "funcsay") register_clcmd("say_team", "funcsayteam") register_event("DeathMsg", "hook_Death", "a") register_event("TeamInfo", "team_change", "a") RegisterHam(Ham_Spawn, "player", "hook_PlayerSpawn", 1) } public funcsay(id) { if ((VIP | SPECADMIN | ADMIN) & gFlags[id]) { static szMessage[256] read_argv(1, szMessage, charsmax(szMessage)) if (szMessage[0] == '^0') return PLUGIN_HANDLED static players[32], num if (gbAlive[id]) { get_players(players, num, "ah") for (new i; i < num; i++) ColorChat(players[i], giColor[id], "^x04[%s] ^x03%s ^x01: %s", gszTag[id], gszName[id], szMessage) } else { get_players(players, num, "bh") for (new i; i < num; i++) ColorChat(players[i], giColor[id], "^x01*DEAD* ^x04[%s] ^x03%s ^x01: %s", gszTag[id], gszName[id], szMessage) } return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public funcsayteam(id) { if ((VIP | SPECADMIN | ADMIN) & gFlags[id]) { static szMessage[256] read_argv(1, szMessage, charsmax(szMessage)) if (szMessage[0] == '^0') return PLUGIN_HANDLED static players[32], num if (gbAlive[id]) { get_players(players, num, "ah") for (new i; i < num; i++) ColorChat(players[i], giColor[id], "^x01(%s) ^x04[%s] ^x03%s ^x01: %s", gszTeam[id], gszTag[id], gszName[id], szMessage) } else { get_players(players, num, "bh") for (new i; i < num; i++) ColorChat(players[i], giColor[id], "^x01*DEAD*(%s) ^x04[%s] ^x03%s ^x01: %s", gszTeam[id], gszTag[id], gszName[id], szMessage) } return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public hook_Death() { gbAlive[read_data(2)] = false } public hook_PlayerSpawn(id) { gbAlive[id] = true } public client_infochanged(id) { get_user_info(id, "name", gszName[id], charsmax(gszName)) tag_reload(id) } public client_putinserver(id) { gbAlive[id] = false get_user_name(id, gszName[id], charsmax(gszName)) tag_reload(id) } public tag_reload(id) { gFlags[id] = get_user_flags(id) if (gFlags[id] & SPECADMIN) formatex(gszTag[id], charsmax(gszTag), "Spec. Admin") else if (gFlags[id] & ADMIN) formatex(gszTag[id], charsmax(gszTag), "Admin") else if (gFlags[id] & VIP) formatex(gszTag[id], charsmax(gszTag), "Vip") } public team_change() { new id = read_data(1), szTeam[2] read_data(2, szTeam, charsmax(szTeam)) if(!is_user_connected(id)) return PLUGIN_HANDLED switch(szTeam[0]) { case 'C': { giColor[id] = BLUE formatex(gszTeam[id], charsmax(gszTeam), "Counter-Terrorist") } case 'T': { giColor[id] = RED formatex(gszTeam[id], charsmax(gszTeam), "Terrorist") } default: { giColor[id] = GREY formatex(gszTeam[id], charsmax(gszTeam), "Spectator") } } return PLUGIN_CONTINUE }