diff --git a/scripts/client/server.js b/scripts/client/server.js index 5410a2fb..a56df057 100644 --- a/scripts/client/server.js +++ b/scripts/client/server.js @@ -292,8 +292,19 @@ function setLocalPlayerInfiniteRun(state) { // =========================================================================== function setLocalPlayerSkin(skinId) { + logToConsole(LOG_INFO, skinId); if(getGame() == VRR_GAME_GTA_IV) { - natives.changePlayerModel(natives.getPlayerId(), skinId); + if(natives.isModelInCdimage(skinId)) { + natives.requestModel(skinId); + natives.loadAllObjectsNow(); + if(natives.hasModelLoaded(skinId)) { + natives.changePlayerModel(natives.getPlayerId(), skinId); + } + } + + //natives.requestModel(skinId); + //natives.changePlayerModel(natives.getPlayerId(), skinId); + //localPlayer.skin = allowedSkins[skinSelectorIndex][0]; //localPlayer.modelIndex = allowedSkins[skinSelectorIndex][0]; } else { diff --git a/scripts/client/skin-select.js b/scripts/client/skin-select.js index 2b361383..13af8975 100644 --- a/scripts/client/skin-select.js +++ b/scripts/client/skin-select.js @@ -54,9 +54,14 @@ function processSkinSelectKeyPress(keyCode) { logToConsole(LOG_DEBUG, `Switching to skin ${allowedSkins[skinSelectorIndex][1]} (Index: ${skinSelectorIndex}, Skin: ${allowedSkins[skinSelectorIndex][0]})`); skinSelectMessageTextTop = allowedSkins[skinSelectorIndex][1]; if(getGame() == VRR_GAME_GTA_IV) { - //natives.changePlayerModel(natives.getPlayerId(), allowedSkins[skinSelectorIndex][0]); - //localPlayer.skin = allowedSkins[skinSelectorIndex][0]; - //localPlayer.modelIndex = allowedSkins[skinSelectorIndex][0]; + let skinId = allowedSkins[skinSelectorIndex][1]; + if(natives.isModelInCdimage(skinId)) { + natives.requestModel(skinId); + natives.loadAllObjectsNow(); + if(natives.hasModelLoaded(skinId)) { + natives.changePlayerModel(natives.getPlayerId(), skinId); + } + } } else { localPlayer.skin = allowedSkins[skinSelectorIndex][0]; } @@ -69,9 +74,14 @@ function processSkinSelectKeyPress(keyCode) { logToConsole(LOG_DEBUG, `Switching to skin ${allowedSkins[skinSelectorIndex][1]} (Index: ${skinSelectorIndex}, Skin: ${allowedSkins[skinSelectorIndex][0]})`); skinSelectMessageTextTop = allowedSkins[skinSelectorIndex][1]; if(getGame() == VRR_GAME_GTA_IV) { - //natives.changePlayerModel(natives.getPlayerId(), allowedSkins[skinSelectorIndex][0]); - //localPlayer.skin = allowedSkins[skinSelectorIndex][0]; - //localPlayer.modelIndex = allowedSkins[skinSelectorIndex][0]; + let skinId = allowedSkins[skinSelectorIndex][1]; + if(natives.isModelInCdimage(skinId)) { + natives.requestModel(skinId); + natives.loadAllObjectsNow(); + if(natives.hasModelLoaded(skinId)) { + natives.changePlayerModel(natives.getPlayerId(), skinId); + } + } } else { localPlayer.skin = allowedSkins[skinSelectorIndex][0]; }