summaryrefslogtreecommitdiff
path: root/gamemode/itemsystem
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/itemsystem')
-rw-r--r--gamemode/itemsystem/common.lua67
-rw-r--r--gamemode/itemsystem/common_dropable.lua70
-rw-r--r--gamemode/itemsystem/items/berry.lua4
3 files changed, 73 insertions, 68 deletions
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)