For those who need the arm section, these are the changes i made:
in client/mail.lua, line 239 change
SetPedComponentVariation(playerPed, 3, currentChar.arms, currentChar.arms_2, 2)
to this
SetPedComponentVariation(playerPed, 3, currentChar.arms, 0, 2)
Line 1177 add
arms = {},
Line 1193 add
result.arms = GetComponentsData(3)
and line 1055 change function GetComponentsData(id)
to this:
function GetComponentsData(id)
local result = {}
local playerPed = PlayerPedId()
local componentBlacklist = nil
if blacklist ~= nil then
if GetEntityModel(playerPed) == GetHashKey('mp_m_freemode_01') then
componentBlacklist = blacklist.components.male
elseif GetEntityModel(playerPed) == GetHashKey('mp_f_freemode_01') then
componentBlacklist = blacklist.components.female
end
end
if id == 3 then
if IsPedModel(PlayerPedId(), 'mp_m_freemode_01') then
for i=0, 19 do
if i ~= 3 and i ~= 9 and i ~= 10 and i ~= 13 and i ~= 16 and i ~= 17 and i ~= 18 then
table.insert(result, {
name = i+1,
component = 3,
drawable = i,
texture = 0
})
end
end
else
for i=0, 15 do
if i ~= 8 and i ~= 10 and i ~= 13 then
table.insert(result, {
name = i+1,
component = 3,
drawable = i,
texture = 0
})
end
end
end
else
local drawableCount = GetNumberOfPedDrawableVariations(playerPed, id) - 1
for drawable = 0, drawableCount do
local textureCount = GetNumberOfPedTextureVariations(playerPed, id, drawable) - 1
for texture = 0, textureCount do
local hash = GetHashNameForComponent(playerPed, id, drawable, texture)
if hash ~= 0 then
local component, drawable, texture, gxt = GetComponentDataFromHash(hash)
-- only named components
if gxt ~= '' then
label = GetLabelText(gxt)
if label ~= 'NULL' then
local blacklisted = false
if componentBlacklist ~= nil then
if componentBlacklist[component] ~= nil then
if componentBlacklist[component][drawable] ~= nil then
if componentBlacklist[component][drawable][texture] ~= nil then
blacklisted = true
end
end
end
end
if not blacklisted then
table.insert(result, {
name = label,
component = component,
drawable = drawable,
texture = texture
})
end
end
end
end
end
end
end
return result
end
Next, add in script.js in function âloadClothesTabâ (line 353):
// arms
let armslist = tab.find('select#arms.clotheslist');
clothesData.arms.forEach(function (item) {
let option = $('<option data-component="' + item.component + '" data-drawable="' + item.drawable + '" data-texture="' + item.texture + '"></option>');
option.text(item.name)
armslist.append(option);
});
and add this
refreshComponentList(element, '#arms', 3, data.arms_1, data.arms_2);
after this (line 1151):
last, in apparel.html add this before the itempants div:
<div class="group" id="itemarms">
<h2 class="header">Arms</h2>
<div class="list">
<div class="controls">
<button class="arrow left"></button>
<select class="clotheslist component" id="arms" data-drwkey="arms" data-texkey="arms_2">
<option data-component="0" data-drawable="0" data-texture="0"></option>
</select>
<button class="arrow right"></button>
</div>
</div>
</div>