RSSy MYGO.pl Opublikowano Luty 19, 2020 o 13:50 RSSy Udostępnij Opublikowano Luty 19, 2020 o 13:50 hello, friends i have a plugin, this plugin was written to change the message color and nick color of the players and admins. But I have a problem with the plugin. That is; While the plugin sends the messages of normal players 1 time, it sends the messages of the players who have admin or slot authorization to the chat part twice. I want to fix this. can anyone help me PHP Code: // Renkler: [1] Sari, [2] Yesil, [3] Beyaz, [4] Mavi, [5] Kirmizi, [6] Takim Rengi #include <amxmodx> #include <amxmisc> #define YONETICI_ADMIN ADMIN_IMMUNITY #define PLUGINCI_ADMIN ADMIN_RCON #define NORMAL_ADMIN ADMIN_BAN #define SLOT_ADMIN ADMIN_RESERVATION #define USER_ADMIN ADMIN_USER #define ADMIN_LISTEN ADMIN_BAN new message[192] new YoneticiNickRengi, PluginciNickRengi, AdminNickRengi, SlotNickRengi, UserNickRengi; new YoneticiMesajRengi, PluginciMesajRengi, AdminMesajRengi, SlotMesajRengi, UserMesajRengi; new AdminListen, alive[11], strName[191], strText[191] new const yTag[] = ""; new const kurucu[] = ""; new const pluginci[] = ""; new const admin[] = ""; new const slot[] = ""; public plugin_init() { register_plugin("Renkli Yazma", "1.0", "Anonim / edit: Berk") register_clcmd("say", "hook_say") register_clcmd("say_team", "hook_sayteam") register_message (get_user_msgid ("SayText"), "avoid_duplicated") YoneticiNickRengi = register_cvar("yonetici_nick_color", "5") PluginciNickRengi = register_cvar("pluginci_nick_color", "5") AdminNickRengi = register_cvar("admin_nick_color", "5") SlotNickRengi = register_cvar("slot_nick_color", "5") UserNickRengi = register_cvar("user_nick_color", "3") YoneticiMesajRengi = register_cvar("yonetici_mesaj_color", "2") PluginciMesajRengi = register_cvar("pluginci_mesaj_color", "2") AdminMesajRengi = register_cvar("admin_mesaj_color", "2") SlotMesajRengi = register_cvar("slot_mesaj_color", "2") UserMesajRengi = register_cvar("user_mesaj_color", "1") AdminListen = register_cvar("amx_listen", "1") } public avoid_duplicated (msgId, msgDest, receiver) { return PLUGIN_HANDLED } public hook_say(id) { read_args(message, 191) remove_quotes(message) if(message[0] == '@' || message[0] == '!' || equal(message, "")) return PLUGIN_CONTINUE; new name[32] get_user_name(id, name, 31) new bool:User = false new bool:Slot = false new bool:Admin = false new bool:Pluginci = false new bool:Yonetici = false if(get_user_flags(id) & YONETICI_ADMIN) Yonetici = true else if(get_user_flags(id) & PLUGINCI_ADMIN) Pluginci = true else if(get_user_flags(id) & NORMAL_ADMIN) Admin = true else if(get_user_flags(id) & SLOT_ADMIN) Slot = true else if(get_user_flags(id) & USER_ADMIN) User = true new isAlive if(is_user_alive(id)) { isAlive = 1 alive = "^x01" } else { isAlive = 0 alive = "^x01*OLU*" } static color[10] if(Yonetici) { Admin = false Slot = false Pluginci = false User = false switch(get_pcvar_num(YoneticiNickRengi)) { case 1: { format (strName, 191, "^x04%s %s %s", kurucu, alive, name) } case 2: { format (strName, 191, "^x04%s %s ^x04%s", kurucu, alive, name) } case 3: { color = "SPECTATOR" format (strName, 191, "^x04%s %s ^x03%s", kurucu, alive, name) } case 4: { color = "CT" format (strName, 191, "^x04%s %s ^x03%s", kurucu, alive, name) } case 5: { color = "TERRORIST" format (strName, 191, "^x04%s %s ^x03%s", kurucu, alive, name) } case 6: { get_user_team(id, color, 9) format (strName, 191, "^x04%s %s ^x03%s", kurucu, alive, name) } } switch(get_pcvar_num(YoneticiMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else if(Pluginci) { Yonetici = false Admin = false Slot = false User = false switch(get_pcvar_num(PluginciNickRengi)) { case 1: { format (strName, 191, "^x04%s %s %s", pluginci, alive, name) } case 2: { format (strName, 191, "^x04%s %s ^x04%s", pluginci, alive, name) } case 3: { color = "SPECTATOR" format (strName, 191, "^x04%s %s ^x03%s", pluginci, alive, name) } case 4: { color = "CT" format (strName, 191, "^x04%s %s ^x03%s", pluginci, alive, name) } case 5: { color = "TERRORIST" format (strName, 191, "^x04%s %s ^x03%s", pluginci, alive, name) } case 6: { get_user_team(id, color, 9) format (strName, 191, "^x04%s %s ^x03%s", pluginci, alive, name) } } switch(get_pcvar_num(PluginciMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else if(Admin) { Yonetici = false Slot = false Pluginci = false User = false switch(get_pcvar_num(AdminNickRengi)) { case 1: { format (strName, 191, "^x04%s %s %s", admin, alive, name) } case 2: { format (strName, 191, "^x04%s %s ^x04%s", admin, alive, name) } case 3: { color = "SPECTATOR" format (strName, 191, "^x04%s %s ^x03%s", admin, alive, name) } case 4: { color = "CT" format (strName, 191, "^x04%s %s ^x03%s", admin, alive, name) } case 5: { color = "TERRORIST" format (strName, 191, "^x04%s %s ^x03%s", admin, alive, name) } case 6: { get_user_team(id, color, 9) format (strName, 191, "^x04%s %s ^x03%s", admin, alive, name) } } switch(get_pcvar_num(AdminMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else if(Slot) { Yonetici = false Admin = false Pluginci = false User = false switch(get_pcvar_num(SlotNickRengi)) { case 1: { format (strName, 191, "^x04%s %s %s", slot, alive, name) } case 2: { format (strName, 191, "^x04%s %s ^x04%s", slot, alive, name) } case 3: { color = "SPECTATOR" format (strName, 191, "^x04%s %s ^x03%s", slot, alive, name) } case 4: { color = "CT" format (strName, 191, "^x04%s %s ^x03%s", slot, alive, name) } case 5: { color = "TERRORIST" format (strName, 191, "^x04%s %s ^x03%s", slot, alive, name) } case 6: { get_user_team(id, color, 9) format (strName, 191, "^x04%s %s ^x03%s", slot, alive, name) } } switch(get_pcvar_num(SlotMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else if(User) { Yonetici = false Admin = false Slot = false Pluginci = false switch(get_pcvar_num(UserNickRengi)) { case 1: { format (strName, 191, "^x04%s %s %s", yTag, alive, name) } case 2: { format (strName, 191, "^x04%s %s ^x04%s", yTag, alive, name) } case 3: { color = "SPECTATOR" format (strName, 191, "^x04%s %s ^x03%s", yTag, alive, name) } case 4: { color = "CT" format (strName, 191, "^x04%s %s ^x03%s", yTag, alive, name) } case 5: { color = "TERRORIST" format (strName, 191, "^x04%s %s ^x03%s", yTag, alive, name) } case 6: { get_user_team(id, color, 9) format (strName, 191, "^x04%s %s ^x03%s", yTag, alive, name) } } switch(get_pcvar_num(UserMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else { get_user_team(id, color, 9) format (strName, 191, "%s^x03%s", alive, name) format (strText, 191, "%s", message) } format (message, 191, "%s^x01 : %s", strName, strText) sendMessage (color, isAlive) return PLUGIN_CONTINUE; } public hook_sayteam(id) { new playerTeam = get_user_team(id) new playerTeamName[19] switch(playerTeam) { case 1: { copy (playerTeamName, 11, "Terrorists") } case 2: { copy (playerTeamName, 18, "Counter-Terrorists") } default: { copy (playerTeamName, 9, "Spectator") } } read_args(message, 191) remove_quotes(message) if(message[0] == '@' || message[0] == '!' || equal(message, "")) return PLUGIN_CONTINUE; new name[32] get_user_name(id, name, 31) new bool:User = false new bool:Slot = false new bool:Admin = false new bool:Pluginci = false new bool:Yonetici = false if(get_user_flags(id) & YONETICI_ADMIN) Yonetici = true else if(get_user_flags(id) & PLUGINCI_ADMIN) Pluginci = true else if(get_user_flags(id) & NORMAL_ADMIN) Admin = true else if(get_user_flags(id) & SLOT_ADMIN) Slot = true else if(get_user_flags(id) & USER_ADMIN) User = true new isAlive if(is_user_alive(id)) { isAlive = 1 alive = "^x01" } else { isAlive = 0 alive = "^x01*OLU*" } static color[10] if(Yonetici) { Admin = false Slot = false User = false Pluginci = false switch(get_pcvar_num(YoneticiNickRengi)) { case 1: { format (strName, 191, "%s(%s) %s", alive, playerTeamName, name) } case 2: { format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name) } case 3: { color = "SPECTATOR" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 4: { color = "CT" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 5: { color = "TERRORIST" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 6: { get_user_team (id, color, 9) format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } } switch(get_pcvar_num(YoneticiMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else if(Pluginci) { Admin = false Slot = false User = false Yonetici = false switch(get_pcvar_num(PluginciNickRengi)) { case 1: { format (strName, 191, "%s(%s) %s", alive, playerTeamName, name) } case 2: { format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name) } case 3: { color = "SPECTATOR" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 4: { color = "CT" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 5: { color = "TERRORIST" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 6: { get_user_team (id, color, 9) format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } } switch(get_pcvar_num(PluginciMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else if(Admin) { Yonetici = false Slot = false User = false Pluginci = false switch(get_pcvar_num(AdminNickRengi)) { case 1: { format (strName, 191, "%s(%s) %s", alive, playerTeamName, name) } case 2: { format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name) } case 3: { color = "SPECTATOR" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 4: { color = "CT" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 5: { color = "TERRORIST" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 6: { get_user_team (id, color, 9) format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } } switch(get_pcvar_num(AdminMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else if(Slot) { Yonetici = false Admin = false User = false Pluginci = false switch(get_pcvar_num(SlotNickRengi)) { case 1: { format (strName, 191, "%s(%s) %s", alive, playerTeamName, name) } case 2: { format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name) } case 3: { color = "SPECTATOR" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 4: { color = "CT" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 5: { color = "TERRORIST" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 6: { get_user_team (id, color, 9) format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } } switch(get_pcvar_num(SlotMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else if(User) { Yonetici = false Admin = false Slot = false switch(get_pcvar_num(UserNickRengi)) { case 1: { format (strName, 191, "%s(%s) %s", alive, playerTeamName, name) } case 2: { format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name) } case 3: { color = "SPECTATOR" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 4: { color = "CT" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 5: { color = "TERRORIST" format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } case 6: { get_user_team (id, color, 9) format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) } } switch(get_pcvar_num(UserMesajRengi)) { case 1: { format (strText, 191, "%s", message) } case 2: { format (strText, 191, "^x04%s", message) } case 3: { copy (color, 9, "SPECTATOR") format (strText, 191, "^x03%s", message) } case 4: { copy (color, 9, "CT") format (strText, 191, "^x03%s", message) } case 5: { copy (color, 9, "TERRORIST") format (strText, 191, "^x03%s", message) } } } else { get_user_team (id, color, 9) format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name) format (strText, 191, "%s", message) } format (message, 191, "%s ^x01: %s", strName, strText) sendTeamMessage (color, isAlive, playerTeam) return PLUGIN_CONTINUE } public set_listen(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new arg[1], newListen read_argv(1, arg, 1) newListen = str_to_num (arg) set_cvar_num ("amx_listen", newListen) set_pcvar_num (AdminListen, newListen) return PLUGIN_HANDLED } public sendMessage(color[], alive) { new teamName[10] for(new player = 1; player < get_maxplayers(); player++) { if(!is_user_connected(player)) continue if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(AdminListen) && get_user_flags(player) & ADMIN_LISTEN) { get_user_team(player, teamName, 9) changeTeamInfo(player, color) writeMessage(player, message) changeTeamInfo(player, teamName) } } } public sendTeamMessage(color[], alive, playerTeam) { new teamName[10] for(new player = 1; player < get_maxplayers(); player++) { if(get_user_team(player) == playerTeam || get_pcvar_num(AdminListen) && get_user_flags(player) & ADMIN_LISTEN) { if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(AdminListen) && get_user_flags(player) & ADMIN_LISTEN) { get_user_team(player, teamName, 9) changeTeamInfo(player, color) writeMessage(player, message) changeTeamInfo(player, teamName) } } } } public changeTeamInfo(player, team[]) { message_begin (MSG_ONE, get_user_msgid ("TeamInfo"), _, player) write_byte (player) write_string (team) message_end() } public writeMessage (player, message[]) { message_begin (MSG_ONE, get_user_msgid ("SayText"), {0, 0, 0}, player) write_byte (player) write_string (message) message_end () } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par } */ Przeczytaj cały wpis Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi