So my experience with lua is very little, have tried to do this myself with no luck but this is what i have so far.
[CODE]local function UpdateBodyGroups( pnl, val )
if ( pnl.type == "bgroup" ) then
mdl.Entity:SetBodygroup( pnl.typenum, math.Round( val ) )
local str = string.Explode( " ", GetConVarString( "cl_playerbodygroups" ) )
if ( #str < pnl.typenum + 1 ) then for i = 1, pnl.typenum + 1 do str[ i ] = str[ i ] or 0 end end
str[ pnl.typenum + 1 ] = math.Round( val )
RunConsoleCommand( "cl_playerbodygroups", table.concat( str, " " ) )
elseif ( pnl.type == "skin" ) then
mdl.Entity:SetSkin( math.Round( val ) )
RunConsoleCommand( "cl_playerskin", math.Round( val ) )
end
end
local function RebuildBodygroupTab()
bdcontrolspanel:Clear()
bgtab.Tab:SetVisible( false )
local nskins = mdl.Entity:SkinCount() - 1
if ( nskins > 0 ) then
local skins = vgui.Create( "DNumSlider" )
skins:Dock( TOP )
skins:SetText( "Skin" )
skins:SetDark( true )
skins:SetTall( 50 )
skins:SetDecimals( 0 )
skins:SetMax( nskins )
skins:SetValue( GetConVarNumber( "cl_playerskin" ) )
skins.type = "skin"
skins.OnValueChanged = UpdateBodyGroups
bdcontrolspanel:AddItem( skins )
mdl.Entity:SetSkin( GetConVarNumber( "cl_playerskin" ) )
bgtab.Tab:SetVisible( true )
end
local groups = string.Explode( " ", GetConVarString( "cl_playerbodygroups" ) )
for k = 0, mdl.Entity:GetNumBodyGroups() - 1 do
if ( mdl.Entity:GetBodygroupCount( k ) <= 1 ) then continue end
local bgroup = vgui.Create( "DNumSlider" )
bgroup:Dock( TOP )
bgroup:SetText( MakeNiceName( mdl.Entity:GetBodygroupName( k ) ) )
bgroup:SetDark( true )
bgroup:SetTall( 50 )
bgroup:SetDecimals( 0 )
bgroup.type = "bgroup"
bgroup.typenum = k
bgroup:SetMax( mdl.Entity:GetBodygroupCount( k ) - 1 )
bgroup:SetValue( groups[ k + 1 ] or 0 )
bgroup.OnValueChanged = UpdateBodyGroups
bdcontrolspanel:AddItem( bgroup )
mdl.Entity:SetBodygroup( k, groups[ k + 1 ] or 0 )
bgtab.Tab:SetVisible( true )
end
end
vgui.Register('DPointShopBodyChooser', PANEL, 'DFrame')[/CODE] (just nicked this code from the editor_player.lua in sandbox)
wondering if anyone can help me to get a bodygroup chooser like on the player model panel in sandbox working in pointshop?
Sorry, you need to Log In to post a reply to this thread.