Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.61 KB | None | 0 0
  1.  
  2. function Entity:AddItem(strItem, intAmount)
  3.     if !IsValid(self) then return false end
  4.     local tblItemTable = GAMEMODE.DataBase.Items[strItem]
  5.     if !tblItemTable then return false end
  6.     intAmount = tonumber(intAmount) or 1
  7.     self.Data = self.Data or {}
  8.     self.Data.Inventory = self.Data.Inventory or {}
  9.     self.Data.Inventory[strItem] = self.Data.Inventory[strItem] or 0
  10.     self.Weight = self.Weight or 0
  11.     local intMaxItems = math.Clamp(math.floor((self:GetMaxWeight() - self.Weight) / tblItemTable.Weight), 0, intAmount)
  12.     intAmount = math.Clamp(intAmount, -self.Data.Inventory[strItem], intMaxItems)
  13.     if intAmount == 0 then return false end
  14.     if SERVER then
  15.         if self.Data.Paperdoll && intAmount < 0 then
  16.             if self.Data.Inventory[strItem] == 1 && self.Data.Paperdoll[tblItemTable.Slot] == strItem then
  17.                 self:UseItem(strItem)
  18.             end
  19.         end
  20.     end
  21.     self.Data.Inventory[strItem] = self.Data.Inventory[strItem] + intAmount
  22.     self.Weight = self.Weight + (tblItemTable.Weight * intAmount)
  23.     if SERVER && self:GetClass() == "player" then
  24.         --SendUsrMsg("UD_UpdateItem", self, {strItem, intAmount})
  25.         UD.SaveItem(self, strItem, intAmount)
  26.         net.Start( "newItems" )
  27.         net.WriteString(strItem)
  28.         net.WriteString(tostring(intAmount))
  29.         net.Send( self )
  30.         self:SaveGame()
  31.     end
  32.     if CLIENT then
  33.         if GAMEMODE.MainMenu then GAMEMODE.MainMenu.Inventory:LoadInventory() end
  34.         if GAMEMODE.ShopMenu then GAMEMODE.ShopMenu:LoadShop() end
  35.         if GAMEMODE.ShopMenu then GAMEMODE.ShopMenu:LoadPlayer() end
  36.         if GAMEMODE.BankMenu then GAMEMODE.BankMenu:LoadPlayer() end
  37.         if GAMEMODE.UpdateHotBar then GAMEMODE:UpdateHotBar() end
  38.     end
  39.     return true
  40. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement