Доброго времени суток , не могли бы подсказать на форуме находил код для привязки модели игрока через донат , но есть такие но когда человек меняет професию то моделька слетает до перезахода, можно ли как то сделать чтобы не слетала и использовалась на списке профессий которые я укажу
Вот такую тематику написал за минуту (не тестил)
local ITEM = FindMetaTable("IGSItem")
function ITEM:SetPlayerModel(path, ...)
self.PlayerModel = path
if ... then
local whitelist = {}
for _, team in ipairs({...}) do
whitelist[team] = true
end
self.ModelTeamWhitelist = whitelist
end
return self
end
hook.Add("PlayerLoadout", "gm-donate.ru/donateModels", function(ply)
timer.Simple(3, function()
if IsValid(ply) == false then return end
for uid, item in ipairs(IGS.PlayerPurchases(ply)) do
if item.Model == nil then continue end
if item.ModelTeamWhitelist == nil or item.ModelTeamWhitelist[ply:Team()] then
ply:SetModel(item.PlayerModel)
break
end
end
end)
end)
IGS("Gorgeous Freeman", "custom_model")
:SetDescription("https://forum.gm-donate.ru/t/sozdanie-privyazki-modeli-na-vse-profesii-darkrp/1003")
:SetCategory("Разное")
:SetPrice(300)
:SetPerma()
:SetPlayerModel("models/AntoineDelak/playermodels/Gorgeous_Freeman_Underwear_PM.mdl", TEAM_CITIZEN, TEAM_GANG)
пы-сы, vararg вайтлист опционален - если передать в аргументы только модель, её можно будет юзать на всех профессиях.
1 симпатия
попробовал получилось следующее , что покупка предмета есть , а смены модели не происходит
возможно какой-то аддон блокирует хук GM:PlayerLoadout
код для проверки этого предположения:
for uid, cback in pairs(hook.GetTable().PlayerLoadout or {}) do
if cback(Entity(1)) ~= nil then
print("Bad hook: ".. uid .." (".. debug.getinfo(cback).short_src ..")")
end
end
запускай на серверсайд.
1 симпатия