Jump to content

Modificare Adminvote


SpinTecaTorul

Recommended Posts

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

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

  • 2 months later...
  • 1 month later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...