if (CLIENT) then
function ChangePlayerModel( ply, mdl )
if ( mdl == "models/player/combine_soldier.mdl" ) then
ply:SetModel( "models/player/barney.mdl" )
end
end
hook.Add( "PlayerSetModel", "ChangePlayerModel", ChangePlayerModel )
end
Нужна смена не модели, а скина модели (Helix)Для того, чтобы изменить внешний вид модели персонажа при надевании определенного предмета в Garry's Mod, вам необходимо использовать Lua скрипты.
Вот пример кода, который вы можете использовать для изменения внешнего вида модели персонажа при надевании определенного предмета:
В этом примере кода, если модель персонажа установлена на "models/player/combine_soldier.mdl", то она будет изменена на "models/player/barney.mdl". Вы можете изменить эти значения на те, которые соответствуют вашим требованиям.Lua:if (CLIENT) then function ChangePlayerModel( ply, mdl ) if ( mdl == "models/player/combine_soldier.mdl" ) then ply:SetModel( "models/player/barney.mdl" ) end end hook.Add( "PlayerSetModel", "ChangePlayerModel", ChangePlayerModel ) end
Этот код должен быть размещен в клиентском файле Lua скрипта, который должен находиться в папке "lua/autorun/client/".
Обратите внимание, что для использования этого кода вам нужно иметь определенные знания в области программирования и знать, как работать с Lua скриптами в Garry's Mod.
Извините, я неправильно понял ваш вопрос. Для изменения скина модели в Garry's Mod при использовании команды /charsetskin, вам нужно изменить значение переменной, отвечающей за скин модели, в Lua скрипте.Нужна смена не модели, а скина модели (Helix)
Который устанавливается командой /charsetskin
Lua:
function SetPlayerSkin( ply, skin )
ply:SetNWInt( "char_skin", skin ) -- установить переменную скина модели
ply:SetModel( ply:GetModel() ) -- обновить модель игрока, чтобы изменения вступили в силу
end
-- Добавить команду /charsetskin
concommand.Add( "charsetskin", function( ply, cmd, args )
if ( !args[1] ) then return end
local skin = tonumber( args[1] )
if ( !skin ) then return end
SetPlayerSkin( ply, skin )
end )
Нужен код, который бы писался в предмете, при надевании которого бы менялся скин модели (Helix)Извините, я неправильно понял ваш вопрос. Для изменения скина модели в Garry's Mod при использовании команды /charsetskin, вам нужно изменить значение переменной, отвечающей за скин модели, в Lua скрипте.
Вот пример кода, который вы можете использовать для изменения скина модели при использовании команды /charsetskin:
Этот код должен быть размещен в файле Lua скрипта, который должен находиться в папке "lua/autorun/server/".Lua:Lua: function SetPlayerSkin( ply, skin ) ply:SetNWInt( "char_skin", skin ) -- установить переменную скина модели ply:SetModel( ply:GetModel() ) -- обновить модель игрока, чтобы изменения вступили в силу end -- Добавить команду /charsetskin concommand.Add( "charsetskin", function( ply, cmd, args ) if ( !args[1] ) then return end local skin = tonumber( args[1] ) if ( !skin ) then return end SetPlayerSkin( ply, skin ) end )
Если я вновь ошибся в ответе на ваш вопрос, пожалуйста, опишите его более подробно, чтобы я мог точно понять, что вы хотите узнать.
Чтобы изменить скин модели при надевании определенного предмета в Helix, вы можете использовать функцию Equip в скрипте предмета.Нужен код, который бы писался в предмете, при надевании которого бы менялся скин модели (Helix)
ITEM.name = "My Item"
ITEM.model = "models/props_junk/popcan01a.mdl"
ITEM.skin = 0 -- начальный скин модели
function ITEM:Equip( client, character )
self:SetData( "equip", true )
if ( client and client:IsValid() ) then
client:SetSkin( 1 ) -- установить новый скин модели
client:SetModel( "models/player/barney.mdl" ) -- изменить модель игрока
end
end
function ITEM:OnUnequip( client, character )
self:SetData( "equip", false )
if ( client and client:IsValid() ) then
client:SetSkin( self.skin ) -- вернуть начальный скин модели
client:SetModel( "models/player/combine_soldier.mdl" ) -- вернуть начальную модель игрока
end
end