Character stuff

master
AlmTech 5 years ago
parent 2581748eb4
commit ce46a052be
  1. 5
      gamemode/engine/core/server/sv_player_init.lua
  2. 2
      gamemode/engine/core/sh_player_binds.lua
  3. 8
      gamemode/engine/derma/cl_menu.lua
  4. 49
      gamemode/engine/derma/menus/menu_character.lua
  5. 1
      gamemode/engine/lib/client/cl_config_vars.lua
  6. 1
      gamemode/init.lua
  7. 33
      gamemode/settings/sh_models.lua
  8. 2
      gamemode/settings/sv_settings.lua
  9. 2
      gamemode/shared.lua

@ -12,6 +12,8 @@ local ply = FindMetaTable( "Player" )
function GM:PlayerInitialSpawn( ply )
--ply.isloaded = true -- REMOVE THIS WHEN MYSQL DB IS ADDED
-- load in all of the players characters and stuff from the MySQL DB
Quantum.Net.OpenMenu( pl, "character", Quantum.Server.Char.GetPlayerChars( ply ) ) -- open the char select screen
end
local function setUpPlayer( ply )
@ -28,8 +30,9 @@ end
function GM:PlayerSpawn( ply )
if( ply.isloaded ) then
if( !ply.isloaded ) then
ply:Spectate( OBS_MODE_FIXED )
-- set cinematic view here
else
ply:UnSpectate()
setUpPlayer( ply )

@ -13,7 +13,7 @@ if SERVER then
Quantum.Debug( tostring( pl ) .. " pressed IN_USE" )
end,
["openCharMenu"] = function( pl )
Quantum.Net.OpenMenu( pl, "character", {} )
Quantum.Net.OpenMenu( pl, "character", Quantum.Server.Char.GetPlayerChars( pl ) )
end
}

@ -15,6 +15,14 @@ Quantum.Client.Menu.GetAPI = function( lib ) return include( libs[lib] ) end
net.Receive( "quantum_menu_net", function( len, pl )
local dt = net.ReadTable() -- TO DO: merge datatable with cached ( if same id/type )
if( Quantum.Client.EnableDebug ) then -- debug
Quantum.Debug( "Datatable size: " .. len/8 .. " bytes" )
Quantum.Debug( "--Datatable contents--")
PrintTable( dt )
Quantum.Debug( "--End of datatable contens--" )
end
local menu = include( GAMEMODE.FolderName .. "/gamemode/engine/derma/menus/menu_" .. dt.id .. ".lua" )
menu.open( dt )
end)

@ -26,16 +26,30 @@ local pages = {
}
local p, c = page.New( parent, args )
p:SetVisible( true )
p.w, p.h = p:GetSize()
c:SetSize( 85 * resScale, 25 * resScale )
local closeW, closeH = c:GetSize()
c:SetPos( padding*4, (pH - closeH) - padding*4 )
c.w, c.h = c:GetSize()
c:SetPos( (p.w - c.w) - padding*4, (p.h - c.h) - padding*4 )
c.DoClick = function()
surface.PlaySound( "UI/buttonclick.wav" )
parent.page:SetVisible( true )
p:Remove()
end
local ip = vgui.Create( "DPanel", p ) -- input panel
ip:SetSize( 400 * resScale, p.h * 0.9 )
ip.w, ip.h = ip:GetSize()
ip:SetPos( padding*4, p.h/2 - ip.h/2 )
ip.Paint = function( self ) theme.blurpanel(self) end
local inputs = {}
-- input panel contens --
return p, c
end
}
@ -96,16 +110,13 @@ function menu.open( dt )
header:SetTextColor( Color( 255, 255, 255, 255 ) )
header.Paint = function( self, w, h ) end
local chars = {
{name="Vernull", lvl=81, model="models/player/Group01/male_09.mdl"},
{name="Devoe", lvl=22},
{name="Leeroy", lvl=2}
}
local chars = {}
local cpanels = {}
local selectedChar
local errorMdl = "models/player.mdl"
if( selectedChar ) then
-- Char model
local mdl = vgui.Create( "DModelPanel", p )
mdl:SetSize( 600 * resScale, 1000 * resScale )
@ -114,6 +125,24 @@ function menu.open( dt )
mdl:SetFOV( 55 )
function mdl:LayoutEntity( ent ) return end
else
local titles = {
"404 - Characters not found :(",
"No Characters Found"
}
local info = vgui.Create( "DLabel", p )
info:SetText( titles[ math.random( 1, #titles ) ] )
info:SetFont( "q_header" )
info:SizeToContents()
info.w, info.h = info:GetSize()
info:SetPos( p.w/2 - info.w/2, p.h/2 - info.h/2 )
end
for k, v in pairs( chars ) do
cpanels[k] = vgui.Create( "DButton", clist )
@ -156,13 +185,14 @@ function menu.open( dt )
lvl:SetPos( txtX, txtY + lvlH )
end
if( selectedChar ) then
mdl:SetModel( selectedChar.char.model ) -- set the char model
local minv, maxv = mdl.Entity:GetRenderBounds()
local eyepos = mdl.Entity:GetBonePosition( mdl.Entity:LookupBone( "ValveBiped.Bip01_Head1" ) )
eyepos:Add( Vector( 40, 0, -15 ) )
mdl:SetCamPos( eyepos - Vector( -10, 0, -2 ) )
mdl:SetLookAt( eyepos )
--
end
-- create char button
local cr = vgui.Create( "DButton", p )
@ -183,6 +213,7 @@ function menu.open( dt )
cr.OnCursorEntered = function() surface.PlaySound( "UI/buttonrollover.wav" ) end
if( selectedChar ) then
-- Delete char button
local dl = vgui.Create( "DButton", p )
dl:SetText("Delete Character")
@ -200,7 +231,7 @@ function menu.open( dt )
end
dl.OnCursorEntered = function() surface.PlaySound( "UI/buttonrollover.wav" ) end
end
end
end

@ -8,3 +8,4 @@
Quantum.Client.Config = {}
Quantum.Client.Config.EnableHUD = true
Quantum.Client.ShowCrosshair = true
Quantum.Client.EnableDebug = true

@ -7,6 +7,7 @@
if SERVER then
AddCSLuaFile( "engine/sh_debug.lua" )
AddCSLuaFile( "settings/sh_models.lua" )
AddCSLuaFile( "cl_init.lua" )
AddCSLuaFile( "shared.lua" )

@ -0,0 +1,33 @@
-- __ _ _______ _ __
-- / / /\ | | |__ __| | | \ \
-- / / / \ | |_ __ ___ | | ___ ___| |__ \ \
-- < < / /\ \ | | '_ ` _ \| |/ _ \/ __| '_ \ > >
-- \ \ / ____ \| | | | | | | | __/ (__| | | | / /
-- \_\ /_/ \_\_|_| |_| |_|_|\___|\___|_| |_| /_/
Quantum.Models = {
NPC = {},
Player = {
Male = {
"models/player/Group01/male_01.mdl",
"models/player/Group01/male_02.mdl",
"models/player/Group01/male_03.mdl",
"models/player/Group01/male_04.mdl",
"models/player/Group01/male_05.mdl",
"models/player/Group01/male_06.mdl",
"models/player/Group01/male_07.mdl",
"models/player/Group01/male_08.mdl",
"models/player/Group01/male_09.mdl"
},
Female = {
"models/player/group01/female_01.mdl",
"models/player/group01/female_02.mdl",
"models/player/group01/female_03.mdl",
"models/player/group01/female_04.mdl",
"models/player/group01/female_05.mdl",
"models/player/group01/female_06.mdl"
}
}
}

@ -63,7 +63,7 @@ Quantum.Server.Settings.PainSounds.Male = {
"vo/npc/male01/pain09.wav"
}
Quantum.Server.Settings.DamageHurtSoundRepeatChance = 90
Quantum.Server.Settings.DamageHurtSoundRepeatChance = 90 -- %
Quantum.Server.Settings.IdlePainSounds = {}
Quantum.Server.Settings.IdlePainSounds.Male = {

@ -13,3 +13,5 @@ GM.Website = "N/A"
Quantum = {}
include( "engine/sh_debug.lua" ) -- add the debug functions and stuff
include( "settings/sh_models.lua" )
Loading…
Cancel
Save