local PLUGIN = PLUGIN local meta = ix.meta.character PLUGIN.name = "Inventory" PLUGIN.author = "MediQ" PLUGIN.description = "Adds simple stalker inventory" ix.stalker = ix.stalker or {} ix.stalker.slots = ix.stalker.slots or { --["shlem"] = {2, 2}, --["armor"] = {2, 2}, --["sumka"] = {2, 2}, --["flashlight"] = {2, 2}, --["primary"] = {2, 6}, --["primary2"] = {2, 6}, --["pistol"] = {2, 2}, --["melee"] = {2, 2} } ix.config.Add("maxWeight", 30, "The maximum number of weight a player can take.", nil, { data = {min = 10, max = 100}, category = "characters" }) if (CLIENT) then -- Helper function for drawing partial textured rectangles function surface.DrawPartialTexturedRect(x, y, w, h, startX, startY, endX, endY, texW, texH) local u1 = startX / texW local v1 = startY / texH local u2 = (startX + endX) / texW local v2 = (startY + endY) / texH surface.DrawTexturedRectUV(x, y, w, h, u1, v1, u2, v2) end end function meta:GetInventorySlot(slot) if !self then return end slot = slot:lower() local character_inv = self.vars.inv if character_inv then for slot_name, inv in pairs(character_inv) do if inv.vars and inv.vars.isBag == slot then return inv end end end end if (CLIENT) then local d = CurTime() function PLUGIN:Think() local c = LocalPlayer():GetCharacter() local b = ix.gui.invframe if input.IsKeyDown(KEY_I) && d < CurTime() then if !c then return end if not IsValid(ix.gui.invframe) then local a = true if !LocalPlayer():IsRagdoll() && !vgui.CursorVisible() && !LocalPlayer():IsTyping() && !LocalPlayer():IsFrozen() && a then vgui.Create('NDInventory') end else ix.gui.invframe:OnRemove() end d = CurTime() + 0.5 end if b then if (LocalPlayer():IsFrozen() || LocalPlayer():IsTyping() || gui.IsGameUIVisible() || (IsValid(c) && LocalPlayer():IsRagdoll())) && b:IsVisible() then b:OnRemove() end end end else ix.util.Include("sv_inventory.lua", "server") end ix.models = {} ix.models.avatars = {} --ix.models.avatars[FACTION_NEUTRAL] = "vgui/icons/face_3.png"