Raised This Month: $ Target: $400
 0% 

help convert mapchooser5 to amxx pls, well pay via paypal


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
teame06
i have a hat
Join Date: Feb 2005
Location: Hat City
Old 12-16-2005 , 13:56  
Reply With Quote #1

Code:
/* On two minutes before the timelimit, plugin  * displays menu with 4 types of maps to select  * (Official, Custom, Fun, Training).  * One of the options is also map extending.  * If a map type wins the vote, plugin  * displays menu with 5 random maps to select.  * Map with most votes becomes the nextmap.  *  * Maps to select are in:  *   config/maps_official.ini file  *   config/maps_custom.ini file  *   config/maps_fun.ini file  *   config/maps_training.ini file  *  * Cvars:  * amx_extendmap_max <time in mins.> - max. time for overall extending  * amx_extendmap_step <time in mins.> - with what time the map will be extended  *  * NOTE: Nextmap plugin is required for proper working of this plugin.  *  *  */ #include <amxmodx> #include <amxmisc> #define MAX_MAPS    128 #define SELECTMAPS  5 #define SELECTTYPES  4 new g_mapName[MAX_MAPS][32] new g_mapNums new g_maptypeName[SELECTTYPES][32] = {"official map", "custom map", "fun map", "training map"} new officialmaps_file[] = "addons/amx/config/maps_official.ini" new custommaps_file[]   = "addons/amx/config/maps_custom.ini" new funmaps_file[]      = "addons/amx/config/maps_fun.ini" new trainingmaps_file[] = "addons/amx/config/maps_training.ini" new g_nextName[SELECTMAPS] new g_voteCount[SELECTMAPS+2] new g_voteCountType[SELECTTYPES+2] new g_mapVoteNum new g_teamScore[2] new g_lastMap[32] new g_cstrikeRunning new bool:g_selected = false public plugin_init() {   register_plugin("Nextmap chooser","0.9.9a","default")   register_menucmd(register_menuid("AMX Choose nextmap type:"),(-1^(-1<<(SELECTTYPES+2))),"countVoteType")   register_menucmd(register_menuid("AMX Choose nextmap:"),(-1^(-1<<(SELECTMAPS+2))),"countVote")   register_cvar("amx_extendmap_max","90")   register_cvar("amx_extendmap_step","15")   if (( g_cstrikeRunning = (is_running("cstrike") || is_running("czero"))) != 0 )     register_event("TeamScore", "team_score", "a")   get_localinfo("lastMap",g_lastMap,31)   set_localinfo("lastMap","")   //get_logfile(g_logFile,15)   set_task(15.0,"voteNextmapType",987456,"",0,"b") } public checkVotesType(){    new b = 0    for(new a = 0; a < 4; ++a)       if (g_voteCountType[b] < g_voteCountType[a])          b = a    if ( g_voteCountType[SELECTTYPES] > g_voteCountType[b] ) {       new mapname[32]       get_mapname(mapname,31)       new Float:steptime = get_cvar_float("amx_extendmap_step")       set_cvar_float("mp_timelimit", get_cvar_float("mp_timelimit") + steptime )       client_print(0,print_chat, "Choosing finished. Current map will be extended to next %.0f minutes", steptime )       log_amx("Vote: Voting for the nextmap type finished. Map %s will be extended to next %.0f minutes", mapname , steptime )       return    }    if ( g_voteCountType[b] && g_voteCountType[SELECTTYPES+1] <= g_voteCountType[b] )    {       switch(b)       {         case 0: voteNextmap(officialmaps_file)         case 1: voteNextmap(custommaps_file)         case 2: voteNextmap(funmaps_file)         case 3: voteNextmap(trainingmaps_file)       }       client_print(0,print_chat, "Choosing finished. The nextmap type will be %s", g_maptypeName[b])    }    return } public checkVotes(){    new b = 0    for(new a = 0; a < g_mapVoteNum; ++a)       if (g_voteCount[b] < g_voteCount[a])          b = a    if ( g_voteCount[b] && g_voteCount[SELECTMAPS+1] <= g_voteCount[b] )       set_cvar_string("amx_nextmap", g_mapName[g_nextName[b]] )    new smap[32]    get_cvar_string("amx_nextmap",smap,31)    switch(b)    {     case 0: client_cmd(0,"spk ^"vox/level one access granted^"")     case 1: client_cmd(0,"spk ^"vox/level two access granted^"")     case 2: client_cmd(0,"spk ^"vox/level three access granted^"")     case 3: client_cmd(0,"spk ^"vox/level four access granted^"")     case 4: client_cmd(0,"spk ^"vox/level five access granted^"")    }    client_print(0,print_chat, "Choosing finished. The nextmap will be %s", smap )    log_amx("Vote: Voting for the nextmap finished. The nextmap will be %s", smap) } public countVoteType(id,key){    if ( get_cvar_float("amx_vote_answers") ) {       new name[32]       get_user_name(id,name,31)       if ( key == SELECTTYPES )          client_print(0,print_chat, "%s chose map extending", name )       else if ( key < SELECTTYPES )          client_print(0,print_chat,"%s chose %s", name, g_maptypeName[key] )    }    ++g_voteCountType[key]    return PLUGIN_HANDLED } public countVote(id,key){    if ( get_cvar_float("amx_vote_answers") ) {       new name[32]       get_user_name(id,name,31)       if ( key < SELECTMAPS )          client_print(0,print_chat, "%s chose %s", name, g_mapName[g_nextName[key]] )    }    ++g_voteCount[key]    return PLUGIN_HANDLED } bool:isInMenu(id){    for(new a=0; a<g_mapVoteNum; ++a)       if (id==g_nextName[a])          return true    return false } public voteNextmapType(){   new winlimit = get_cvar_num("mp_winlimit")   new maxrounds = get_cvar_num("mp_maxrounds")   if ( winlimit ) {     new c = winlimit - 2     if ( (c > g_teamScore[0]) && (c > g_teamScore[1]) ) {       g_selected = false       return     }   }   else  if ( maxrounds ) {     if ( (maxrounds - 2) > (g_teamScore[0] + g_teamScore[1]) ){       g_selected = false       return     }   }   else {     new timeleft = get_timeleft()     if (timeleft<1||timeleft>129){       g_selected = false       return     }   }   if (g_selected)     return   g_selected = true   new menu[512], mapsmenu[512], mkeys, pos   new players[32], numplayers   g_voteCountType[SELECTTYPES] = 0   g_voteCountType[SELECTTYPES+1] = 0   new mapname[32]   get_mapname(mapname,31)   // Build the maps entries and the valid keys (same for all players)   mkeys = (1<<SELECTTYPES+1)   mapsmenu[0] = 0   pos = 0   for(new i = 0; i < SELECTTYPES; ++i){     pos += format(mapsmenu[pos],511,"%d. %s^n",i+1,g_maptypeName[i])     mkeys |= (1<<i)     g_voteCount[i] = 0   }   mapsmenu[pos++]='^n'   if ( (winlimit + maxrounds)==0 && (get_cvar_float("mp_timelimit") < get_cvar_float("amx_extendmap_max")))     mkeys |= (1<<SELECTTYPES)   // Now build (translated) menu for each player and send it   get_players(players,numplayers)   for(numplayers--;numplayers>=0;numplayers--){ //    pos = copy(menu,511, g_cstrikeRunning ? "\yAMX Choose nextmap type:\w^n^n", players[numplayers] : "AMX Choose nextmap type:^n^n", players[numplayers])       g_cstrikeRunning ? copy(menu,511, "\yAMX Choose nextmap type:\w^n^n") : copy(menu,511, "AMX Choose nextmap type:^n^n")       pos += format(menu[pos],511,"%s",mapsmenu)       if ( (winlimit + maxrounds)==0 && (get_cvar_float("mp_timelimit") < get_cvar_float("amx_extendmap_max")))             pos += format(menu[pos],511, "%d. Extend map %s^n", players[numplayers],SELECTTYPES+1,mapname)       format(menu[pos],511,"%d. None", players[numplayers],SELECTTYPES+2)       show_menu(players[numplayers],mkeys,menu,15,"AMX Choose nextmap type:")   }   set_task(15.0,"checkVotesType")   client_print(0,print_chat,"It's time to choose the nextmap type...")   client_cmd(0,"spk Gman/Gman_Choose2")   log_amx("Vote: Voting for the nextmap type started") } public voteNextmap(filename[]){   loadSettings(filename)   new menu[512], mapsmenu[512], a, mkeys, pos   new dmax = (g_mapNums > SELECTMAPS) ? SELECTMAPS : g_mapNums   new players[32], numplayers   g_voteCount[SELECTMAPS] = 0   g_voteCount[SELECTMAPS+1] = 0   new mapname[32]   get_mapname(mapname,31)   // Build the maps entries and the valid keys (same for all players)   mkeys = (1<<SELECTMAPS+1)   mapsmenu[0] = 0   pos = 0   for(g_mapVoteNum = 0;g_mapVoteNum<dmax;++g_mapVoteNum){     a=random_num(0,g_mapNums-1)     while( isInMenu(a) )       if (++a >= g_mapNums) a = 0     g_nextName[g_mapVoteNum] = a     pos += format(mapsmenu[pos],511,"%d. %s^n",g_mapVoteNum+1,g_mapName[a])     mkeys |= (1<<g_mapVoteNum)     g_voteCount[g_mapVoteNum] = 0   }   mapsmenu[pos++]='^n'   // Now build (translated) menu for each player and send it   get_players(players,numplayers)   for(numplayers--;numplayers>=0;numplayers--){     pos = g_cstrikeRunning ? copy(menu,511, "\yAMX Choose nextmap:\w^n^n") : copy(menu,511,"AMX Choose nextmap:^n^n")     //pos = copy(menu,511,g_cstrikeRunning ? "\yAMX Choose nextmap:\w^n^n", players[numplayers] : "AMX Choose nextmap:^n^n", players[numplayers])     pos += format(menu[pos],511,"%s",mapsmenu)     format(menu[pos],511,"%d. None", players[numplayers], SELECTMAPS+2)     show_menu(players[numplayers],mkeys,menu,15,"AMX Choose nextmap:")   }   set_task(15.0,"checkVotes")   client_print(0,print_chat, "It's time to choose the nextmap...")   client_cmd(0,"spk Gman/Gman_Choose2")   log_amx("Vote: Voting for the nextmap started") } loadSettings(filename[]) {   if (!file_exists(filename)) return 0   g_mapNums = 0   new szText[32]   new a, pos = 0   new currentMap[32]   get_mapname(currentMap,31)   while ( (g_mapNums < MAX_MAPS) && read_file(filename,pos++,szText,31,a) )   {     if ( szText[0] != ';'     &&  parse(szText, g_mapName[g_mapNums] ,31 )     &&  is_map_valid( g_mapName[g_mapNums] )     &&  !equali( g_mapName[g_mapNums] ,g_lastMap)     &&  !equali( g_mapName[g_mapNums] ,currentMap) )       ++g_mapNums   }   return g_mapNums } public team_score(){   new team[2]   read_data(1,team,1)   g_teamScore[ (team[0]=='C') ? 0 : 1 ] = read_data(2) } public plugin_end(){   new current_map[32]   get_mapname(current_map,31 )   set_localinfo("lastMap",current_map) }

It compile with no errors. No guarantee it going to work. No ML language because i'm not in the mood to setup that file for amxx standard.
__________________
No private support via Instant Message
GunGame:SM Released
teame06 is offline
Send a message via AIM to teame06
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:46.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode