diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2017-01-04 23:27:36 -0500 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2017-01-04 23:27:36 -0500 |
| commit | 4879eb1d78520ce0ac9b0bb0ef5244cf65ad7c99 (patch) | |
| tree | ac47724191a8959c19b2408d4da384d64b6098ec /gamemode/client | |
| parent | 2c4329e2b6e19182a441f79a5c3010011f8ae767 (diff) | |
| download | artery-4879eb1d78520ce0ac9b0bb0ef5244cf65ad7c99.tar.gz artery-4879eb1d78520ce0ac9b0bb0ef5244cf65ad7c99.tar.bz2 artery-4879eb1d78520ce0ac9b0bb0ef5244cf65ad7c99.zip | |
Started refactoring item and inventory system
Diffstat (limited to 'gamemode/client')
| -rw-r--r-- | gamemode/client/cl_inventory.lua | 163 | ||||
| -rw-r--r-- | gamemode/client/cl_legs.lua | 47 | ||||
| -rw-r--r-- | gamemode/client/hud/cl_healthbar.lua (renamed from gamemode/client/healthbar.lua) | 0 | ||||
| -rw-r--r-- | gamemode/client/qpanels/inventory.lua | 1 | ||||
| -rw-r--r-- | gamemode/client/qpanels/prayers.lua | 2 | ||||
| -rw-r--r-- | gamemode/client/qpanels/quests.lua | 2 | ||||
| -rw-r--r-- | gamemode/client/qpanels/skills.lua | 2 |
7 files changed, 36 insertions, 181 deletions
diff --git a/gamemode/client/cl_inventory.lua b/gamemode/client/cl_inventory.lua index a40a5f8..84cb347 100644 --- a/gamemode/client/cl_inventory.lua +++ b/gamemode/client/cl_inventory.lua @@ -4,21 +4,23 @@ print("Hello from cl_inventory.lua") --debug.Trace() -ART.PrayerEquiped = ART.PrayerEquiped or { - false,false,false,false +local prayerequiped = { + false,false,false,false,false } + net.Receive("equiphelpprayer",function() print("equiphelp received client side!") - ART.PrayerEquiped[4] = "Noob Help" + prayerequiped[4] = "Noob Help" end) - local lastpanel = lastpanel or 1 local inventorysheets = {} +--[[ ART.RegisterInventorySheet = function(func) inventorysheets[#inventorysheets + 1] = func end +]] local plyisininventory = false @@ -37,6 +39,7 @@ local function createMenuFor(menu, tbl) end end +--[[ function ART.RefreshDisplays() local discopy = LocalPlayer().invdisplays LocalPlayer().invdisplays = {} @@ -52,6 +55,7 @@ function ART.RefreshDisplays() ptbl.redraw() end end +]] local sheet function ShowInventory(ply,cmd,args) @@ -83,157 +87,6 @@ function ShowInventory(ply,cmd,args) tsheet.sheetnum = name end sheet:SwitchToName(lastpanel) - - --[[ - - local prayersheet = vgui.Create( "DListLayout", sheet) - sheet:AddSheet( "Prayers", prayersheet, "icon16/coins.png") - - --Prayers - local prayergridscroll = vgui.Create("DScrollPanel") - prayergridscroll:SetSize( (width / 4) - 20, height / 3 ) - prayergridscroll:SetPos( 5, 5 ) - prayersheet:Add(prayergridscroll) - local prayergrid = vgui.Create( "DGrid", prayergridscroll ) - prayergrid:SetPos( 5 , 5 ) - prayergrid:Dock(FILL) - - prayergrid:SetCols( (width / 4) / 64 ) - prayergrid:SetColWide( 64 ) - prayergrid:SetRowHeight(64) - prayergridscroll:AddItem(prayergrid) - - for k,v in pairs(ART.Prayer) do - local but = vgui.Create( "DButton", prayergrid ) - but:SetText( v.Name ) - but:SetSize( 64, 64 ) - but:SetWrap(true) - prayergrid:AddItem( but ) - but.PrayerName = v.Name - but:Droppable("PrayerBind") - end - - local prayerbindgrid = vgui.Create("DGrid") - prayerbindgrid:SetPos(height * (2 / 3),5) - prayerbindgrid:SetSize((width / 4) - 20, height / 3) - prayerbindgrid:SetColWide(64) - prayerbindgrid:SetRowHeight(64) - function prayerbindgrid:Paint(w,h) - draw.RoundedBox( 8, 0, 0, w, h, Color( 0, 255, 0 ) ) - end - local n = 0 - for k,v in pairs(ART.PrayerEquiped) do - n = n + 1 - local but = vgui.Create( "DPanel", prayerbindgrid ) - but:SetSize(64, 64) - if v ~= false then - local prayerbut = vgui.Create( "DLabel", but ) - prayerbut:SetText( v.Name ) - prayerbut:SetSize( 64, 64 ) - prayerbut:SetWrap(true) - else - local blabel = vgui.Create( "DLabel", but ) - blabel:SetText( "F" .. k ) - blabel:SetDark(true) - but:Receiver( "PrayerBind", function( self, tableOfDroppedPanels, isDropped, menuIndex, mouseX, mouseY ) - if not isDropped then return end - ART.PrayerEquiped[k] = tableOfDroppedPanels.PrayerName - print("Prayer bound to " .. k) - end) - end - prayerbindgrid:AddItem(but) - end - prayersheet:Add(prayerbindgrid) - - --Display quests - local questselector = vgui.Create( "DScrollPanel", questsheet ) - questselector:SetSize((width / 4) - 20, (height / 2) - 40) - questselector:SetPos(0,0) - local questinfo = vgui.Create("DScrollPanel", questsheet) - questinfo:SetSize(width / 4, height / 2) - questinfo:SetPos(0,height / 2) - for k,v in pairs(LocalPlayer().Quests or {}) do - print("Displaying quest:" .. k) - local questbutton = vgui.Create( "DButton" , questselector ) - questbutton:Dock(TOP) - questbutton:SetText(k) - questbutton.DoClick = function() - print("At point of clicking, art is:") - PrintTable(ART) - ART.GetQuest(k).DrawQuestInfo(questinfo,v) - end - end - - --Display gear - local slotsize = math.Round(width / 32) - local displaypos = { - ["Head"] = {(width / 8) - slotsize, 25}, - ["Body"] = {(width / 8) - slotsize, slotsize + 26}, - ["Legs"] = {(width / 8) - slotsize, (slotsize * 2) + 27}, - ["Boots"] = {(width / 8) - slotsize, (slotsize * 3) + 28}, - ["Gloves"] = {(width / 8) + (slotsize), (slotsize * 2) + 27}, - ["Left"] = {(width / 8) - (1.5 * slotsize), (slotsize * 4) + 29}, - ["Right"] = {(width / 8) - (0.5 * slotsize), (slotsize * 4) + 29} - } - print("Displaying inventory:") - PrintTable(LocalPlayer().Inventory.Equiped) - for k,v in pairs (LocalPlayer().Inventory.Equiped) do - if v == false then - local eqslot = vgui.Create( "DPanel", invsheet ) - eqslot:SetSize( slotsize, slotsize ) - eqslot:SetPos(displaypos[k][1],displaypos[k][2]) - eqslot:Receiver( "Inventory", function( receiver, tableOfDroppedPanels, isDropped, menuIndex, mouseX, mouseY ) - if not isDropped then return end - print("Attempting to equip") - local icon = tableOfDroppedPanels[1] - local item = icon.Item - PrintTable(item) - print("In",k) - if item.Equipable == k then - net.Start("equipitem") - net.WriteUInt(icon.backpacknum,16) -- Backpack number - local fromtbl = icon.invpos - net.WriteUInt(fromtbl[1],16) -- From position - net.WriteUInt(fromtbl[2],16) - print("Writing string",k) - net.WriteString(k) - net.SendToServer() - end - end, {} ) - else - print("eqslot",k,"was not false, it was") - PrintTable(v) - local eqslot = vgui.Create("DImageButton",invsheet) - eqslot:SetSize(slotsize,slotsize) - eqslot:SetPos(displaypos[k][1],displaypos[k][2]) - if v.PaintEquiped then - eqslot.Paint = v.PaintEquiped - end - if v.DoOnEqupPanel then - v.DoOnEqupPanel(eqslot) - end - eqslot:Droppable("Inventory") - eqslot.Item = v - eqslot.wasequiped = k - end - end - - local backpacksheet = vgui.Create( "DPropertySheet", invsheet ) - backpacksheet:SetPos(0,slotsize * 6) - backpacksheet:SetSize((width / 4) - 25, height - (slotsize * 6) - 50) - print("Displaying backpacks:") - PrintTable(LocalPlayer().Inventory.Backpacks) - print("That was all the backpacks") - for k,v in pairs(LocalPlayer().Inventory.Backpacks) do - local tbacksheet = vgui.Create( "DPanel", backpacksheet ) - tbacksheet.Paint = function( self, w, h ) draw.RoundedBox( 4, 0, 0, w, h, Color( 157, 160, 167 ) ) end - backpacksheet:AddSheet( v[3], tbacksheet, "icon16/cross.png" ) - - DrawBackpackOnDPanel(tbacksheet,v,k,LocalPlayer()) - end - - ]] - end diff --git a/gamemode/client/cl_legs.lua b/gamemode/client/cl_legs.lua index 1bfaa99..c9703e1 100644 --- a/gamemode/client/cl_legs.lua +++ b/gamemode/client/cl_legs.lua @@ -1,12 +1,13 @@ --[[ - + The purpose of this file is to render the client's legs for realism purposes, this file wasn't coded by any of the NightZ team it was however coded by Valkyrie: - + http://facepunch.com/showthread.php?t=1227980&p=38680440&viewfull=1#post38680440 - + --]] +if SERVER then error("What happened?") end local Legs = {} Legs.LegEnt = nil @@ -149,7 +150,7 @@ Legs.BoneHoldTypes = { ["none"] = { "ValveBiped.Bip01_Spine2", } } - + Legs.BonesToRemove = {} Legs.BoneMatrix = nil @@ -193,16 +194,16 @@ function Legs:Think( maxseqgroundspeed ) self.OldWeapon = LocalPlayer():GetActiveWeapon() self:WeaponChanged( self.OldWeapon ) end - + if self.LegEnt:GetModel() != self:FixModelName( LocalPlayer():GetModel() ) then self.LegEnt:SetModel( self:FixModelName( LocalPlayer():GetModel() ) ) end - + self.LegEnt:SetMaterial( LocalPlayer():GetMaterial() ) self.LegEnt:SetSkin( LocalPlayer():GetSkin() ) self.Velocity = LocalPlayer():GetVelocity():Length2D() - + self.PlaybackRate = 1 if self.Velocity > 0.5 then @@ -213,32 +214,32 @@ function Legs:Think( maxseqgroundspeed ) self.PlaybackRate = math.Clamp( self.PlaybackRate, 0.01, 10 ) end end - + self.LegEnt:SetPlaybackRate( self.PlaybackRate ) - + self.Sequence = LocalPlayer():GetSequence() - + if ( self.LegEnt.Anim != self.Sequence ) then self.LegEnt.Anim = self.Sequence self.LegEnt:ResetSequence( self.Sequence ) end - + self.LegEnt:FrameAdvance( CurTime() - self.LegEnt.LastTick ) self.LegEnt.LastTick = CurTime() - + Legs.BreathScale = sharpeye and sharpeye.GetStamina and math.Clamp( math.floor( sharpeye.GetStamina() * 5 * 10 ) / 10, 0.5, 5 ) or 0.5 - - if Legs.NextBreath <= CurTime() then + + if Legs.NextBreath <= CurTime() then Legs.NextBreath = CurTime() + 1.95 / Legs.BreathScale self.LegEnt:SetPoseParameter( "breathing", Legs.BreathScale ) end - + self.LegEnt:SetPoseParameter( "move_x", ( LocalPlayer():GetPoseParameter( "move_x" ) * 2 ) - 1 ) self.LegEnt:SetPoseParameter( "move_y", ( LocalPlayer():GetPoseParameter( "move_y" ) * 2 ) - 1 ) self.LegEnt:SetPoseParameter( "move_yaw", ( LocalPlayer():GetPoseParameter( "move_yaw" ) * 360 ) - 180 ) self.LegEnt:SetPoseParameter( "body_yaw", ( LocalPlayer():GetPoseParameter( "body_yaw" ) * 180 ) - 90 ) self.LegEnt:SetPoseParameter( "spine_yaw",( LocalPlayer():GetPoseParameter( "spine_yaw" ) * 180 ) - 90 ) - + if ( LocalPlayer():InVehicle() ) then self.LegEnt:SetColor( color_transparent ) self.LegEnt:SetPoseParameter( "vehicle_steer", ( LocalPlayer():GetVehicle():GetPoseParameter( "vehicle_steer" ) * 2 ) - 1 ) @@ -271,7 +272,7 @@ end hook.Add( "RenderScreenspaceEffects", "Legs:Render", function() cam.Start3D( EyePos(), EyeAngles() ) if ShouldDrawLegs() then - + Legs.RenderPos = LocalPlayer():GetPos() if LocalPlayer():InVehicle() then Legs.RenderAngle = LocalPlayer():GetVehicle():GetAngles() @@ -283,7 +284,7 @@ hook.Add( "RenderScreenspaceEffects", "Legs:Render", function() Legs.ForwardOffset = -22 Legs.RenderPos.x = Legs.RenderPos.x + math.cos( Legs.RadAngle ) * Legs.ForwardOffset Legs.RenderPos.y = Legs.RenderPos.y + math.sin( Legs.RadAngle ) * Legs.ForwardOffset - + if LocalPlayer():GetGroundEntity() == NULL then Legs.RenderPos.z = Legs.RenderPos.z + 8 if LocalPlayer():KeyDown( IN_DUCK ) then @@ -291,14 +292,14 @@ hook.Add( "RenderScreenspaceEffects", "Legs:Render", function() end end end - + Legs.RenderColor = LocalPlayer():GetColor() - + local bEnabled = render.EnableClipping( true ) - render.PushCustomClipPlane( Legs.ClipVector, Legs.ClipVector:Dot( EyePos() ) ) + render.PushCustomClipPlane( Legs.ClipVector, Legs.ClipVector:Dot( EyePos() ) ) render.SetColorModulation( Legs.RenderColor.r / 255, Legs.RenderColor.g / 255, Legs.RenderColor.b / 255 ) render.SetBlend( Legs.RenderColor.a / 255 ) - hook.Call( "PreLegsDraw", GAMEMODE, Legs.LegEnt ) + hook.Call( "PreLegsDraw", GAMEMODE, Legs.LegEnt ) Legs.LegEnt:SetRenderOrigin( Legs.RenderPos ) Legs.LegEnt:SetRenderAngles( Legs.RenderAngle ) Legs.LegEnt:SetupBones() @@ -312,4 +313,4 @@ hook.Add( "RenderScreenspaceEffects", "Legs:Render", function() render.EnableClipping( bEnabled ) end cam.End3D() -end )
\ No newline at end of file +end ) diff --git a/gamemode/client/healthbar.lua b/gamemode/client/hud/cl_healthbar.lua index 67a3090..67a3090 100644 --- a/gamemode/client/healthbar.lua +++ b/gamemode/client/hud/cl_healthbar.lua diff --git a/gamemode/client/qpanels/inventory.lua b/gamemode/client/qpanels/inventory.lua index b366c7a..2850e1d 100644 --- a/gamemode/client/qpanels/inventory.lua +++ b/gamemode/client/qpanels/inventory.lua @@ -1,3 +1,4 @@ +do return end local invfuncs invfuncs = ART.invfuncs --invfuncs = include("../gamemodes/artery/gamemode/shared/inventory_common.lua") diff --git a/gamemode/client/qpanels/prayers.lua b/gamemode/client/qpanels/prayers.lua index bc955ce..cdcb742 100644 --- a/gamemode/client/qpanels/prayers.lua +++ b/gamemode/client/qpanels/prayers.lua @@ -1,4 +1,4 @@ - +do return end local refreshboundprayers local infopart local prayersheet diff --git a/gamemode/client/qpanels/quests.lua b/gamemode/client/qpanels/quests.lua index 1ca723b..015fc97 100644 --- a/gamemode/client/qpanels/quests.lua +++ b/gamemode/client/qpanels/quests.lua @@ -1,4 +1,4 @@ - +do return end ART.RegisterInventorySheet(function() diff --git a/gamemode/client/qpanels/skills.lua b/gamemode/client/qpanels/skills.lua index 4693032..6d71442 100644 --- a/gamemode/client/qpanels/skills.lua +++ b/gamemode/client/qpanels/skills.lua @@ -1,4 +1,4 @@ - +do return end ART.RegisterInventorySheet(function() |
