From 802b8aded3eaac257810fa92c83cdfa48c207f29 Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Thu, 3 Sep 2026 02:32:32 +0700 Subject: [PATCH] [saco] Implement/match `CPlayerPed::FUNC_100AC5D0` and `FUNC_100AC640`; both read the enter/leave-car task type --- saco/game/playerped.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/saco/game/playerped.cpp b/saco/game/playerped.cpp index 0277ead..5685527 100644 --- a/saco/game/playerped.cpp +++ b/saco/game/playerped.cpp @@ -1300,6 +1300,35 @@ CPlayerPed::~CPlayerPed() //----------------------------------------------------------- +int GetTaskType(DWORD *pTask); // .text:100B40A0 + +// 2 = entering as driver, 1 = entering as passenger, 0 = not entering +BOOL CPlayerPed::FUNC_100AC5D0() +{ + if(GamePool_Ped_GetAt(m_dwGTAId) && m_pPed && m_pPed->Tasks && + m_pPed->Tasks->pdwJumpJetPack) + { + int iTask = GetTaskType(m_pPed->Tasks->pdwJumpJetPack); + if(iTask == 700 || iTask == 712) return 2; + if(iTask == 701 || iTask == 713) return 1; + } + return 0; +} + +//----------------------------------------------------------- + +// TRUE while the ped is running the leave-car task +BOOL CPlayerPed::FUNC_100AC640() +{ + if(GamePool_Ped_GetAt(m_dwGTAId) && m_pPed && m_pPed->Tasks && + m_pPed->Tasks->pdwJumpJetPack && + GetTaskType(m_pPed->Tasks->pdwJumpJetPack) == 704) return TRUE; + + return FALSE; +} + +//----------------------------------------------------------- + void CPlayerPed::SetWeaponAmmo(BYTE byteWeapon, WORD wAmmo) { if(!m_pPed) return;