From 57b9d6d553943190c58b7d5f77d2ee475fe36479 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sat, 30 Apr 2016 00:12:48 -0400 Subject: Improvements to inventory --- gamemode/itemsystem/common.lua | 67 +------------------------------ gamemode/itemsystem/common_dropable.lua | 70 +++++++++++++++++++++++++++++++++ gamemode/itemsystem/items/berry.lua | 4 +- 3 files changed, 73 insertions(+), 68 deletions(-) create mode 100644 gamemode/itemsystem/common_dropable.lua (limited to 'gamemode/itemsystem') diff --git a/gamemode/itemsystem/common.lua b/gamemode/itemsystem/common.lua index 65239d6..674c0ce 100644 --- a/gamemode/itemsystem/common.lua +++ b/gamemode/itemsystem/common.lua @@ -17,71 +17,6 @@ function startProcessGeneric(player, string, time, ondone) end) end -function genericMakeDroppable(tbl) - local drop1 = function(player) - genericDropResource(player,tbl.Name,1) - end - local dropall = function(player) - PrintTable(Resources) - print("Ammount:" .. Resources[tbl.Name]) - genericDropResource(player,tbl.Name,Resources[tbl.Name]) - end - local dropx = function(player) - if(SERVER) then return end - local frame = vgui.Create( "DFrame" ) - frame:SetSize( 400, 200 ) - frame:Center() - frame:MakePopup() +function genericMakePlantable( tbl ) - local TextEntry = vgui.Create( "DTextEntry", frame ) -- create the form as a child of frame - TextEntry:SetPos( 25, 50 ) - TextEntry:SetSize( 75, 85 ) - TextEntry:SetText( "Sample String" ) - TextEntry.OnEnter = function( self ) - genericDropResource(player,tbl.Name,self:GetValue()) - end - - end - if(tbl.Actions == nil) then - tbl.Actions = {} - end - if(tbl.Actions["Drop"] == nil) then - tbl.Actions["Drop"] = {} - end - tbl.Actions["Drop"]["Drop 1"] = drop1 - tbl.Actions["Drop"]["Drop all"] = dropall - tbl.Actions["Drop"]["Drop X"] = dropx -end - - -if(SERVER) then - util.AddNetworkString( "gms_dropresources" ) -end -function genericDropResource(player, resource, ammount) - if(CLIENT) then - net.Start("gms_dropresources") - net.WriteString(resource) - net.WriteInt(ammount,GMS.NETINT_BITCOUNT) - net.SendToServer() - end - if(SERVER) then - if(player.Resources[resource] < ammount) then - player:SendMessage("You don't have that many to drop!", 3, Color(255, 255, 255, 255)) - return - end - local res = player.Resources[resource] - - if ( ammount > res ) then - ammount = res - end - player:DropResource( resource, ammount ) - player:DecResource( resource, ammount ) - end end -net.Receive( "gms_dropresources", function(len,pl) - local resourcename = net.ReadString() - local resourcenum = net.ReadInt(GMS.NETINT_BITCOUNT) - print("resourcename:" .. resourcename) - print("resourcenum:" .. resourcenum) - genericDropResource(pl,resourcename,resourcenum) -end) diff --git a/gamemode/itemsystem/common_dropable.lua b/gamemode/itemsystem/common_dropable.lua new file mode 100644 index 0000000..1f4ec7e --- /dev/null +++ b/gamemode/itemsystem/common_dropable.lua @@ -0,0 +1,70 @@ +function genericMakeDroppable(tbl) + local drop1 = function(player) + genericDropResource(player,tbl.Name,1) + end + local dropall = function(player) + PrintTable(Resources) + print("Ammount:" .. Resources[tbl.Name]) + genericDropResource(player,tbl.Name,Resources[tbl.Name]) + end + local dropx = function(player) + if(SERVER) then return end + local frame = vgui.Create( "DFrame" ) + frame:SetSize( 400, 60 ) + frame:Center() + frame:MakePopup() + + local TextEntry = vgui.Create( "DTextEntry", frame ) -- create the form as a child of frame + TextEntry:SetPos( 20, 30 ) + TextEntry:SetSize( 360, 20 ) + TextEntry:SetText( "Number to drop:" ) + TextEntry.OnEnter = function( self ) + if(tonumber(self:GetValue(),10) == nil) then return end + genericDropResource(player,tbl.Name,self:GetValue()) + frame:Close() + end + + end + if(tbl.Actions == nil) then + tbl.Actions = {} + end + if(tbl.Actions["Drop"] == nil) then + tbl.Actions["Drop"] = {} + end + tbl.Actions["Drop"]["Drop 1"] = drop1 + tbl.Actions["Drop"]["Drop all"] = dropall + tbl.Actions["Drop"]["Drop X"] = dropx +end + + +if(SERVER) then + util.AddNetworkString( "gms_dropresources" ) +end +function genericDropResource(player, resource, ammount) + if(CLIENT) then + net.Start("gms_dropresources") + net.WriteString(resource) + net.WriteInt(ammount,GMS.NETINT_BITCOUNT) + net.SendToServer() + end + if(SERVER) then + if(player.Resources[resource] < ammount) then + player:SendMessage("You don't have that many to drop!", 3, Color(255, 255, 255, 255)) + return + end + local res = player.Resources[resource] + + if ( ammount > res ) then + ammount = res + end + player:DropResource( resource, ammount ) + player:DecResource( resource, ammount ) + end +end +net.Receive( "gms_dropresources", function(len,pl) + local resourcename = net.ReadString() + local resourcenum = net.ReadInt(GMS.NETINT_BITCOUNT) + print("resourcename:" .. resourcename) + print("resourcenum:" .. resourcenum) + genericDropResource(pl,resourcename,resourcenum) +end) diff --git a/gamemode/itemsystem/items/berry.lua b/gamemode/itemsystem/items/berry.lua index 125a78b..acf018d 100644 --- a/gamemode/itemsystem/items/berry.lua +++ b/gamemode/itemsystem/items/berry.lua @@ -15,7 +15,7 @@ local eat = function(ln, player) net.SendToServer() end if(SERVER) then - if(player.Resources[ITEM.Name] <= 0) then + if(player.Resources["Berries"] <= 0) then player:SendMessage( "You don't have enough to do that!", 3, Color( 10, 200, 10, 255 ) ) return end @@ -32,6 +32,6 @@ net.Receive( "gms_eatberry", eat) ITEM.Actions = {} genericMakeDroppable(ITEM) -ITEM.Actions["EatBerry"] = eat +ITEM.Actions["Eat Berry"] = eat GMS.RegisterResource(ITEM) -- cgit v1.2.3-70-g09d2