void MapList_LoadMap(entity btn, entity me) { string m; float i; i = me.selectedItem; if(btn.parent.instanceOfNexuizMapInfoDialog) { i = btn.parent.currentMapIndex; Dialog_Close(btn, btn.parent); } if(i >= me.nItems || i < 0) return; m = MapInfo_BSPName_ByID(i); if not(m) { print("Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"); return; } if(MapInfo_CheckMap(m, gametype_ID_to_MapID(gametype_GetMenu()))) { localcmd("\nmenu_loadmap_prepare\n"); if(CVAR(menu_use_default_hostname)) localcmd("hostname \"", strdecolorize(CVAR_STR(_cl_name)), "'s Nexuiz server\"\n"); MapInfo_LoadMap(m); } else { print("Huh? Can't play this (invalid game type). Refiltering so this won't happen again.\n"); me.refilter(me); } }
void InstantAction_LoadMap(entity btn, entity dummy) { float glob, i, n, fh; string s; glob = search_begin("maps/*.instantaction", TRUE, TRUE); if(glob < 0) return; i = ceil(random() * search_getsize(glob)) - 1; fh = fopen(search_getfilename(glob, i), FILE_READ); search_end(glob); if(fh < 0) return; while((s = fgets(fh))) { if(substring(s, 0, 4) == "set ") s = substring(s, 4, strlen(s) - 4); n = tokenize_console(s); if(argv(0) == "bot_number") cvar_set("bot_number", argv(1)); else if(argv(0) == "skill") cvar_set("skill", argv(1)); else if(argv(0) == "timelimit") cvar_set("timelimit_override", argv(1)); else if(argv(0) == "fraglimit") cvar_set("fraglimit_override", argv(1)); else if(argv(0) == "changelevel") { fclose(fh); localcmd("\nmenu_loadmap_prepare\n"); MapInfo_SwitchGameType(MAPINFO_TYPE_DEATHMATCH); MapInfo_LoadMap(argv(1)); cvar_set("lastlevel", "1"); return; } } fclose(fh); }