From 44d407a9370d983409ecd80fe7d5473fa9a64340 Mon Sep 17 00:00:00 2001 From: Jackz Date: Thu, 30 Jun 2022 18:39:26 -0500 Subject: [PATCH] Update guess who --- plugins/l4d2_guesswho.smx | Bin 53411 -> 58506 bytes scripting/l4d2_guesswho.sp | 300 ++++++++++++++++++++++++++----------- 2 files changed, 214 insertions(+), 86 deletions(-) diff --git a/plugins/l4d2_guesswho.smx b/plugins/l4d2_guesswho.smx index 7a52e5de81aba6bef6bc6261744714a9ab88e730..3b059b115d5715a31fbadc5c1dd83d33eb231245 100644 GIT binary patch literal 58506 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
YA3w=uAM1c!t)F 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 f2FBD!JS>{kuPzMR4i>%D6)kT@|05%FLW*zM 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 diff --git a/scripting/l4d2_guesswho.sp b/scripting/l4d2_guesswho.sp index 45d6d37..8dbd33b 100644 --- a/scripting/l4d2_guesswho.sp +++ b/scripting/l4d2_guesswho.sp @@ -1,24 +1,31 @@ #pragma semicolon 1 #pragma newdecls required -//#define DEBUG +#define DEBUG +// #define DEBUG_SEEKER_PATH_CREATION 1 #define PLUGIN_VERSION "1.0" -#define BOT_MOVE_RANDOM_MIN_TIME 7.0 // The minimum random time for Timer_BotMove to activate (set per round) -#define BOT_MOVE_RANDOM_MAX_TIME 9.6 // The maximum random time for Timer_BotMove to activate (set per round) +#define BOT_MOVE_RANDOM_MIN_TIME 7.0 // The minimum random time for Timer_BotMove to activate (set per bot, per round) +#define BOT_MOVE_RANDOM_MAX_TIME 9.6 // The maximum random time for Timer_BotMove to activate (set per bot, per round) #define BOT_MOVE_CHANCE 0.90 // The chance the bot will move each Timer_BotMove #define BOT_MOVE_AVOID_FLOW_DIST 15.0 // The flow range of flow distance that triggers avoid #define BOT_MOVE_AVOID_SEEKER_CHANCE 0.60 // The chance that if the bot gets too close to the seeker, it runs away +#define HIDER_SWAP_COOLDOWN 30.0 // Amount of seconds until they can swap -#define BOT_MOVE_TOO_FAR_DIST 1200.0 // TODO: DO NOT HARDCODE ME -FLOW RANGE- -#define SEED_TIME 1.0 // Time the seeker is blind, used to gather locations for bots +#if defined DEBUG + #define SEED_TIME 1.0 +#else + #define SEED_TIME 30.0 // Time the seeker is blind, used to gather locations for bots +#endif -// #define DEBUG_SEEKER_PATH_CREATION 1 - - -#define MAX_VALID_LOCATIONS 1000 +#define SMOKE_PARTICLE_PATH "particles/smoker_fx.pcf" +// #define SMOKE_PARTICLE_PATH "materials/particle/splashsprites/largewatersplash.vmt" +// #define SMOKE_PARTICLE_PATH "materials/particle/fire_explosion_1/fire_explosion_1.vmt" +#define SOUND_MODEL_SWAP "ui/pickup_secret01.wav" +#define MAX_VALID_LOCATIONS 1000 // The maximum amount of locations to hold, once this limit is reached only MAX_VALID_LOCATIONS_KEEP_PERCENT entries will be kept at random +#define MAX_VALID_LOCATIONS_KEEP_PERCENT 0.20 // The % of locations to be kept when dumping validLocations #include #include @@ -28,9 +35,6 @@ #include #include -//#include - -// TODO: Hiders can switch models char SURVIVOR_MODELS[8][] = { "models/survivors/survivor_gambler.mdl", "models/survivors/survivor_producer.mdl", @@ -42,33 +46,45 @@ char SURVIVOR_MODELS[8][] = { "models/survivors/survivor_manager.mdl" }; -enum GameState { - State_Unknown = 0, - State_Starting, - State_Active, -} -int currentSeeker; -bool hasBeenSeeker[MAXPLAYERS+1]; -bool ignoreSeekerBalance; -Handle spawningTimer; -UserMsg g_FadeUserMsgId; - -ConVar cvar_survivorLimit; -ConVar cvar_seekerFailDamageAmount; - -ArrayList validLocations; - - enum struct LocationMeta { float pos[3]; float ang[3]; bool runto; } +// Game settings +ArrayList validLocations; //ArrayList LocationMeta activeBotLocations[MAXPLAYERS]; -static float seekerPos[3]; +enum GameState { + State_Unknown = 0, + State_Starting, + State_Active, + State_HidersWin, + State_SeekerWon, +} + +// Game state specific +int currentSeeker; +bool hasBeenSeeker[MAXPLAYERS+1]; +bool ignoreSeekerBalance; +int hiderSwapTime[MAXPLAYERS+1]; + +// Temp Ent Materials & Timers +Handle spawningTimer; Handle moveTimers[MAXPLAYERS+1]; +UserMsg g_FadeUserMsgId; +int g_iSmokeParticle; +int g_iTeamNum = -1; + +// Cvars +StringMap previousCvarValues; +ConVar cvar_survivorLimit; +ConVar cvar_seekerFailDamageAmount; + +// Bot Movement specifics +float flowMin, flowMax; +static float seekerPos[3]; float seekerFlow = 0.0; #include @@ -99,6 +115,7 @@ public void OnPluginStart() { g_FadeUserMsgId = GetUserMessageId("Fade"); validLocations = new ArrayList(sizeof(LocationMeta)); + previousCvarValues = new StringMap(); ConVar hGamemode = FindConVar("mp_gamemode"); hGamemode.AddChangeHook(Event_GamemodeChange); @@ -125,28 +142,16 @@ public void Event_GamemodeChange(ConVar cvar, const char[] oldValue, const char[ HookEvent("round_start", Event_RoundStart); HookEvent("player_death", Event_PlayerDeath); HookEvent("player_bot_replace", Event_PlayerToBot); - // HookEvent("player_team", Event_PlayerTeam); - /*HookEvent("round_end", Event_RoundEnd); - ; - HookEvent("item_pickup", Event_ItemPickup); - HookEvent("player_death", Event_PlayerDeath);*/ - // InitGamemode(); for(int i = 1; i <= MaxClients; i++) { if(IsClientConnected(i) && IsClientInGame(i)) { //ForcePlayerSuicide(i); } } } else if(!lateLoaded) { - if(cvar_survivorLimit != null) - cvar_survivorLimit.IntValue = 4; + UnsetCvars(); UnhookEvent("round_start", Event_RoundStart); UnhookEvent("player_death", Event_PlayerDeath); UnhookEvent("player_bot_replace", Event_PlayerToBot); - // UnhookEvent("player_team", Event_PlayerTeam); - /*UnhookEvent("round_end", Event_RoundEnd); - UnhookEvent("item_pickup", Event_ItemPickup); - UnhookEvent("player_death", Event_PlayerDeath); - UnhookEvent("player_spawn", Event_PlayerSpawn);*/ Cleanup(); PrintToChatAll("[GuessWho] Gamemode unloaded but cvars have not been reset."); } @@ -159,7 +164,7 @@ void Event_PlayerToBot(Event event, const char[] name, bool dontBroadcast) { // Do not kick bots being spawned in if(spawningTimer == null) { - PrintToServer("kicking %d", bot); + PrintToServer("[GuessWho/debug] Kicking possible idle bot: %d (player: %d)", bot, player); ChangeClientTeam(player, 0); L4D_SetHumanSpec(bot, player); L4D_TakeOverBot(player); @@ -167,21 +172,29 @@ void Event_PlayerToBot(Event event, const char[] name, bool dontBroadcast) { } } +int SEEKER_GLOW_COLOR[3] = { 128, 0, 0 }; +int PLAYER_GLOW_COLOR[3] = { 0, 255, 0 }; + void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); int attacker = GetClientOfUserId(event.GetInt("attacker")); if(client > 0 && GetState() == State_Active) { if(client == currentSeeker) { - PrintToChatAll("%N has died, hiders win.", currentSeeker); - SetState(State_Unknown); - CreateTimer(5.0, Timer_ResetAll); + PrintToChatAll("The seeker, %N, has died. Hiders win!", currentSeeker); + SetState(State_HidersWin); for(int i = 1; i <= MaxClients; i++) { if(IsClientConnected(i) && IsClientInGame(i) && IsFakeClient(i)) { - ClearInventory(i); - PrintToServer("PlayerDeath: Seeker kill %d", i); - KickClient(i); + if(IsFakeClient(i)) { + ClearInventory(i); + PrintToServer("PlayerDeath: Seeker kill %d", i); + KickClient(i); + } else { + L4D2_SetEntityGlow(i, L4D2Glow_Constant, 0, 20, PLAYER_GLOW_COLOR, false); + L4D2_SetPlayerSurvivorGlowState(i, true); + } } } + CreateTimer(5.0, Timer_ResetAll); } else if(!IsFakeClient(client)) { if(attacker == currentSeeker) { PrintToChatAll("%N was killed", client); @@ -189,18 +202,17 @@ void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast) { PrintToChatAll("%N died", client); } } else { - ClearInventory(client); KickClient(client); - PrintToServer("PlayerDeath: Bot death %d", client); + PrintToServer("[GuessWho] Bot(%d) was killed", client); } } - if(GetPlayersLeftAlive() <= 1) { + if(GetPlayersLeftAlive() == 0) { if(GetState() == State_Active) { PrintToChatAll("Everyone has died. %N wins!", currentSeeker); + CreateTimer(5.0, Timer_ResetAll); + SetState(State_SeekerWon); } - SetState(State_Unknown); - // CreateTimer(5.0, Timer_ResetAll); } } @@ -214,7 +226,7 @@ Action Timer_ResetAll(Handle h) { } bool isStarting; -void Event_RoundStart(Event event, const char[] name, bool dontBroadcast) { +void StartGame() { for(int i = 1; i <= MaxClients; i++) { if(IsClientConnected(i)) { if(isPendingPlay[i]) { @@ -224,13 +236,16 @@ void Event_RoundStart(Event event, const char[] name, bool dontBroadcast) { } } } - PrintToServer("RoundStart %b", isStarting); if(!isStarting) { isStarting = true; CreateTimer(5.0, Timer_Start); } } +void Event_RoundStart(Event event, const char[] name, bool dontBroadcast) { + StartGame(); +} + Action Timer_Start(Handle h) { if(isStarting) InitGamemode(); @@ -241,20 +256,31 @@ public void OnMapStart() { isStarting = false; if(!isEnabled) return; + g_iTeamNum = FindSendPropInfo("CTerrorPlayerResource", "m_iTeam"); + if (g_iTeamNum == -1) + LogError("CTerrorPlayerResource \"m_iTeam\" offset is invalid"); + SDKHook(FindEntityByClassname(0, "terror_player_manager"), SDKHook_ThinkPost, ThinkPost); + char map[128]; GetCurrentMap(map, sizeof(map)); if(!StrEqual(currentMap, map)) { strcopy(currentSet, sizeof(currentSet), "default"); if(!StrEqual(currentMap, "")) { - if(!SaveMapData(currentMap)) { + if(!SaveMapData(currentMap, currentSet)) { LogError("Could not save map data to disk"); } } ReloadMapDB(); strcopy(currentMap, sizeof(currentMap), map); - LoadMapData(map); + LoadMapData(map, currentSet); } g_iLaserIndex = PrecacheModel("materials/sprites/laserbeam.vmt"); + g_iSmokeParticle = GetParticleIndex(SMOKE_PARTICLE_PATH); + if(g_iSmokeParticle == INVALID_STRING_INDEX) { + LogError("g_iSmokeParticle (%s) is invalid", SMOKE_PARTICLE_PATH); + } + // g_iSmokeParticle = PrecacheModel(SMOKE_PARTICLE_PATH); + PrecacheSound(SOUND_MODEL_SWAP); if(isEnabled) { SetCvars(); } @@ -281,6 +307,19 @@ public void OnMapStart() { } SetState(State_Unknown); } +public void ThinkPost(int entity) { + static int iTeamNum[MAXPLAYERS+1]; + + GetEntDataArray(entity, g_iTeamNum, iTeamNum, sizeof(iTeamNum)); + + for(int i = 1 ; i<= MaxClients; i++) { + if(IsClientConnected(i) && IsClientInGame(i) && IsFakeClient(i)) { + iTeamNum[i] = 1; + } + } + + SetEntDataArray(entity, g_iTeamNum, iTeamNum, sizeof(iTeamNum)); +} public void OnMapEnd() { for(int i = 1; i <= MaxClients; i++) { @@ -298,6 +337,9 @@ public void OnClientPutInServer(int client) { float pos[3]; FindSpawnPosition(pos); TeleportEntity(client, pos, NULL_VECTOR, NULL_VECTOR); + if(!IsPendingPlayers()) { + StartGame(); + } } } @@ -305,12 +347,30 @@ public void OnClientDisconnect(int client) { if(client == currentSeeker) { PrintToChatAll("The seeker has disconnected"); CreateTimer(1.0, Timer_ResetAll); + currentSeeker = 0; } } - +public bool SetCvarString(ConVar cvar, const char[] value) { + if(cvar == null) return false; + char name[32], prevValue[32]; + cvar.GetName(name, sizeof(name)); + cvar.GetString(prevValue, sizeof(prevValue)); + previousCvarValues.SetString(name, prevValue); + cvar.SetString(value); + return true; +} +public bool SetCvarValue(ConVar cvar, any value) { + if(cvar == null) return false; + char name[32]; + cvar.GetName(name, sizeof(name)); + previousCvarValues.SetValue(name, float(value)); + cvar.FloatValue = value; + return true; +} void SetCvars() { + PrintToServer("[GuessWho] Setting convars"); cvar_survivorLimit = FindConVar("survivor_limit"); ConVar cvar_separationMinRange = FindConVar("sb_separation_danger_min_range"); ConVar cvar_separationMaxRange = FindConVar("sb_separation_danger_max_range"); @@ -319,17 +379,37 @@ void SetCvars() { ConVar cvar_sbPushScale = FindConVar("sb_pushscale"); if(cvar_survivorLimit != null) { cvar_survivorLimit.SetBounds(ConVarBound_Upper, true, 64.0); + SetCvarValue(cvar_survivorLimit, MaxClients); cvar_survivorLimit.IntValue = MaxClients; } - if(cvar_separationMinRange != null) { - cvar_separationMinRange.IntValue = 1000; - cvar_separationMaxRange.IntValue = 1200; - } - if(cvar_abmAutoHard != null) - cvar_abmAutoHard.IntValue = 0; - if(cvar_sbFixEnabled != null) - cvar_sbFixEnabled.IntValue = 0; - cvar_sbPushScale.IntValue = 0; + SetCvarValue(cvar_separationMinRange, 1000); + SetCvarValue(cvar_separationMaxRange, 1200); + SetCvarValue(cvar_abmAutoHard, 0); + SetCvarValue(cvar_sbFixEnabled, 0); + SetCvarValue(cvar_sbPushScale, 0); +} + +void UnsetCvars() { + StringMapSnapshot snapshot = previousCvarValues.Snapshot(); + char key[32], valueStr[32]; + PrintToServer("[GuessWho] Restoring %d convars", snapshot.Length); + for(int i = 0; i < snapshot.Length; i++) { + snapshot.GetKey(i, key, sizeof(key)); + ConVar convar = FindConVar(key); + if(convar != null) { + float value; + if(previousCvarValues.GetValue(key, value)) { + convar.FloatValue = value; + } else if(previousCvarValues.GetString(key, valueStr, sizeof(valueStr))) { + convar.SetString(valueStr); + } else { + LogError("[GuessWho] Invalid cvar (\"%s\")", key); + } + } else { + PrintToServer("[GuessWho] Cannot restore cvar (\"%s\") that does not exist", key); + } + } + previousCvarValues.Clear(); } @@ -366,6 +446,8 @@ void InitGamemode() { PrintToChatAll("%N is the seeker", newSeeker); SetPlayerBlind(newSeeker, 255); SetSeeker(newSeeker); + // L4D2_SetPlayerSurvivorGlowState(newSeeker, true); + L4D2_SetEntityGlow(newSeeker, L4D2Glow_Constant, 0, 10, SEEKER_GLOW_COLOR, false); } TeleportAllToStart(); @@ -392,8 +474,6 @@ Action Timer_SpawnBots(Handle h, int max) { Action Timer_SpawnPost(Handle h) { PrintToChatAll("Timer_SpawnPost(): activating"); - SetState(State_Starting); - bool isL4D1 = L4D2_GetSurvivorSetMap() == 1; int remainingSeekers; for(int i = 1; i <= MaxClients; i++) { @@ -402,6 +482,7 @@ Action Timer_SpawnPost(Handle h) { if(!hasBeenSeeker[i]) { remainingSeekers++; } + PrintToChat(i, "You can change your model by looking at a player and pressing RELOAD"); } SDKHook(i, SDKHook_OnTakeDamageAlive, OnTakeDamageAlive); SDKHook(i, SDKHook_WeaponDrop, OnWeaponDrop); @@ -430,20 +511,24 @@ Action Timer_SpawnPost(Handle h) { Action Timer_WaitForStart(Handle h) { if(L4D_HasAnySurvivorLeftSafeArea()) { - GetClientAbsOrigin(L4D_GetHighestFlowSurvivor(), seekerPos); + int targetPlayer = L4D_GetHighestFlowSurvivor(); + if(targetPlayer > 0) { + GetClientAbsOrigin(targetPlayer, seekerPos); + } seekerFlow = L4D2Direct_GetFlowDistance(currentSeeker); CreateTimer(0.5, Timer_AcquireLocations, _, TIMER_FLAG_NO_MAPCHANGE | TIMER_REPEAT); for(int i = 1; i <= MaxClients; i++) { if(i != currentSeeker && IsClientConnected(i) && IsClientInGame(i)) { TeleportEntity(i, seekerPos, NULL_VECTOR, NULL_VECTOR); if(IsFakeClient(i)) { - moveTimers[i] = CreateTimer(GetRandomFloat(BOT_MOVE_RANDOM_MIN_TIME, BOT_MOVE_RANDOM_MAX_TIME), Timer_BotMove2, GetClientUserId(i), TIMER_REPEAT); + moveTimers[i] = CreateTimer(GetRandomFloat(BOT_MOVE_RANDOM_MIN_TIME, BOT_MOVE_RANDOM_MAX_TIME), Timer_BotMove, GetClientUserId(i), TIMER_REPEAT); TriggerTimer(moveTimers[i]); } } } PrintToChatAll("[GuessWho] Seeker will start in %.0f seconds", SEED_TIME); + SetState(State_Starting); SetTick(0); SetMapTime(RoundFloat(SEED_TIME)); CreateTimer(SEED_TIME, Timer_StartSeeker); @@ -504,9 +589,9 @@ Action Timer_AcquireLocations(Handle h) { if(validLocations.Length > MAX_VALID_LOCATIONS) { PrintToServer("[GuessWho] Hit MAX_VALID_LOCATIONS (%d), clearing some locations", MAX_VALID_LOCATIONS); validLocations.Sort(Sort_Random, Sort_Float); - validLocations.Erase(MAX_VALID_LOCATIONS - 200); + validLocations.Erase(RoundFloat(MAX_VALID_LOCATIONS * MAX_VALID_LOCATIONS_KEEP_PERCENT)); } - Effect_DrawBeamBoxRotatableToAll(meta.pos, DEBUG_BOT_MOVER_MIN, DEBUG_BOT_MOVER_MAX, NULL_VECTOR, g_iLaserIndex, 0, 0, 0, 150.0, 0.1, 0.1, 0, 0.0, {255, 0, 0, 255}, 0); + Effect_DrawBeamBoxRotatableToClient(i, meta.pos, DEBUG_BOT_MOVER_MIN, DEBUG_BOT_MOVER_MAX, NULL_VECTOR, g_iLaserIndex, 0, 0, 0, 150.0, 0.1, 0.1, 0, 0.0, {255, 0, 0, 255}, 0); vecLastLocation[i] = meta.pos; } } @@ -514,20 +599,20 @@ Action Timer_AcquireLocations(Handle h) { return Plugin_Continue; } +// float botMovePos[MAXPLAYERS+1][3]; -Action Timer_BotMove2(Handle h, int userid) { +Action Timer_BotMove(Handle h, int userid) { int i = GetClientOfUserId(userid); if(i == 0) return Plugin_Stop; if(GetURandomFloat() > BOT_MOVE_CHANCE) return Plugin_Continue; float botFlow = L4D2Direct_GetFlowDistance(i); - float flowDiff = FloatAbs(botFlow - seekerFlow); - if(flowDiff > BOT_MOVE_TOO_FAR_DIST) { + if(botFlow < flowMin || botFlow > flowMax) { activeBotLocations[i].runto = GetURandomFloat() > 0.90; TE_SetupBeamLaser(i, currentSeeker, g_iLaserIndex, 0, 0, 0, 8.0, 0.5, 0.1, 0, 1.0, {255, 255, 0, 125}, 1); TE_SendToAll(); L4D2_RunScript("CommandABot({cmd=1,bot=GetPlayerFromUserID(%i),pos=Vector(%f,%f,%f)})", GetClientUserId(i), seekerPos[0], seekerPos[1], seekerPos[2]); - PrintToConsoleAll("[gw/debug] BOT %N TOO FAR (DIFF %f) -> Moving to seeker (%f %f %f)", i, flowDiff, seekerPos[0], seekerPos[1], seekerPos[2]); + PrintToConsoleAll("[gw/debug] BOT %N TOO FAR (%f) BOUNDS (%f, %f)-> Moving to seeker (%f %f %f)", i, botFlow, flowMin, flowMax, seekerPos[0], seekerPos[1], seekerPos[2]); } else if(validLocations.Length > 0) { if(mapConfig.hasSpawnpoint && FloatAbs(botFlow - seekerFlow) < BOT_MOVE_AVOID_FLOW_DIST && GetURandomFloat() < BOT_MOVE_AVOID_SEEKER_CHANCE) { if(!FindPointAway(seekerPos, activeBotLocations[i].pos)) { @@ -543,6 +628,7 @@ Action Timer_BotMove2(Handle h, int userid) { validLocations.GetArray(GetURandomInt() % validLocations.Length, activeBotLocations[i]); Effect_DrawBeamBoxRotatableToAll(activeBotLocations[i].pos, DEBUG_BOT_MOVER_MIN, DEBUG_BOT_MOVER_MAX, NULL_VECTOR, g_iLaserIndex, 0, 0, 0, 150.0, 0.1, 0.1, 0, 0.0, {255, 0, 255, 255}, 0); } + // botMovePos[i] = activeBotLocations[i].pos; L4D2_RunScript("CommandABot({cmd=1,bot=GetPlayerFromUserID(%i),pos=Vector(%f,%f,%f)})", GetClientUserId(i), activeBotLocations[i].pos[0], activeBotLocations[i].pos[1], activeBotLocations[i].pos[2] @@ -561,6 +647,31 @@ public Action OnPlayerRunCmd(int client, int& buttons, int& impulse, float vel[3 buttons |= IN_ATTACK2; } return Plugin_Changed; + } else if(buttons & IN_RELOAD) { + int target = GetClientAimTarget(client, true); + if(target > 0) { + int time = GetTime(); + float diff = float(time - hiderSwapTime[client]); + if(diff > HIDER_SWAP_COOLDOWN) { + hiderSwapTime[client] = GetTime(); + + /*float pos[3], pos2[3]; + GetClientAbsOrigin(client, pos); + GetClientEyePosition(client, pos2); + TE_SetupParticle(g_iSmokeParticle, pos, pos2, .iEntity = client); + TE_SendToAllInRange(pos, RangeType_Audibility, 0.0);*/ + + char modelName[64]; + GetClientModel(target, modelName, sizeof(modelName)); + int type = GetEntProp(target, Prop_Send, "m_survivorCharacter"); + SetEntityModel(client, modelName); + SetEntProp(client, Prop_Send, "m_survivorCharacter", type); + + EmitSoundToAll("ui/pickup_secret01.wav", client, SNDCHAN_AUTO, SNDLEVEL_SCREAMING); + } else { + PrintHintText(client, "You can swap in %.0f seconds", HIDER_SWAP_COOLDOWN - diff); + } + } } return Plugin_Continue; } @@ -627,12 +738,12 @@ public void OnSceneStageChanged(int scene, SceneStages stage) { } } -bool SaveMapData(const char[] map) { +bool SaveMapData(const char[] map, const char[] set = "default") { char buffer[256]; - BuildPath(Path_SM, buffer, sizeof(buffer), "data/guesswho"); + // guesswho folder should be created by ReloadMapDB + BuildPath(Path_SM, buffer, sizeof(buffer), "data/guesswho/%s", map); CreateDirectory(buffer, 1402 /* 770 */); - BuildPath(Path_SM, buffer, sizeof(buffer), "data/guesswho/%s.txt", map); - PrintToServer("[GuessWho] Attempting to write to %s", buffer); + Format(buffer, sizeof(buffer), "%s/%s.txt", buffer, set); File file = OpenFile(buffer, "w+"); if(file != null) { file.WriteLine("px\tpy\tpz\tax\tay\taz"); @@ -641,6 +752,7 @@ bool SaveMapData(const char[] map) { validLocations.GetArray(i, meta); file.WriteLine("%.1f %.1f %.1f %.1f %.1f %.1f", meta.pos[0], meta.pos[1], meta.pos[2], meta.ang[0], meta.ang[1], meta.ang[2]); } + PrintToServer("[GuessWho] Saved %d locations to %s/%s.txt", validLocations.Length, map, set); file.Flush(); delete file; return true; @@ -648,17 +760,19 @@ bool SaveMapData(const char[] map) { return false; } -bool LoadMapData(const char[] map) { +bool LoadMapData(const char[] map, const char[] set = "default") { validLocations.Clear(); char buffer[256]; - BuildPath(Path_SM, buffer, sizeof(buffer), "data/guesswho/%s.txt", map); + BuildPath(Path_SM, buffer, sizeof(buffer), "data/guesswho/%s/%s.txt", map, set); LoadConfigForMap(map); File file = OpenFile(buffer, "r+"); if(file != null) { char line[64]; char pieces[16][6]; file.ReadLine(line, sizeof(line)); // Skip header + flowMin = L4D2Direct_GetMapMaxFlowDistance(); + flowMax = 0.0; while(file.ReadLine(line, sizeof(line))) { ExplodeString(line, " ", pieces, 6, 16, false); LocationMeta meta; @@ -668,9 +782,23 @@ bool LoadMapData(const char[] map) { meta.ang[0] = StringToFloat(pieces[3]); meta.ang[1] = StringToFloat(pieces[4]); meta.ang[2] = StringToFloat(pieces[5]); + + // Calculate the flow bounds + Address nav = L4D2Direct_GetTerrorNavArea(meta.pos); + if(nav == Address_Null) { + PrintToServer("[GuessWho] WARN: POINT AT (%f,%f,%f) IS INVALID (NO NAV AREA); skipping", meta.pos[0], meta.pos[1], meta.pos[2]); + continue; + } + float flow = L4D2Direct_GetTerrorNavAreaFlow(nav); + if(flow < flowMin) flowMin = flow; + else if(flow > flowMax) flowMax = flow; + validLocations.PushArray(meta); } - PrintToServer("[GuessWho] Loaded %d locations for %s", validLocations.Length, map); + // Give some buffer space, to not trigger TOO FAR + flowMin -= 5.0; + flowMax += 5.0; + PrintToServer("[GuessWho] Loaded %d locations for %s/%s", validLocations.Length, map, set); delete file; return true; }