Skip to content

Commit 1c88a8a

Browse files
Override spawnPlayer to make it work with custom model IDs
1 parent c2dbe00 commit 1c88a8a

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

newmodels_azul/scripts/core/shared_exported.lua

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ setPickupTypeMTA = setPickupType
2323
getElementModelMTA = getElementModel
2424
setElementModelMTA = setElementModel
2525

26+
spawnPlayerMTA = spawnPlayer
27+
2628
newmodelsUtils.resources = {}
2729

2830
newmodelsUtils.getSharedCustomModelsTbl = function()
@@ -294,18 +296,27 @@ function setElementModel(element, id)
294296
assert(isValidElement(element), "Invalid element type passed: " .. getElementType(element))
295297
assert(tonumber(id), "Non-number ID passed")
296298

297-
local baseModelOfNewId = getBaseModelIdFromCustomModelId(id)
299+
local baseModel = getBaseModelIdFromCustomModelId(id)
298300
local currBaseModel = getElementModelMTA(element)
299-
if currBaseModel ~= baseModelOfNewId then
301+
if currBaseModel ~= baseModel then
300302
-- Change modal normally
301-
setElementModelMTA(element, baseModelOfNewId)
303+
setElementModelMTA(element, baseModel)
302304
else
303305
-- Force a refresh
304306
setElementModelMTA(element, 0)
305-
setElementModelMTA(element, baseModelOfNewId)
307+
setElementModelMTA(element, baseModel)
306308
end
307309

308-
return newmodelsUtils.setElementCustomModel(element, (id ~= baseModelOfNewId) and id or nil)
310+
return newmodelsUtils.setElementCustomModel(element, (id ~= baseModel) and id or nil)
311+
end
312+
313+
-- Sets the skin ID after spawning to re-apply custom model on player
314+
function spawnPlayer(thePlayer, x, y, z, rotation, skinId, ...)
315+
local success = spawnPlayerMTA(thePlayer, x, y, z, rotation, getBaseModelIdFromCustomModelId(skinId), ...)
316+
if success then
317+
setElementModel(thePlayer, skinId)
318+
end
319+
return success
309320
end
310321

311322
newmodelsUtils.handleResourceStop = function(stoppedRes)

newmodels_azul/scripts/optional/debug/s_debug.lua

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,8 @@ end, false, false)
6363
addCommandHandler("testspawn", function(thePlayer)
6464
local x,y,z = getElementPosition(thePlayer)
6565
local _, _, rz = getElementRotation(thePlayer)
66-
local skinId = getElementModel(thePlayer)
6766
spawnPlayer(thePlayer, x,y,z, rz, getElementModelMTA(thePlayer), getElementInterior(thePlayer), getElementDimension(thePlayer))
68-
setElementModel(thePlayer, skinId)
69-
outputChatBox("Player spawned at current location with skin ID "..skinId..".", thePlayer)
67+
outputChatBox("Player spawned at current location with skin ID "..getElementModel(thePlayer)..".", thePlayer)
7068
end, false, false)
7169

7270
addCommandHandler("testvehtemp", function(thePlayer, cmd, id)

0 commit comments

Comments
 (0)