AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   nexmap help (https://forums.alliedmods.net/showthread.php?t=19439)

joka69 10-16-2005 21:41

nexmap help
 
Ok im adding some stuff to nextmap plugin ,but it dosent seem to be working right :?.It works ,but when they vote the map and say nextmap nothing happens :cry: .
Code:
#include <amxmodx> // WARNING: If you comment this line make sure // that in your mapcycle file maps don't repeat. // However the same map in a row is still valid. #define OBEY_MAPCYCLE new g_nextMap[32] new g_mapCycle[32] new g_pos new inprogress=0 new bool:mselected = false public plugin_init() {   register_plugin("NextMap",AMXX_VERSION_STR,"AMXX Dev Team")   register_dictionary("nextmap.txt")   register_event("30","changeMap","a")   register_clcmd("say nextmap","sayNextMap",0,"- displays nextmap")   register_cvar("amx_nextmap","",FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)   new szString[32], szString2[32], szString3[8]   get_localinfo( "lastmapcycle", szString , 31 )   parse( szString, szString2, 31, szString3 , 7 )   g_pos = str_to_num( szString3 )   get_cvar_string( "mapcyclefile" , g_mapCycle , 31 )   if ( !equal( g_mapCycle ,  szString2  )  )     g_pos = 0 // mapcyclefile has been changed - go from first   readMapCycle(  g_mapCycle ,  g_nextMap , 31 )   set_cvar_string( "amx_nextmap", g_nextMap )   format( szString3 , 31, "%s %d", g_mapCycle , g_pos  ) // save lastmapcycle settings   set_localinfo( "lastmapcycle", szString3 ) } getNextMapName(szArg[],iMax) {   new len = get_cvar_string("amx_nextmap",szArg,iMax)   if ( is_map_valid(szArg) ) return len   len = copy(szArg,iMax,g_nextMap)   set_cvar_string("amx_nextmap",g_nextMap)   return len } public sayNextMap(id){    new timeleft = get_timeleft()    new time2=timeleft-timeleft%60    new minutesleft=floatround(float(time2)/60.0)    new mapname[32]    get_mapname(mapname,31)    new smap[32]    get_cvar_string("amx_nextmap",smap,31)    if(minutesleft>=2&&!mselected)       client_print(0,print_chat,"A Vote Will Occur For The Nextmap In %d %s ",(minutesleft==3||minutesleft==2)?timeleft-100:minutesleft-2,(minutesleft==3||minutesleft==2)?"sec.":"min.")    else    if(mselected)       client_print(0,print_chat,"Players have voted for %s...Map change is in %d seconds",smap,timeleft)    else       if(inprogress)          client_print(0,print_chat,"Current map is %s.  Voting is in progress for nextmap...",mapname)    return PLUGIN_HANDLED } public delayedChange( param[] ) {   set_cvar_float("mp_chattime",get_cvar_float("mp_chattime")-2.0)   server_cmd( "changelevel %s", param ) } public changeMap() {   new string[32]   new Float:chattime = get_cvar_float("mp_chattime")   set_cvar_float( "mp_chattime" , chattime + 2.0 ) // make sure mp_chattime is long   new len = getNextMapName(string, 31) + 1   set_task( chattime , "delayedChange" , 0 , string , len ) // change with 1.5 sec. delay } new g_warning[] = "WARNING: Couldn't find a valid map or the file doesn't exist (file ^"%s^")" #if defined OBEY_MAPCYCLE readMapCycle(szFileName[], szNext[], iNext ) {   new b, i = 0, iMaps = 0   new szBuffer[32], szFirst[32]   if ( file_exists( szFileName ) ) {     while( read_file( szFileName , i++ , szBuffer , 31 , b ) ) {       if ( !isalnum( szBuffer[0] ) || !is_map_valid( szBuffer ) ) continue       if ( !iMaps ) copy( szFirst, 31, szBuffer )       if ( ++iMaps > g_pos ) {         copy( szNext , iNext , szBuffer )         g_pos = iMaps         return       }     }   }   if ( !iMaps ) {     log_amx( g_warning , szFileName )     get_mapname( szFirst , 31 )   }   copy( szNext , iNext , szFirst  )   g_pos = 1 } #else readMapCycle(szFileName[], szNext[], iNext ) {   new b, i = 0, iMaps = 0   new szBuffer[32], szFirst[32], szCurrent[32]   get_mapname( szCurrent , 31 )   new a = g_pos   if ( file_exists( szFileName ) ) {     while( read_file( szFileName , i++ , szBuffer , 31 , b ) ) {       if ( !isalnum( szBuffer[0] ) || !is_map_valid( szBuffer ) ) continue       if ( !iMaps ) {         iMaps = 1         copy( szFirst, 31, szBuffer )       }       if ( iMaps == 1 ) {           if ( equali( szCurrent , szBuffer ) ) {             if ( a-- == 0 )               iMaps = 2           }       }       else {         if ( equali( szCurrent , szBuffer ) )           ++g_pos         else           g_pos = 0         copy( szNext , iNext , szBuffer )         return       }     }   }   if ( !iMaps ) {     log_amx( g_warning , szFileName )     copy( szNext ,iNext , szCurrent )   }   else copy( szNext ,iNext , szFirst )   g_pos = 0 } #endif

XxAvalanchexX 10-16-2005 22:08

Do you think you could highlight what you've added/changed in the plugin so it will become more obvious as to what may be wrong (since it was working prior to modding it)?

Thanks.

joka69 10-16-2005 22:14

lol sry :roll: .Even if i could just make it say "The nextmap has not yet been voted for" ,then when the map has been voted it will display the nextmap.The one that comes with amxx wehn you type nextmap it just says the map your are playing.
Code:
new inprogress=0 new bool:mselected = false public sayNextMap(id){    new timeleft = get_timeleft()    new time2=timeleft-timeleft%60    new minutesleft=floatround(float(time2)/60.0)    new mapname[32]    get_mapname(mapname,31)    new smap[32]    get_cvar_string("amx_nextmap",smap,31)    if(minutesleft>=2&&!mselected)       client_print(0,print_chat,"A Vote Will Occur For The Nextmap In %d %s ",(minutesleft==3||minutesleft==2)?timeleft-100:minutesleft-2,(minutesleft==3||minutesleft==2)?"seconds.":"minutes.")    else    if(mselected)       client_print(0,print_chat,"Players have voted for %s...Map change is in %d seconds",smap,timeleft)    else       if(inprogress)          client_print(0,print_chat,"Current map is %s.  Voting is in progress for nextmap...",mapname)    return PLUGIN_HANDLED }

XxAvalanchexX 10-16-2005 22:22

It doesn't look like you set the "inprogress" variable anywhere.


All times are GMT -4. The time now is 23:44.

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