Ir para conteúdo

Noviinhooo

Membro
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Noviinhooo

  • Data de Nascimento 06/04/1998

Profile Information

  • Sexo
    Male
  • Cidade:
    Rio Grande Do Sul

Noviinhooo's Achievements

Newbie

Newbie (1/14)

1

Reputação

  1. Todo mundo já deve ter visto em servidores,esse comandos: /musicas (ou /roundsounds) /models /skin Queria que alguém me ajuda-se !!
  2. Mano,peço desculpas mais não entendi,o seu CS não funciona no Windows 8? é isso? Sé for isso,reinstale o CS na Steam,excluindo tudo do CS,até mesmo nos registro! Sobre Patch,isso é usado em Non-Steam amigo! :3
  3. Testado em AMX Mod X, v1.8.3-dev+4739 admincmd.sma plmenu.sma FONTE
  4. Com este plugin você pode definir prefixos para Administradores com bandeiras especiais. Também Administradores podem colocar prefixos personalizados para eles ou para os outros jogadores Comandos: Altera Prefixo ON ou OFF' say_team /prefix ou say /prefix Recarrega arquivo prefixos a partir do console, sem reiniciar o servidor. ap_reload_prefixes Recarrega arquivo Bad prefixos a partir do console, sem reiniciar o servidor. ap_reload_badprefixes Coloca prefixo para a chave que você digitar caso você tem a bandeira especial. Ou, se não houver nenhum prefixo digitado, remove o prefixo que o jogador tem. ap_put "type (f, i, s, n)" "key(Flag, IP, SteamID, name)" "Prefix" "f" "n" "[PREFIX FLAG]" - Desta forma, pessoa com a frag N, terá o prefixo [PREFIX FLAG] "i" "192.168.1.100" "[PREFIX IP]" - Desta forma, pessoa com IP 192.168.1.100, terá o prefixo [PREFIX IP] "s" "STEAM_0:1:52985922" "[PREFIX STEAMID]" - Desta forma pessoa com a steamid STEAM_0:1:52985922, terá o prefixo [PREFIX NAME] "n" "m0skVi4a ;]" "[PREFIX NAME]" - Desta forma, pessoa com nome m0skVi4a ;], terá o prefixo [PREFIX NAME] #include <amxmodx> #include <amxmisc> #include <celltrie> #include <cstrike> #define VERSION "4.0" #define FLAG_LOAD ADMIN_CFG #define MAX_PREFIXES 33 #define MAX_BAD_PREFIXES 100 new g_bad_prefix, g_listen, g_listen_flag, g_custom, g_custom_flag, g_say_characters, g_prefix_characters; new pre_ips_count = 0, pre_names_count = 0, pre_steamids_count, pre_flags_count = 0, bad_prefix_count = 0, i, temp_cvar[2]; new configs_dir[64], file_prefixes[128], file_bad_prefixes[128], text[128], prefix[32], type[2], key[32], length, line = 0, error[256]; new g_saytxt, g_maxplayers, CsTeams:g_team; new g_typed[192], g_message[192], g_name[32]; new Trie:pre_ips_collect, Trie:pre_names_collect, Trie:pre_steamids_collect, Trie:pre_flags_collect, Trie:bad_prefixes_collect, Trie:client_prefix; new str_id[16], temp_key[35], temp_prefix[32], temp_value; new bool:g_toggle[33]; new const say_team_info[2][CsTeams][] = { {"*SPEC* ", "*DEAD* ", "*DEAD* ", "*SPEC* "}, {"", "", "", ""} } new const sayteam_team_info[2][CsTeams][] = { {"(Spectator) ", "*DEAD*(Terrorist) ", "*DEAD*(Counter-Terrorist) ", "(Spectator) "}, {"(Spectator) ", "(Terrorist) ", "(Counter-Terrorist) ", "(Spectator) "} } new const forbidden_say_symbols[] = { "/", "!", "%", "$" } new const forbidden_prefixes_symbols[] = { "/", "\", "%", "$", ".", ":", "?", "!", "@", "#", "%" } new const separator[] = "************************************************" new const in_prefix[] = "[AdminPrefixes]" public plugin_init() { register_plugin("Admin Prefixes", VERSION, "m0skVi4a ;]") g_bad_prefix = register_cvar("ap_bad_prefixes", "1") g_listen = register_cvar("ap_listen", "1") g_listen_flag = register_cvar("ap_listen_flag", "a") g_custom = register_cvar("ap_custom_current", "1") g_custom_flag = register_cvar("ap_custom_current_flag", "b") g_say_characters = register_cvar("ap_say_characters", "1") g_prefix_characters = register_cvar("ap_prefix_characters", "1") g_saytxt = get_user_msgid ("SayText") g_maxplayers = get_maxplayers() register_concmd("ap_reload_prefixes", "LoadPrefixes") register_concmd("ap_reload_badprefixes", "LoadBadPrefixes") register_concmd("ap_put", "SetPlayerPrefix") register_clcmd("say", "HookSay") register_clcmd("say_team", "HookSayTeam") pre_ips_collect = TrieCreate() pre_names_collect = TrieCreate() pre_steamids_collect = TrieCreate() pre_flags_collect = TrieCreate() bad_prefixes_collect = TrieCreate() client_prefix = TrieCreate() register_dictionary("admin_prefixes.txt") get_configsdir(configs_dir, charsmax(configs_dir)) formatex(file_prefixes, charsmax(file_prefixes), "%s/ap_prefixes.ini", configs_dir) formatex(file_bad_prefixes, charsmax(file_bad_prefixes), "%s/ap_bad_prefixes.ini", configs_dir) LoadPrefixes(0) LoadBadPrefixes(0) } public LoadPrefixes(id) { if(!(get_user_flags(id) & FLAG_LOAD)) { console_print(id, "%L", LANG_SERVER, "PREFIX_PERMISSION", in_prefix) return PLUGIN_HANDLED } TrieClear(pre_ips_collect) TrieClear(pre_names_collect) TrieClear(pre_steamids_collect) TrieClear(pre_flags_collect) line = 0, length = 0, pre_flags_count = 0, pre_ips_count = 0, pre_names_count = 0; if(!file_exists(file_prefixes)) { formatex(error, charsmax(error), "%L", LANG_SERVER, "PREFIX_NOT_FOUND", in_prefix, file_prefixes) set_fail_state(error) } server_print(separator) while(read_file(file_prefixes, line++ , text, charsmax(text), length) && (pre_ips_count + pre_names_count + pre_steamids_count + pre_flags_count) <= MAX_PREFIXES) { if(!text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/')) continue parse(text, type, charsmax(type), key, charsmax(key), prefix, charsmax(prefix)) trim(prefix) if(!type[0] || !prefix[0] || !key[0]) continue replace_all(prefix, charsmax(prefix), "!g", "^x04") replace_all(prefix, charsmax(prefix), "!t", "^x03") replace_all(prefix, charsmax(prefix), "!n", "^x01") switch(type[0]) { case 'f': { pre_flags_count++ TrieSetString(pre_flags_collect, key, prefix) server_print("%L", LANG_SERVER, "PREFIX_LOAD_FLAG", in_prefix, prefix, key[0]) } case 'i': { pre_ips_count++ TrieSetString(pre_ips_collect, key, prefix) server_print("%L", LANG_SERVER, "PREFIX_LOAD_IP", in_prefix, prefix, key) } case 's': { pre_steamids_count++ TrieSetString(pre_steamids_collect, key, prefix) server_print("%L", LANG_SERVER, "PREFIX_LOAD_STEAMID", in_prefix, prefix, key) } case 'n': { pre_names_count++ TrieSetString(pre_names_collect, key, prefix) server_print("%L", LANG_SERVER, "PREFIX_LOAD_NAME", in_prefix, prefix, key) } default: { continue } } } if(pre_flags_count <= 0 && pre_ips_count <= 0 && pre_steamids_count <= 0 && pre_names_count <= 0) { server_print("%L", LANG_SERVER, "PREFIX_NO", in_prefix) } get_user_name(id, g_name, charsmax(g_name)) server_print("%L", LANG_SERVER, "PREFIX_LOADED_BY", in_prefix, g_name) console_print(id, "%L", LANG_SERVER, "PREFIX_LOADED", in_prefix) server_print(separator) for(new i = 1; i <= g_maxplayers; i++) { num_to_str(i, str_id, charsmax(str_id)) TrieDeleteKey(client_prefix, str_id) PutPrefix(i) } return PLUGIN_HANDLED } public LoadBadPrefixes(id) { if(!get_pcvar_num(g_bad_prefix)) { console_print(id, "%L", LANG_SERVER, "BADP_OFF", in_prefix) return PLUGIN_HANDLED } if(!(get_user_flags(id) & FLAG_LOAD)) { console_print(id, "%L", LANG_SERVER, "BADP_PERMISSION", in_prefix) return PLUGIN_HANDLED } TrieClear(bad_prefixes_collect) line = 0, length = 0, bad_prefix_count = 0; if(!file_exists(file_bad_prefixes)) { console_print(id, "%L", LANG_SERVER, "BADP_NOT_FOUND", in_prefix, file_bad_prefixes) return PLUGIN_HANDLED } server_print(separator) while(read_file(file_bad_prefixes, line++ , text, charsmax(text), length) && bad_prefix_count <= MAX_BAD_PREFIXES) { if(!text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/')) continue parse(text, prefix, charsmax(prefix)) if(!prefix[0]) continue bad_prefix_count++ TrieSetCell(bad_prefixes_collect, prefix, 1) server_print("%L", LANG_SERVER, "BADP_LOAD", in_prefix, prefix) } if(bad_prefix_count <= 0) { server_print("%L", LANG_SERVER, "BADP_NO", in_prefix) } get_user_name(id, g_name, charsmax(g_name)) server_print("%L", LANG_SERVER, "BADP_LOADED_BY", in_prefix, g_name) console_print(id, "%L", LANG_SERVER, "BADP_LOADED", in_prefix) server_print(separator) return PLUGIN_HANDLED } public client_putinserver(id) { g_toggle[id] = true num_to_str(id, str_id, charsmax(str_id)) TrieSetString(client_prefix, str_id, "") PutPrefix(id) } public HookSay(id) { read_args(g_typed, charsmax(g_typed)) remove_quotes(g_typed) trim(g_typed) if(equal(g_typed, "") || !is_user_connected(id)) return PLUGIN_HANDLED_MAIN if(equal(g_typed, "/prefix")) { if(g_toggle[id]) { g_toggle[id] = false client_print(id, print_chat, "%L", LANG_SERVER, "PREFIX_OFF", in_prefix) } else { g_toggle[id] = true client_print(id, print_chat, "%L", LANG_SERVER, "PREFIX_ON", in_prefix) } return PLUGIN_HANDLED_MAIN } if(!g_toggle[id]) return PLUGIN_CONTINUE num_to_str(id, str_id, charsmax(str_id)) if((TrieGetString(client_prefix, str_id, temp_prefix, charsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 1) || (!TrieGetString(client_prefix, str_id, temp_prefix, charsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 2) || get_pcvar_num(g_say_characters) == 3) { if(check_say_characters(g_typed)) return PLUGIN_HANDLED_MAIN } get_user_name(id, g_name, charsmax(g_name)) g_team = cs_get_user_team(id) if(temp_prefix[0]) { formatex(g_message, charsmax(g_message), "^1%s^4%s^3 %s :^4 %s", say_team_info[is_user_alive(id)][g_team], temp_prefix, g_name, g_typed) } else { formatex(g_message, charsmax(g_message), "^1%s^3%s :^1 %s", say_team_info[is_user_alive(id)][g_team], g_name, g_typed) } get_pcvar_string(g_listen_flag, temp_cvar, charsmax(temp_cvar)) for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar)) { send_message(g_message, id, i) } } return PLUGIN_HANDLED_MAIN } public HookSayTeam(id) { read_args(g_typed, charsmax(g_typed)) remove_quotes(g_typed) trim(g_typed) if(equal(g_typed, "") || !is_user_connected(id)) return PLUGIN_HANDLED_MAIN if(equal(g_typed, "/prefix")) { if(g_toggle[id]) { g_toggle[id] = false client_print(id, print_chat, "%L", LANG_SERVER, "PREFIX_OFF", in_prefix) } else { g_toggle[id] = true client_print(id, print_chat, "%L", LANG_SERVER, "PREFIX_ON", in_prefix) } return PLUGIN_HANDLED_MAIN } if(!g_toggle[id]) return PLUGIN_CONTINUE num_to_str(id, str_id, charsmax(str_id)) if((TrieGetString(client_prefix, str_id, temp_prefix, charsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 1) || (!TrieGetString(client_prefix, str_id, temp_prefix, charsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 2) || get_pcvar_num(g_say_characters) == 3) { if(check_say_characters(g_typed)) return PLUGIN_HANDLED_MAIN } get_user_name(id, g_name, charsmax(g_name)) g_team = cs_get_user_team(id) if(temp_prefix[0]) { formatex(g_message, charsmax(g_message), "^1%s^4%s^3 %s :^4 %s", sayteam_team_info[is_user_alive(id)][g_team], temp_prefix, g_name, g_typed) } else { formatex(g_message, charsmax(g_message), "^1%s^3%s :^1 %s", sayteam_team_info[is_user_alive(id)][g_team], g_name, g_typed) } get_pcvar_string(g_listen_flag, temp_cvar, charsmax(temp_cvar)) for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(get_user_team(id) == get_user_team(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar)) { if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar)) { send_message(g_message, id, i) } } } return PLUGIN_HANDLED_MAIN } public SetPlayerPrefix(id) { if(!get_pcvar_num(g_custom) || !get_pcvar_string(g_custom_flag, temp_cvar, charsmax(temp_cvar))) { console_print(id, "%L", LANG_SERVER, "CUSTOM_OFF", in_prefix) return PLUGIN_HANDLED } if(!(get_user_flags(id) & read_flags(temp_cvar))) { console_print(id, "%L", LANG_SERVER, "CUSTOM_PERMISSION", in_prefix) return PLUGIN_HANDLED } new input[128], target; new arg_type[2], arg_prefix[32], arg_key[35]; new temp_str[16]; read_args(input, charsmax(input)) remove_quotes(input) parse(input, arg_type, charsmax(arg_type), arg_key, charsmax(arg_key), arg_prefix, charsmax(arg_prefix)) trim(arg_prefix) if(get_pcvar_num(g_bad_prefix) && is_bad_prefix(arg_prefix) && !equali(arg_prefix, "")) { console_print(id, "%L", LANG_SERVER, "CUSTOM_FORBIDDEN", in_prefix, arg_prefix) return PLUGIN_HANDLED } if(get_pcvar_num(g_prefix_characters) && check_prefix_characters(arg_prefix)) { console_print(id, "%L", LANG_SERVER, "CUSTOM_SYMBOL", in_prefix, arg_prefix, forbidden_prefixes_symbols[i]) return PLUGIN_HANDLED } switch(arg_type[0]) { case 'f': { target = 0 temp_str = "Flag" } case 'i': { target = find_player("d", arg_key) temp_str = "IP" } case 's': { target = find_player("c", arg_key) temp_str = "SteamID" } case 'n': { target = find_player("a", arg_key) temp_str = "Name" } default: { console_print(id, "%L", LANG_SERVER, "CUSTOM_INVALID", in_prefix, arg_type) return PLUGIN_HANDLED } } get_user_name(id, g_name, charsmax(g_name)) if(equali(arg_prefix, "")) { find_and_delete(arg_type, arg_key) if(target) { PutPrefix(target) } console_print(id, "%L", LANG_SERVER, "CUSTOM_REMOVE", in_prefix, temp_str, arg_key) server_print("%L", LANG_SERVER, "CUSTOM_REMOVE_INFO", in_prefix, g_name, temp_str, arg_key) return PLUGIN_HANDLED } find_and_delete(arg_type, arg_key) formatex(text, charsmax(text), "^"%s^" ^"%s^" ^"%s^"", arg_type, arg_key, arg_prefix) write_file(file_prefixes, text, -1) switch(arg_type[0]) { case 'f': { TrieSetString(pre_flags_collect, arg_key, arg_prefix) } case 'i': { TrieSetString(pre_ips_collect, arg_key, arg_prefix) } case 's': { TrieSetString(pre_steamids_collect, arg_key, arg_prefix) } case 'n': { TrieSetString(pre_names_collect, arg_key, arg_prefix) } } if(target) { num_to_str(target, str_id, charsmax(str_id)) TrieSetString(client_prefix, str_id, arg_prefix) } console_print(id, "%L", LANG_SERVER, "CUSTOM_CHANGE", in_prefix, temp_str, arg_key, arg_prefix) server_print("%L", LANG_SERVER, "CUSTOM_CHANGE_INFO", in_prefix, g_name, temp_str, arg_key, arg_prefix) return PLUGIN_HANDLED } public client_infochanged(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE new g_old_name[32]; get_user_info(id, "name", g_name, charsmax(g_name)) get_user_name(id, g_old_name, charsmax(g_old_name)) if(!equal(g_name, g_old_name)) { num_to_str(id, str_id, charsmax(str_id)) TrieSetString(client_prefix, str_id, "") set_task(0.5, "PutPrefix", id) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public PutPrefix(id) { num_to_str(id, str_id, charsmax(str_id)) TrieSetString(client_prefix, str_id, "") new sflags[32], temp_flag[2]; get_flags(get_user_flags(id), sflags, charsmax(sflags)) for(new i = 0; i <= charsmax(sflags); i++) { formatex(temp_flag, charsmax(temp_flag), "%c", sflags[i]) if(TrieGetString(pre_flags_collect, temp_flag, temp_prefix, charsmax(temp_prefix))) { TrieSetString(client_prefix, str_id, temp_prefix) } } get_user_ip(id, temp_key, charsmax(temp_key), 1) if(TrieGetString(pre_ips_collect, temp_key, temp_prefix, charsmax(temp_prefix))) { TrieSetString(client_prefix, str_id, temp_prefix) } get_user_authid(id, temp_key, charsmax(temp_key)) if(TrieGetString(pre_steamids_collect, temp_key, temp_prefix, charsmax(temp_prefix))) { TrieSetString(client_prefix, str_id, temp_prefix) } get_user_name(id, temp_key, charsmax(temp_key)) if(TrieGetString(pre_names_collect, temp_key, temp_prefix, charsmax(temp_prefix))) { TrieSetString(client_prefix, str_id, temp_prefix) } return PLUGIN_HANDLED } send_message(const message[], const id, const i) { message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i) write_byte(id) write_string(message) message_end() } bool:check_say_characters(const check_message[]) { for(new i = 0; i < charsmax(forbidden_say_symbols); i++) { if(check_message[0] == forbidden_say_symbols[i]) { return true } } return false } bool:check_prefix_characters(const check_prefix[]) { for(i = 0; i < charsmax(forbidden_prefixes_symbols); i++) { if(containi(check_prefix, forbidden_prefixes_symbols[i]) != -1) { return true } } return false } bool:is_bad_prefix(const check_prefix[]) { if(TrieGetCell(bad_prefixes_collect, check_prefix, temp_value)) { return true } return false } find_and_delete(const arg_type[], const arg_key[]) { line = 0, length = 0; while(read_file(file_prefixes, line++ , text, charsmax(text), length)) { if(!text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/')) continue parse(text, type, charsmax(type), key, charsmax(key), prefix, charsmax(prefix)) trim(prefix) if(!type[0] || !prefix[0] || !key[0]) continue if(!equal(arg_type, type) || !equal(arg_key, key)) continue write_file(file_prefixes, "", line - 1) } switch(arg_type[0]) { case 'f': { TrieDeleteKey(pre_flags_collect, arg_key) } case 'i': { TrieDeleteKey(pre_ips_collect, arg_key) } case 's': { TrieDeleteKey(pre_steamids_collect, arg_key) } case 'n': { TrieDeleteKey(pre_names_collect, arg_key) } } } amxmodx\plugins,antes de colocar na pasta,copile :3 AdminPrefixes.sma amxmodx\data\lang admin_prefixes.txt amxmodx\configs ap_prefixes.ini ap_bad_prefixes.ini Fonte
×
×
  • Criar Novo...