SpinTecaTorul Posted December 16, 2012 Report Share Posted December 16, 2012 Buna Seara ,doresc sami modificati adminvote cand un admin da un vot sa numai ii mai apara la daca accepta sau refuza schimbare mapei sa accepte automat si sa se schimbe automat peste 3 runde si sa se dea timplimit 0 automat si sa apra un mesaj "Rezultatul a fost acceptat, se vor mai juca inca 3 runde." Uitati AdminVote: http://www.2shared.com/file/fUf0YIdS/adminvote.html Link to comment Share on other sites More sharing options...
Aleex Posted December 16, 2012 Report Share Posted December 16, 2012 Incearca asa:) #include <amxmodx>#include <amxmisc>new g_Answer[128]new g_optionName[4][32]new g_voteCount[4]new g_validMapsnew g_yesNoVotenew g_coloredMenusnew g_voteCallernew g_Execute[256]new g_execLennew bool:g_execResultnew Float:g_voteRatiopublic plugin_init(){register_plugin("Admin Votes", AMXX_VERSION_STR, "AMXX Dev Team")register_dictionary("adminvote.txt")register_dictionary("common.txt")register_dictionary("mapsmenu.txt")register_menucmd(register_menuid("Change map to "), MENU_KEY_1|MENU_KEY_2, "voteCount")register_menucmd(register_menuid("Choose map: "), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4, "voteCount")register_menucmd(register_menuid("Kick "), MENU_KEY_1|MENU_KEY_2, "voteCount")register_menucmd(register_menuid("Ban "), MENU_KEY_1|MENU_KEY_2, "voteCount")register_menucmd(register_menuid("Vote: "), MENU_KEY_1|MENU_KEY_2, "voteCount")register_menucmd(register_menuid("The result: "), MENU_KEY_1|MENU_KEY_2, "actionResult")register_concmd("amx_votemap", "cmdVoteMap", ADMIN_VOTE, "<map> [map] [map] [map]")register_concmd("amx_votekick", "cmdVoteKickBan", ADMIN_VOTE, "<name or #userid>")register_concmd("amx_voteban", "cmdVoteKickBan", ADMIN_VOTE, "<name or #userid>")register_concmd("amx_vote", "cmdVote", ADMIN_VOTE, "<question> <answer#1> <answer#2>")register_concmd("amx_cancelvote", "cmdCancelVote", ADMIN_VOTE, "- cancels last vote")g_coloredMenus = colored_menus()}public cmdCancelVote(id, level, cid){if (!cmd_access(id, level, cid, 0))return PLUGIN_HANDLEDif (task_exists(99889988, 1)){new authid[32], name[32]get_user_authid(id, authid, 31)get_user_name(id, name, 31)log_amx("Vote: ^"%s<%d><%s><>^" cancel vote session", name, get_user_userid(id), authid)new players[32], pnum, lTag[16], activity = get_cvar_num("amx_show_activity")get_players(players, pnum, "c")for (new i = 0; i < pnum;i ++){format(lTag, 15, "%L", players[i], is_user_admin(id) ? "ADMIN" : "PLAYER")switch (activity){case 2: client_print(players[i], print_chat, "%L", LANG_PLAYER, "ADMIN_CANC_VOTE_2", lTag, name)case 1: client_print(players[i], print_chat, "%L", LANG_PLAYER, "ADMIN_CANC_VOTE_1", lTag)}}console_print(id, "%L", id, "VOTING_CANC")client_print(0,print_chat,"%L",LANG_PLAYER,"VOTING_CANC")remove_task(99889988, 1)set_cvar_float("amx_last_voting", get_gametime())}elseconsole_print(id, "%L", id, "NO_VOTE_CANC")return PLUGIN_HANDLED}public delayedExec(cmd[])server_cmd("%s", cmd)public autoRefuse(){log_amx("Vote: %L", "en", "RES_REF")client_print(0, print_chat, "%L", LANG_PLAYER, "RES_REF")}public actionResult(id, key){remove_task(4545454)switch (key){case 0:{set_task(2.0, "delayedExec", 0, g_Execute, g_execLen)log_amx("Vote: %L", "en", "RES_ACCEPTED")client_print(0, print_chat, "%L", LANG_PLAYER, "RES_ACCEPTED")}case 1: autoRefuse()}return PLUGIN_HANDLED}public checkVotes(){new best = 0if (!g_yesNoVote){for (new a = 0; a < 4; ++a)if (g_voteCount[a] > g_voteCount[best])best = a}new votesNum = g_voteCount[0] + g_voteCount[1] + g_voteCount[2] + g_voteCount[3]new iRatio = votesNum ? floatround(g_voteRatio * float(votesNum), floatround_ceil) : 1new iResult = g_voteCount[best]new players[32], pnum, iget_players(players, pnum, "c")if (iResult < iRatio){new lVotingFailed[64]for (i = 0; i < pnum; i++){format(lVotingFailed, 63, "%L", players[i], "VOTING_FAILED")if (g_yesNoVote)client_print(players[i], print_chat, "%L", players[i], "VOTING_RES_1", lVotingFailed, g_voteCount[0], g_voteCount[1], iRatio)elseclient_print(players[i], print_chat, "%L", players[i], "VOTING_RES_2", lVotingFailed, iResult, iRatio)}format(lVotingFailed, 63, "%L", "en", "VOTING_FAILED")log_amx("Vote: %s (got ^"%d^") (needed ^"%d^")", lVotingFailed, iResult, iRatio)return PLUGIN_CONTINUE}g_execLen = format(g_Execute, 255, g_Answer, g_optionName[best]) + 1if (g_execResult){g_execResult = falseif (is_user_connected(g_voteCaller)){new menuBody[512], lTheResult[32], lYes[16], lNo[16]format(lTheResult, 31, "%L", g_voteCaller, "THE_RESULT")format(lYes, 15, "%L", g_voteCaller, "YES")format(lNo, 15, "%L", g_voteCaller, "NO")new len = format(menuBody, 511, g_coloredMenus ? "y%s: w%s^n^n" : "%s: %s^n^n", lTheResult, g_Execute)len += format(menuBody[len], 511 - len, g_coloredMenus ? "y%L^nw" : "%L^n", g_voteCaller, "WANT_CONTINUE")format(menuBody[len], 511 - len, "^n1. %s^n2. %s", lYes, lNo)show_menu(g_voteCaller, 0x03, menuBody, 10, "The result: ")set_task(10.0, "autoRefuse", 4545454)}elseset_task(2.0, "delayedExec", 0, g_Execute, g_execLen)}new lVotingSuccess[32]for (i = 0; i < pnum; i++){format(lVotingSuccess, 31, "%L", players[i], "VOTING_SUCCESS")client_print(players[i], print_chat, "%L", players[i], "VOTING_RES_3", lVotingSuccess, iResult, iRatio, g_Execute)}format(lVotingSuccess, 31, "%L", "en", "VOTING_SUCCESS")log_amx("Vote: %s (got ^"%d^") (needed ^"%d^") (result ^"%s^")", lVotingSuccess, iResult, iRatio, g_Execute)return PLUGIN_CONTINUE}public voteCount(id, key){if (get_cvar_num("amx_vote_answers")){new name[32]get_user_name(id, name, 31)if (g_yesNoVote)client_print(0, print_chat, "%L", LANG_PLAYER, key ? "VOTED_AGAINST" : "VOTED_FOR", name)elseclient_print(0, print_chat, "%L", LANG_PLAYER, "VOTED_FOR_OPT", name, key + 1)}++g_voteCount[key]return PLUGIN_HANDLED}public cmdVoteMap(id, level, cid){if (!cmd_access(id, level, cid, 2))return PLUGIN_HANDLEDnew time_left = get_timeleft()if( (time_left <= 10) && (get_cvar_num("mp_timelimit") == 30 ) && !is_admin_cu_a(id) )return PLUGIN_HANDLED;new Float:voting = get_cvar_float("amx_last_voting")if (voting > get_gametime()){console_print(id, "%L", id, "ALREADY_VOTING")return PLUGIN_HANDLED}if (voting && voting + get_cvar_float("amx_vote_delay") > get_gametime()){console_print(id, "%L", id, "VOTING_NOT_ALLOW")return PLUGIN_HANDLED}new argc = read_argc()if (argc > 5) argc = 5g_validMaps = 0g_optionName[0][0] = 0g_optionName[1][0] = 0g_optionName[2][0] = 0g_optionName[3][0] = 0for (new i = 1; i < argc; ++i){read_argv(i, g_optionName[g_validMaps], 31)if (is_map_valid(g_optionName[g_validMaps]))g_validMaps++}if (g_validMaps == 0){new lMaps[16]format(lMaps, 15, "%L", id, (argc == 2) ? "MAP_IS" : "MAPS_ARE")console_print(id, "%L", id, "GIVEN_NOT_VALID", lMaps)return PLUGIN_HANDLED}new menu_msg[256], len = 0new keys = 0if (g_validMaps > 1){keys = MENU_KEY_0len = format(menu_msg, 255, g_coloredMenus ? "y%L: w^n^n" : "%L: ^n^n", LANG_SERVER, "CHOOSE_MAP")new temp[128]for (new a = 0; a < g_validMaps; ++a){format(temp, 127, "%d. %s^n", a+1, g_optionName[a])len += copy(menu_msg[len], 255-len, temp)keys |= (1<<a)}format(menu_msg[len], 255-len, "^n0. %L", LANG_SERVER, "NONE")g_yesNoVote = 0} else {new lChangeMap[32], lYes[16], lNo[16]format(lChangeMap, 31, "%L", LANG_SERVER, "CHANGE_MAP_TO")format(lYes, 15, "%L", LANG_SERVER, "YES")format(lNo, 15, "%L", LANG_SERVER, "NO")format(menu_msg, 255, g_coloredMenus ? "y%s %s?w^n^n1. %s^n2. %s" : "%s %s?^n^n1. %s^n2. %s", lChangeMap, g_optionName[0], lYes, lNo)keys = MENU_KEY_1|MENU_KEY_2g_yesNoVote = 1}new authid[32], name[32]get_user_authid(id, authid, 31)get_user_name(id, name, 31)if (argc == 2)log_amx("Vote: ^"%s<%d><%s><>^" vote map (map ^"%s^")", name, get_user_userid(id), authid, g_optionName[0])elselog_amx("Vote: ^"%s<%d><%s><>^" vote maps (map#1 ^"%s^") (map#2 ^"%s^") (map#3 ^"%s^") (map#4 ^"%s^")", name, get_user_userid(id), authid, g_optionName[0], g_optionName[1], g_optionName[2], g_optionName[3])new lTag[16], activity = get_cvar_num("amx_show_activity")if (activity > 0){new players[32], pnumget_players(players, pnum, "c")for (new i = 0; i < pnum; i++){format(lTag, 15, "%L", players[i], is_user_admin(id) ? "ADMIN" : "PLAYER")switch (activity){case 2: client_print(players[i], print_chat, "%L", players[i], "ADMIN_VOTE_MAP_2", lTag, name)case 1: client_print(players[i], print_chat, "%L", players[i], "ADMIN_VOTE_MAP_1", lTag)}}}g_execResult = truenew Float:vote_time = get_cvar_float("amx_vote_time") + 2.0set_cvar_float("amx_last_voting", get_gametime() + vote_time)g_voteRatio = get_cvar_float("amx_votemap_ratio")g_Answer = "changelevel %s"show_menu(0, keys, menu_msg, floatround(vote_time), (g_validMaps > 1) ? "Choose map: " : "Change map to ")set_task(vote_time, "checkVotes", 99889988)g_voteCaller = idconsole_print(id, "%L", id, "VOTING_STARTED")g_voteCount = {0, 0, 0, 0}return PLUGIN_HANDLED}public is_admin_cu_a(index){new flags = get_user_flags(index);if(flags & ADMIN_LEVEL_A)return 1;return 0;}public cmdVote(id, level, cid){if (!cmd_access(id, level, cid, 4))return PLUGIN_HANDLEDnew Float:voting = get_cvar_float("amx_last_voting")if (voting > get_gametime()){console_print(id, "%L", id, "ALREADY_VOTING")return PLUGIN_HANDLED}if (voting && voting + get_cvar_float("amx_vote_delay") > get_gametime()){console_print(id, "%L", id, "VOTING_NOT_ALLOW")return PLUGIN_HANDLED}new quest[48]read_argv(1, quest, 47)if ((contain(quest, "sv_password") != -1) || (contain(quest, "rcon_password") != -1) || (contain(quest, "kick") != -1) ||(contain(quest, "addip") != -1) || (contain(quest, "ban") != -1)){console_print(id, "%L", id, "VOTING_FORBIDDEN")return PLUGIN_HANDLED}read_argv(2, g_optionName[0], 31)read_argv(3, g_optionName[1], 31)new authid[32], name[32]get_user_authid(id, authid, 31)get_user_name(id, name, 31)log_amx("Vote: ^"%s<%d><%s><>^" vote custom (question ^"%s^") (option#1 ^"%s^") (option#2 ^"%s^")", name, get_user_userid(id), authid, quest, g_optionName[0], g_optionName[1])new activity = get_cvar_num("amx_show_activity")if (activity > 0){new players[32], pnum, lTag[16]get_players(players, pnum, "c")for (new i = 0; i < pnum; i++){format(lTag, 15, "%L", players[i], is_user_admin(id) ? "ADMIN" : "PLAYER")switch (activity){case 2: client_print(players[i], print_chat, "%L", players[i], "ADMIN_VOTE_CUS_2", lTag, name)case 1: client_print(players[i], print_chat, "%L", players[i], "ADMIN_VOTE_CUS_1", lTag)}}}new menu_msg[256], lVote[16]format(lVote, 15, "%L", LANG_SERVER, "VOTE")new keys = MENU_KEY_1|MENU_KEY_2format(menu_msg, 255, g_coloredMenus ? "y%s: %sw^n^n1. %s^n2. %s" : "%s: %s^n^n1. %s^n2. %s", lVote, quest, g_optionName[0], g_optionName[1])g_execResult = falsenew Float:vote_time = get_cvar_float("amx_vote_time") + 2.0set_cvar_float("amx_last_voting", get_gametime() + vote_time)g_voteRatio = get_cvar_float("amx_vote_ratio")format(g_Answer, 127, "%s - %%s", quest)show_menu(0, keys, menu_msg, floatround(vote_time), "Vote: ")set_task(vote_time, "checkVotes", 99889988)g_voteCaller = idconsole_print(id, "%L", id, "VOTING_STARTED")g_voteCount = {0, 0, 0, 0}g_yesNoVote = 0return PLUGIN_HANDLED}public cmdVoteKickBan(id, level, cid){if (!cmd_access(id, level, cid, 2))return PLUGIN_HANDLEDnew Float:voting = get_cvar_float("amx_last_voting")if (voting > get_gametime()){console_print(id, "%L", id, "ALREADY_VOTING")return PLUGIN_HANDLED}if (voting && voting + get_cvar_float("amx_vote_delay") > get_gametime()){console_print(id, "%L", id, "VOTING_NOT_ALLOW")return PLUGIN_HANDLED}new cmd[32]read_argv(0, cmd, 31)new voteban = equal(cmd, "amx_voteban")new arg[32]read_argv(1, arg, 31)new player = cmd_target(id, arg, 1)if (!player)return PLUGIN_HANDLEDif (voteban && is_user_bot(player)){new imname[32]get_user_name(player, imname, 31)console_print(id, "%L", id, "ACTION_PERFORMED", imname)return PLUGIN_HANDLED}new keys = MENU_KEY_1|MENU_KEY_2new menu_msg[256], lYes[16], lNo[16], lKickBan[16]format(lYes, 15, "%L", LANG_SERVER, "YES")format(lNo, 15, "%L", LANG_SERVER, "NO")format(lKickBan, 15, "%L", LANG_SERVER, voteban ? "BAN" : "KICK")ucfirst(lKickBan)get_user_name(player, arg, 31)format(menu_msg, 255, g_coloredMenus ? "y%s %s?w^n^n1. %s^n2. %s" : "%s %s?^n^n1. %s^n2. %s", lKickBan, arg, lYes, lNo)g_yesNoVote = 1if (voteban)get_user_authid(player, g_optionName[0], 31)elsenum_to_str(get_user_userid(player), g_optionName[0], 31)new authid[32], name[32]get_user_authid(id, authid, 31)get_user_name(id, name, 31)log_amx("Vote: ^"%s<%d><%s><>^" vote %s (target ^"%s^")", name, get_user_userid(id), authid, voteban ? "ban" : "kick", arg)new activity = get_cvar_num("amx_show_activity")if (activity > 0){new players[32], pnum, lTag[16]get_players(players, pnum, "c")for (new i = 0; i < pnum; i++){format(lTag, 15, "%L", players[i], is_user_admin(id) ? "ADMIN" : "USER")format(lKickBan, 15, "%L", players[i], voteban ? "BAN" : "KICK")switch (activity){case 2: client_print(players[i], print_chat, "%L", players[i], "ADMIN_VOTE_FOR_2", lTag, name, lKickBan, arg)case 1: client_print(players[i], print_chat, "%L", players[i], "ADMIN_VOTE_FOR_1", lTag, lKickBan, arg)}}}g_execResult = truenew Float:vote_time = get_cvar_float("amx_vote_time") + 2.0set_cvar_float("amx_last_voting", get_gametime() + vote_time)g_voteRatio = get_cvar_float(voteban ? "amx_voteban_ratio" : "amx_votekick_ratio")g_Answer = voteban ? "banid 30.0 %s kick" : "kick #%s"show_menu(0, keys, menu_msg, floatround(vote_time), voteban ? "Ban " : "Kick ")set_task(vote_time, "checkVotes", 99889988)g_voteCaller = idconsole_print(id, "%L", id, "VOTING_STARTED")g_voteCount = {0, 0, 0, 0}return PLUGIN_HANDLED} Link to comment Share on other sites More sharing options...
SpinTecaTorul Posted December 16, 2012 Author Report Share Posted December 16, 2012 Nu face nimik e lafel ca cel default.... Link to comment Share on other sites More sharing options...
FOXiL Posted February 26, 2013 Report Share Posted February 26, 2013 Atât cât nu răspunde autorul postului este considerat Topic inactiv sau Topic rezolvat ! Link to comment Share on other sites More sharing options...
Zyyk. Posted April 15, 2013 Report Share Posted April 15, 2013 Topic vechi ! T/C Link to comment Share on other sites More sharing options...
Recommended Posts