From 23284b18b01cd751b373594ba5b42636b0388fdd Mon Sep 17 00:00:00 2001 From: RT Date: Fri, 24 Jul 2026 10:56:57 -0500 Subject: [PATCH] Fix MAIL_LOAD_AUTO_MISSION: move handler to sender==@conlobby@ block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Handler was inside 'if (sender == this)' but MAIL_LOAD_AUTO_MISSION is sent from ConLobby (sender != this), so it never fired. All game params (FriendlyFire, SplashDamage, UnlimitedAmmo, WeaponJam, AdvanceMode, ArmorMode, etc.) were silently ignored on every Load File click. Fix: move the ~70-line handler to the 'if (sender == @conlobby@)' block, alongside MAIL_SET_ROOKIE_MISSION and MAIL_PREVIOUS_MISSION — where all ConLobby-originated mails are handled. No rebuild required (script only). --- .../Multiplayer/ConLobbyMission.script | 79 ++++++++++++++++++- 1 file changed, 77 insertions(+), 2 deletions(-) diff --git a/Gameleap/mw4/Content/ShellScripts/Multiplayer/ConLobbyMission.script b/Gameleap/mw4/Content/ShellScripts/Multiplayer/ConLobbyMission.script index 6d78e535..cd879f23 100644 --- a/Gameleap/mw4/Content/ShellScripts/Multiplayer/ConLobbyMission.script +++ b/Gameleap/mw4/Content/ShellScripts/Multiplayer/ConLobbyMission.script @@ -831,6 +831,82 @@ main mail(MAIL_PREVIOUS_MISSION_PARAMS, this) return } + // [automaticmode] Load File button: apply Auto globals, separate from Rookie Mission defaults + if (getmessage() == MAIL_LOAD_AUTO_MISSION) + { + callback($$SetNetworkMissionParamater$$, game_type, selection_to_standard[$$g_nAutoGameType$$]) + // visibility + o_game_options[2].nselected = $$g_nAutoVisibility$$ + callback($$SetNetworkMissionParamater$$, visibility, o_game_options[2].nselected) + // weather + o_game_options[3].nselected = $$g_nAutoWeather$$ + callback($$SetNetworkMissionParamater$$, weather, o_game_options[3].nselected) + // time of day + o_game_options[4].nselected = $$g_nAutoTimeOfDay$$ + callback($$SetNetworkMissionParamater$$, night_parameter, o_game_options[4].nselected) + callback($$Shell_CallbackHandler$$, ShellSetTime, o_game_options[4].nselected) + // time limit + int nAutoTL = $$g_nAutoTimeLimit$$ + int temp_num + if nAutoTL >= 0 + temp_num = nAutoTL + else + temp_num = TIME_VALUE_DEFAULT + int m + for (m = 0; m < o_game_options[5].list_size; m++) + { + if (makeint(o_game_options[5].list_item[m]) == temp_num) + { + o_game_options[5].nselected = m + break + } + } + callback($$SetNetworkMissionParamater$$, time_limit, temp_num) + // radar + int nTempParam = radar + int nTempValue = $$g_nAutoRadar$$ + o_game_options[6].nselected = nTempValue + callback($$SetNetworkMissionParamater$$, nTempParam, nTempValue) + // heat + nTempParam = HEAT_PARAMETER + nTempValue = $$g_nAutoHeat$$ + o_game_options[7].state = 0 + callback($$SetNetworkMissionParamater$$, nTempParam, nTempValue) + // friendly fire + nTempParam = FRIENDLY_FIRE_PERCENTGE_PARAMETER + nTempValue = $$g_nAutoFriendlyFire$$ + o_game_options[8].state = 0 + callback($$SetNetworkMissionParamater$$, nTempParam, nTempValue) + // splash + nTempParam = SPLASH_ON_PARAMETER + nTempValue = $$g_nAutoSplash$$ + o_game_options[9].state = 0 + callback($$SetNetworkMissionParamater$$, nTempParam, nTempValue) + // unlimited ammo + nTempParam = UNLIMITED_AMMO_PARAMETER + nTempValue = $$g_nAutoUnlimitedAmmo$$ + o_game_options[10].state = 0 + callback($$SetNetworkMissionParamater$$, nTempParam, nTempValue) + // weapon jam + nTempParam = WEAPON_JAM_PARAMETER + nTempValue = $$g_nAutoWeaponJam$$ + o_game_options[14].state = 0 + callback($$SetNetworkMissionParamater$$, nTempParam, nTempValue) + // advance mode + nTempParam = ADVANCE_MODE_PARAMETER + nTempValue = $$g_nAutoAdvanceMode$$ + o_game_options[15].state = 0 + callback($$SetNetworkMissionParamater$$, nTempParam, nTempValue) + // armor mode + nTempParam = ARMOR_MODE_PARAMETER + nTempValue = $$g_nAutoArmorMode$$ + o_game_options[16].state = 0 + callback($$SetNetworkMissionParamater$$, nTempParam, nTempValue) + initialize(this) + // notify ConLobby: game type/params changed (updates cur_game_type, cur_team_val display) + mail(-9998, parent) + return + } } if (sender == this) { @@ -1007,8 +1083,7 @@ main initialize(this) return } - // [automaticmode] Load File button: apply Auto globals, separate from Rookie Mission defaults - if (getmessage() == MAIL_LOAD_AUTO_MISSION) + if (getmessage() == MAIL_PREVIOUS_MISSION_PARAMS) { callback($$SetNetworkMissionParamater$$, game_type, selection_to_standard[$$g_nAutoGameType$$]) // visibility