diff options
Diffstat (limited to 'gamemode/client/cl_inventory.lua')
| -rw-r--r-- | gamemode/client/cl_inventory.lua | 100 |
1 files changed, 44 insertions, 56 deletions
diff --git a/gamemode/client/cl_inventory.lua b/gamemode/client/cl_inventory.lua index 390b923..0e14d50 100644 --- a/gamemode/client/cl_inventory.lua +++ b/gamemode/client/cl_inventory.lua @@ -5,9 +5,11 @@ Reserved inventory id's 1 - Equipment 2 - Prayers + 3 - Skills + 4 - Quests ]] local qinv = nrequire("cl_qinventory.lua") -local qpray = nrequire("cl_qprayers.lua") +--local qpray = nrequire("cl_qprayers.lua") print("Hello from cl_inventory.lua") --debug.Trace() @@ -17,32 +19,15 @@ local prayerequiped = { } net.Receive("equiphelpprayer",function() - print("equiphelp received client side!") - prayerequiped[4] = "Noob Help" + print("equiphelp received client side!") + prayerequiped[4] = "Noob Help" end) local lastpanel = lastpanel or 1 ---A master list of inventory sheets -local inventorysheets = {} - --Wether the player is in the inventory or not local plyisininventory = false ---Displays a dropdown of options under the players mouse, if the option is clicked, does the function ---Requires a table of strings to functions, or strings to tables of strings to functions. ---Be careful not to make this a recursive table. -local function createMenuFor(menu, tbl) - for k,v in pairs(tbl) do - if isfunction(v) then --This is a dead-end, add the menu - local thisoption = menu:AddOption(k,v) - else --Otherwise it should be a table, recursively call to create - local submenu = menu:AddSubMenu(k) - createMenuFor(submenu,v) - end - end -end - local qframe = nil --The master frame local qtabs = {} --The tabs @@ -63,7 +48,7 @@ local function BuildInventory() if not player_data then print("no player data!") return end qframe = vgui.Create("DFrame") qframe:SetPos(0,0) - qframe:SetSize(width/4, height) + qframe:SetSize(width / 4, height) qframe:SetTitle("Inventory") qframe:SetDraggable(true) qframe:MakePopup() @@ -76,16 +61,19 @@ local function BuildInventory() tabsheet:Dock(FILL) local invsheet = qinv.CreateInventorySheet(tabsheet) - local invid = #qtabs + 1 - invsheet.id = invid - qtabs[invid] = invsheet + --qpray.CreatePrayerSheet(tabsheet) + invsheet.id = #qtabs + 1 + qtabs[#qtabs + 1] = invsheet + --prasheet.id = #qtabs + 1 + --qtabs[#qtabs + 1] = prasheet tabsheet:AddSheet("Inventory",invsheet,"icon16/user.png") + --tabsheet:AddSheet("Prayers",prasheet,"icon16/user.png") end local function ShowInventory() print("qframe is ", qframe) - if not qframe then BuildInventory() + if not qframe then BuildInventory() else qframe:Show() end plyisininventory = true end @@ -97,13 +85,13 @@ hook.Add("OnSpawnMenuClose","ArteryCloseInventory",function() plyisininventory = false qframe:Hide() if (not sheet) or (not sheet:GetActiveTab()) or (not sheet:GetActiveTab():GetPanel()) then return end - lastpanel = sheet:GetActiveTab():GetPanel().sheetnum - for k,v in pairs(LocalPlayer().invdisplays) do - if not v.panel:IsValid() then continue end - --PrintTable(v) - v.panel:Close() - LocalPlayer().invdisplays[k] = nil - end + lastpanel = sheet:GetActiveTab():GetPanel().sheetnum + for k,v in pairs(LocalPlayer().invdisplays) do + if not v.panel:IsValid() then continue end + --PrintTable(v) + v.panel:Close() + LocalPlayer().invdisplays[k] = nil + end end) concommand.Add("showinventory",ShowInventory) @@ -112,28 +100,28 @@ local rotatespeed = 65 local bone = nil local previousheadscale = Vector(1,1,1) hook.Add("CalcView","ArteryInventoryView",function(ply,pos,ang,fov,nearz,farz) - if bone == nil then - bone = LocalPlayer():LookupBone("ValveBiped.Bip01_Head1") - end - local view = {} - --view.origin = LocalPlayer():GetBonePosition(bone) + LocalPlayer():GetUp() * 2 - view.origin = pos - if plyisininventory then - local trot = math.rad(CurTime() * rotatespeed) - local xoff = viewdistance * math.sin(trot) - local yoff = viewdistance * math.cos(trot) - view.origin = view.origin + Vector(xoff,yoff,10) - ang.pitch = 20 - ang.yaw = (-CurTime() * rotatespeed) - 90 - end - view.angles = ang - view.fov = fov - if not plyisininventory then - LocalPlayer():ManipulateBoneScale(bone,Vector(0,0,0)) - else - LocalPlayer():ManipulateBoneScale(bone,previousheadscale) - end - view.drawviewer = plyisininventory - - return view + if bone == nil then + bone = LocalPlayer():LookupBone("ValveBiped.Bip01_Head1") + end + local view = {} + --view.origin = LocalPlayer():GetBonePosition(bone) + LocalPlayer():GetUp() * 2 + view.origin = pos + if plyisininventory then + local trot = math.rad(CurTime() * rotatespeed) + local xoff = viewdistance * math.sin(trot) + local yoff = viewdistance * math.cos(trot) + view.origin = view.origin + Vector(xoff,yoff,10) + ang.pitch = 20 + ang.yaw = (-CurTime() * rotatespeed) - 90 + end + view.angles = ang + view.fov = fov + if not plyisininventory then + LocalPlayer():ManipulateBoneScale(bone,Vector(0,0,0)) + else + LocalPlayer():ManipulateBoneScale(bone,previousheadscale) + end + view.drawviewer = plyisininventory + + return view end) |
