Message systems are a somewhat common design pattern.
In TPP messages are sent from the engine to the lua vm to communicate
events or other information.
There is no direct equivalent from lua to engine, instead direct engine
module function calls are used or game object
commands.
For the TPP Lua modules subscribe to whatever message it’s interested
with a function to be called.
function this.Messages()
return Tpp.StrCode32Table{
[message Class]={
{msg='msgName', func=this.functionName(params)}
}
}
}
The messages pass through TppMain.OnMessage which dispatches to the
subscribed modules.
A breakdown of some messages by message class with parameter information
can be found in the Infinite Heavens
MGS_TPP\mod\modules\IHLookup.lua messageSignatures table.
Following is an uncategorised list of message names:
- AbortFromWormhole
- AbortFromWormholeStart
- AimedFromPlayer
- AntiSniperNoticed
- ArrivedAtLandingZoneWaitPoint
- AssignedStaff
- AvatarEditEnd
- BattleFx_on
- BonusPopupAllClose
- brake_room
- BreakGimmick
- BreakGimmickBurglarAlarm
- BringPlayerEvent
- BuddyAppear
- BuddyArrived
- BuddyPuppyFind
- BuildingBurn
- BulletGuardArmor
- BurglarAlarmTrap
- CalcDogFultonPercent
- CalcFultonPercent
- CalledFromStandby
- CallMenuMessage_HideCallMenu
- CallMenuMessage_RescueBoyGo
- CallMenuMessage_RescueBoyWait
- CallMenuMessage_ShowCallMenu
- CancelReinforce
- Carried
- CBoxSlideEnd
- cdtstacoaton
- ChangeAsset
- ChangeBgmPhase
- ChangedStaffListTab
- changekaz
- ChangeLife
- ChangePhase
- ChangePhaseForAnnounce
- ChangeRPG
- ChangeToEnable
- ChangeWeather
- ChangeWeathre
- CheckEventDoorNgIcon
- Clock
- CommandPostAnnihilated
- CompletedPlatform
- ComradeFultonDiscovered
- ConfigurationUpdated
- Conscious
- Continue
- ConversationEnd
- CqcContinuePass
- CqcHoldReleseChild
- CqcHoldStart
- CreateSandStorm
- crtnburn
- crtnhide
- Customize_Abort
- Customize_ChangePart
- Customize_End
- Customize_Start
- Damage
- dds3_demo10_StandIdle
- Dead
- DeadInFOB
- demoInterruptionMessage
- DemoPauseSkip
- DemoSkipped
- DemoSkipStart
- DescendToLandingZone
- DestroySandStorm
- DirectMotion
- Disable
- DisablePhantomRoom
- DisableTranslate
- DisconnectFromKonami
- DisconnectFromNetwork
- DisconnectFromPsn
- DiscoveredBySniper
- DiscoveredObject
- DiscoverFraud
- DiscoveryHostage
- DispFobResultAtkGet
- DispFobResultFobGet
- DispFobResultFobLost
- DispFobResultWinlose
- DispFobResultWormHole
- DisplayTimerLap
- DisplayTimerTimeUp
- DlcStatusChanged
- DM_door
- DM_enemy
- DM_mask_off
- DM_mask_on
- DM_thm_off
- DogBiteConnect
- Down
- DownSectionLv
- Dying
- DyingAll
- EmblemEditEnd
- EnableCQC
- EndAnnounceLog
- EndCallVioce2
- EndCarryAction
- EndChapterTelop
- EndCyprusTitle
- EndDlcAnnounce
- EndFadeIn
- EndFadeOut
- EndInvestigate
- EndLogin
- EndMissionTelopDisplay
- EndMissionTelopFadeOut
- EndOnlineStore
- EndReloginSync
- EndResultBlockLoad
- EndTelopCast
- Enter
- EspionageBoxGimmickOnGround
- EspionageRadioCandidate
- EspionageRadioPlay
- EventGimmickFinish
- Exit
- Finish
- FinishInterpCameraToDemo
- FinishMotion
- FinishMovingOnRoute
- FinishMovingToPosition
- FinishOpeningDemoOnHeli
- FinishRain
- FinishReflexMode
- FireSkullFace
- FobPeerNameResolved
- Fulton
- FultonFailed
- FultonFailedEnd
- FultonInfo
- GameOverAbortMission
- GameOverAbortMissionGoToAcc
- GameOverByCrime
- GameOverContinue
- GameOverOpen
- GameOverRestart
- GameOverRestartFromHelicopter
- GameOverReturnToMission
- GameOverReturnToTitle
- GameStart
- GetInEnemyHeli
- GetIntel
- GzEndingFinish
- GzSaveDataLoaded
- HeadShot
- HeadShotDistance
- HeliDoorClosed
- Holdup
- HostageUnlock
- IconClimbOnShown
- IconCrawlStealthShown
- IconFultonShown
- IconMBCBoxShown
- IconOk
- IconRideHelicopterStartShown
- IconSwitchShown
- IconTBoxOnShown
- IconToiletOnShown
- IconWormholeOnShown
- IdoorHide
- IdoorUnHide
- InAnimalLocator
- InLocator
- InSight
- IntelIconInDisplay
- Interrogate
- InterrogateEnd
- InterrogateSetMarker
- InterrogateUpHero
- Interrupt
- IntoWormhole
- InvitationAccept
- InvitationAcceptByOther
- InvitationAcceptWithoutSignIn
- Kill_Fx
- LandedAtLandingZone
- LandingFromHeli
- LiquidChangePhase
- LiquidDefeatedByCqcInStartRoom
- LiquidEnterCombatPhaseTwo
- LiquidGhostKnockout
- LiquidPutInHeli
- LookingTarget
- LostContainer
- LostControl
- LostHostage
- lostquiendrool
- MapUpdate
- MB_DEVICE
- MbDvcActAcceptMissionList
- MbDvcActCallBuddy
- MbDvcActCallRescueHeli
- MbDvcActCloseTop
- MbDvcActDecideDevelopEquip
- MbDvcActDecideSupportEquip
- MbDvcActEndTutorial
- MbDvcActHeliLandStartPos
- MbDvcActOpenDevelopEquip
- MbDvcActOpenMenu
- MbDvcActOpenMissionList
- MbDvcActOpenStaffList
- MbDvcActOpenTop
- MbDvcActRunDevelopEquip
- MbDvcActSelectAvatarMenu
- MbDvcActSelectCboxDelivery
- MbDvcActSelectItemDropPoint
- MbDvcActSelectLandPoint
- MbDvcActSelectLandPointEmergency
- MbDvcActSelectLandPointTaxi
- MbDvcActSelectNonActiveMenu
- MbDvcActWatchPhoto
- MgoConfigurationUpdated
- MissionPrep_Abort
- MissionPrep_ChangeEditTarget
- MissionPrep_End
- MissionPrep_EndEdit
- MissionPrep_EndItemSelect
- MissionPrep_EndSlotSelect
- MissionPrep_EndSortieTimeSelect
- MissionPrep_EnterWeaponChangeMenu
- MissionPrep_ExitWeaponChangeMenu
- MissionPrep_StartEdit
- MissionPrep_StartItemSelect
- MissionPrep_StartSlotSelect
- MissionPrep_StartSortieTimeSelect
- MonologueEnd
- MotherBaseCurrentClusterActivated
- MotherBaseCurrentClusterDeactivated
- MotherBaseCurrentClusterLoadStart
- MsfSalute
- MtqfB1DoorOpen
- NameEntryClose
- Neutralize
- NeutralizeFob
- nil
- NotHaveStaffToReceiveFulton
- NoticeSneakMotherBase
- NoticeSneakSupportedMotherBase
- NoticeVehicleInvalid
- NotifyChangedPlayerRailAction
- NotifyCyprusMotionEvent
- NotifyCyprusTargetHit
- NotifyStartWarningFlare
- nwvocn
- nwvocn02
- Observed
- OnActivatePlaced
- OnAddTacticalActionPoint
- OnAmmoLessInMagazine
- OnAmmoStackEmpty
- OnBehind
- OnBinocularsMode
- OnBreakPlaced
- OnChangeLargeBlockState
- OnChangeSmallBlockState
- OnComeOutSupplyCbox
- OnCrawl
- OnElude
- OnEquipHudClosed
- OnEquipItem
- OnEquipWeapon
- OnInjury
- OnPickUpCollection
- OnPickUpPlaced
- OnPickUpSupplyCbox
- OnPickUpWeapon
- OnPlayerElude
- OnPlayerGatling
- OnPlayerHeliHatchOpen
- OnPlayerMachineGun
- OnPlayerMortar
- OnPlayerPipeAction
- OnPlayerSearchLight
- OnPlayerStaminaOut
- OnPlayerToilet
- OnPlayerTrashBox
- OnPlayerUseBoosterScope
- OnRequested
- OnScriptBlockStateTransition
- OnVehicleDrive
- OnVehicleRide_Start
- D-Horse also triggers this message!
- OnWalkerGearDrive
- OpenWormhole
- OutFromWormhole
- p21_010000_casttelop_on
- p21_010000_cyprtitle_on
- p21_010000_epigraph_on
- p21_010000_focusdistanceoff_ps3xbox360
- p21_010000_iconon01
- p21_010000_missiontelop_on
- p21_010000_openeyelids
- p21_010000_telop_game_off
- p21_010000_telop_game_on
- p21_010000_telop_kde_off
- p21_010000_telop_kde_on
- p21_010000_telop_kjp_off
- p21_010000_telop_kjp_on
- p21_010050_001_react000_start_recognition
- p21_010050_001_start_recognition
- p21_010050_chaptertelop_on
- p21_010050_cmn_react000_start_recognition
- p21_010050_cmn_react001_start_recognition
- p21_010050_cmn_react002_start_recognition
- p21_010050_start_recognition
- p21_010100_iconon01
- p21_010100_iconon02
- p21_010200_iconon01
- p21_010230_iconon01
- p21_010240_iconon01
- p21_010270_iconon01
- p21_010360_iconon01
- p21_010370_padon
- p21_010420_playercrawling
- p21_010440_iconon01
- p21_010440_iconon02
- p21_010490_EneChange
- p21_020010_iconon01
- p21_020030_ChangeGameMot
- p31_010010_BackGroundChange
- p31_020025_003_prsDead
- p31_0400140_Player_setpos01
- p31_0400140_Player_setpos02
- p31_040130_DemoEnd_hyu
- p31_050026_cabl_off01
- p41_020020_envModel_visOff
- p41_020020_envModel_visOn
- p51_010060_mtbs_bord_on
- p51_010145_001_stageObj_ON
- p51_010145_002_stageObj_ON
- p51_010145_004_stageObj_ON
- p51_010145_005_stageObj_ON
- p51_010145_hyu_warp
- p51_010270_001_HBDbox_on
- PauseMenuAbortMission
- PauseMenuAbortMissionGoToAcc
- PauseMenuCheckpoint
- PauseMenuFinishFobManualPlaecementMode
- PauseMenuGotoMGO
- PauseMenuOpenStore
- PauseMenuRestart
- PauseMenuRestartFromHelicopter
- PauseMenuReturnToMission
- PauseMenuReturnToTitle
- PauseMenuSkipTutorial
- PazGotPicture
- PazHasAimedDefault
- PazHideIcon
- PazInAngle
- PazOutAngle
- PazPerceiveSnake
- PazRelaxEndTiming
- PazShowIcon
- PazSnakeIsMoving
- PazSnakeIsStopping
- PlacedIntoVehicle
- Play
- PlayerCallEnd_PLM0020_005
- PlayerCatchFulton
- PlayerCureComplete
- PlayerCureCompleteMotEnd
- PlayerCureStart
- PlayerDamaged
- PlayerFulton
- PlayerFultoned
- PlayerGetAway
- PlayerGetNear
- PlayerHeliGetOff
- PlayerHeliWarpToFobStart
- PlayerHideHorse
- PlayerHoldWeapon
- PlayerIsWithinRange
- PlayerOverrideOff
- PlayerOverrideOn
- PlayerShowerEnd
- PlayerSwitchStart
- PlayerTapCqc
- PlayerTapHeadShot
- PlayerTapHeadShotFar
- PlayerTapRocketArm
- Playing
- PlayInit
- PopupClose
- PressedCarryIcon
- PressedCarryNgIcon
- PressedFultonIcon
- PressedFultonNgIcon
- PressStart
- PushEndLoadingTips
- PutMarkerWithBinocle
- QuestAreaAnnounceLog
- QuestAreaAnnounceText
- QuestIconInDisplay
- QuestStarted
- QuietEraseMarker
- QuietFinishReflex
- qwvocn
- radio_off
- radio_on
- RadioEnd
- refresh_player
- ReinforceRespawn
- RequestAppearReinforce
- RequestAvatarEdit
- RequestedHeliTaxi
- RequestLoadReinforce
- RequestPlayRecordClearInfo
- RequestSaveMbManagement
- RequestSavePersonal
- RespawnChange
- RespawnClientPlayer
- RespawnClose
- Restraint
- Returned
- Ride_WalkerGear
- RideHeli
- RideHelicopter
- RideHelicopterWithHuman
- RideOk
- RouteEventFaild
- RoutePoint2
- Sahelan1stRailGun
- SahelanAllDead
- SahelanAttackedToHeli
- SahelanBlastDamageToWeakPoint
- SahelanChangePhase
- SahelanEnableHeliAttack
- SahelanEnableSuportAttack
- SahelanGrenadeExplosion
- SahelanHeadBroken
- SahelanPartsBroken
- SahelanPatrolMissile
- SahelanReturned1stRailGun
- SahelanSearchMissileToHeli
- SahelanStopped
- SahelanVulcunStartToHeli
- SahelanVulcunStopToHeli
- SaluteRaiseMorale
- ScaredEnd
- ScaredStart
- SessionDeleteMember
- SessionDisconnectFromHost
- SetMarkerBySearch
- SignInUserChanged
- Skip
- SleepingComradeRecoverd
- SmokeDiscovered
- SpecialActionEnd
- StageBlockCurrentSmallBlockIndexUpdated
- Start
- start_endroll01
- start_endroll02
- StartCarryIdle
- StartCastTelopLeft
- StartCastTelopRight
- StartDlcAnnounce
- StartedCombat
- StartedDiscovery
- StartedMoveToLandingZone
- StartedPullingOut
- StartedSearch
- StartedSmokeAction
- StartEventDoorPicking
- StartFobMission
- StartInvestigate
- StartMGO
- StartMissionTelop
- StartMissionTelopBgFadeOut
- StartMissionTelopFadeIn
- StartMissionTelopFadeOut
- StartPlayerBrainFilter
- StartRain
- subEventName
- SubtitlesEndEventMessage
- SuppressorIsBroken
- svs_zombi_01
- SwitchGimmick
- TapCqc
- TapHeadShotFar
- TapHoldup
- TapRocketArm
- TelopTypingEnd
- TitleMenu
- TitleMenuReady
- TppAnimalBlock
- TppEndingAllStaffFinish
- TppEndingFinish
- TppEndingHistoryFinish
- TppEndingHistoryStart
- TppEndingMainStaffFinish
- TppEndingMainStaffStart
- TrophyInstalled
- TrophySpaceChecked
- Unconscious
- Unlocked
- UpdatedPandemic
- UpSectionLv
- UserNotSignedIn
- Vanished
- VehicleAction
- VehicleBroken
- VideoPlay
- VideoStopped
- visibleOnNPC
- Volgin_Start
- VolginAttack
- VolginChangePhase
- VolginDamagedByType
- VolginDestroyedFactoryWall
- VolginDestroyedTunnel
- VolginGameOverAttackSuccess
- VolginLifeStatusChanged
- WalkerGearBroken
- WarningGimmick
- WarpEnd
- WaterFall
- WeaponPutPlaced
- WeatherForecast
- weatherTagChange_kypr_default
- weatherTagChange_kypr_drizzle
- WormHoleTimerTimeUp
- ZombBiteConnect
Semi-Organized Notes About Events
Sender → MessageID → Arguments
- GameObject
- 1746381789
- Description
- called when two tires on a vehicle (including 6-wheel
trucks) are shot out, no other unknown event is raised
when all tires are shot out
- presumably, denotes reduced handling
- Args
- arg0: gameId – the affected vehicle
- arg1: unknown – example value: 1936681293
- Radio
- 3116057018
- Description
- called when using the Inf-Scope to view a target with
radio information set, which changes the information
you’ll receive when you use the Intel radio
- Args
- arg0: gameId – the object to receive radio information
about
- arg1: conversation type – unknown enum?
- 3: heavy machine gun (stationary turret)
- 4: mortar
- 6: communications equipment (blue radios)
- 8: power generator (GZ)
- 9: comms equipment
- 11: searchlight
- 18: dumpster
- 19: metal drum (explosive)
- 20: portable toilet
- 27: military four-wheel drive
- 31: walker gear
- 44: raven (bird)
- 54: Nubian Goat
- 65: Soviet soldier
- Block
- Player
- 2990447840
- Description
- called twice when opening the iDROID in the ACC, once
with the arg0=0 and a second time shortly after with
arg0=1
- while in the field, only called one time always with
arg0=0 – after menu fully closes
- Args
- 2307345963
- Description
- called twice when opening the iDROID in the ACC, once
with the arg0=1 and a second time shortly after with
arg0=0
- while in the field, only called one time always with
arg0=0 – after menu fully closes
- Args
- 316563185
- Description
- occurs when the button is held and the menu
opens
- Args
- arg0: number – seemingly always 0
- 4213428578
- Description
- occurs when the button is released and the
menu closes
- Args
- arg0: number – seemingly always 0
- 2533923076
- Description
- occurs when a wolf-type animal begins a lunge at the
player
- Args
- arg0: number – seemingly always 0
- arg1: gameId – the gameId of the instigating animal
- 2526961808
- Description
- occurs every game tick while being lunged at by an
animal, beginning with Message 2533923076, concludes
with a DogBiteConnect Message or ???
- Args
- arg0: number – seemingly always 0
Sources
https://github.com/unknown321/mgsvdump/blob/master/tpp/sequences/messages_for_sequences.lua