From 8043bb3ce568f1d60bd2c89da7555b7f492c2eac Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Sat, 18 Jul 2026 19:51:10 +0700 Subject: [PATCH] [saco] Implement/match `cmdPlayerSkin` --- saco/cmdprocs.cpp | 20 +++++++++++++++++++- saco/game/game.h | 1 + saco/game/playerped.h | 2 ++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/saco/cmdprocs.cpp b/saco/cmdprocs.cpp index 122a935..cccde8e 100644 --- a/saco/cmdprocs.cpp +++ b/saco/cmdprocs.cpp @@ -197,7 +197,25 @@ void cmdRawSavePos(PCHAR szCmd) void cmdPlayerSkin(PCHAR szCmd) { - // TODO: cmdPlayerSkin .text:10068D00 + if(tSettings.bDebug) + { + if(!strlen(szCmd)) + { + pChatWindow->AddDebugMessage("Usage: player_skin (skin number)."); + } + else + { + int iSkin = atoi(szCmd); + if(pGame->sub_100A0930()) + { + CPlayerPed *pPlayerPed = pGame->FindPlayerPed(); + if(pPlayerPed) + { + pPlayerPed->SetSkin(iSkin); + } + } + } + } } void cmdCreateVehicle(PCHAR szCmd) diff --git a/saco/game/game.h b/saco/game/game.h index 155d2e7..7670294 100644 --- a/saco/game/game.h +++ b/saco/game/game.h @@ -150,6 +150,7 @@ public: void sub_100A02E0(); void sub_100A0310(); void sub_100A0330(); + BOOL sub_100A0930(); void sub_100A1C10(); diff --git a/saco/game/playerped.h b/saco/game/playerped.h index 003e817..0e2273a 100644 --- a/saco/game/playerped.h +++ b/saco/game/playerped.h @@ -43,6 +43,8 @@ public: void SetHealth(float fHealth); float GetArmour(); void SetArmour(float fArmour); + + void SetSkin(int iSkin); // .text:100AFF50 DWORD GetStateFlags(); void SetStateFlags(DWORD dwStateFlags); BOOL IsDead();