View Single Post
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 05-12-2020 , 15:48   Re: check players =< 1 changelevel fy_pool_day
Reply With Quote #7

It works. It does that because the number of players is always <= 1 when the map starts. I added a delay to prevent this:

Code:
#include <amxmodx> #if !defined client_disconnected     #define client_disconnected client_disconnect #endif new g_pPlayersNeeded new g_pChangeTo new g_pWait new g_iPlayerCount new bool:g_bActive public plugin_init() {     register_plugin("Change Map on X Players", "1.1", "OciXCrom")     g_pPlayersNeeded = register_cvar("change_players_needed", "10")     g_pChangeTo = register_cvar("change_to_map", "fy_snow")     g_pWait = register_cvar("change_wait", "30") } public plugin_cfg() {     new szCurrentMap[32], szChangeTo[32]     get_mapname(szCurrentMap, charsmax(szCurrentMap))     get_pcvar_string(g_pChangeTo, szChangeTo, charsmax(szChangeTo))     if(equali(szCurrentMap, szChangeTo))     {         pause("d")     }     set_task(get_pcvar_float(g_pWait), "activate_plugin", .flags = "c") } public activate_plugin() {     g_bActive = true     if(g_iPlayerCount <= get_pcvar_num(g_pPlayersNeeded))     {         change_the_map()     } } public client_putinserver(id) {     if(++g_iPlayerCount <= get_pcvar_num(g_pPlayersNeeded) && g_bActive)     {         change_the_map()     } } public client_disconnected(id) {     g_iPlayerCount-- } public change_the_map() {     g_bActive = false     new szMap[32]     get_pcvar_string(g_pChangeTo, szMap, charsmax(szMap))     #if defined engine_changelevel     engine_changelevel(szMap)     #else     server_cmd("changelevel %s", szMap)     #endif }
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom