summaryrefslogtreecommitdiff
path: root/gamemode
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2016-04-30 00:12:48 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2016-04-30 00:12:48 -0400
commit57b9d6d553943190c58b7d5f77d2ee475fe36479 (patch)
tree7ce172587805403606d31792be8c81c80e55256c /gamemode
parentc90d4ae74d9a51249009ebac34d3627bc3812fa3 (diff)
downloadgmstranded-57b9d6d553943190c58b7d5f77d2ee475fe36479.tar.gz
gmstranded-57b9d6d553943190c58b7d5f77d2ee475fe36479.tar.bz2
gmstranded-57b9d6d553943190c58b7d5f77d2ee475fe36479.zip
Improvements to inventory
Diffstat (limited to 'gamemode')
-rw-r--r--gamemode/client/cl_inventory.lua6
-rw-r--r--gamemode/init.lua6
-rw-r--r--gamemode/itemsystem/common.lua67
-rw-r--r--gamemode/itemsystem/common_dropable.lua70
-rw-r--r--gamemode/itemsystem/items/berry.lua4
-rw-r--r--gamemode/server/player_functions.lua19
6 files changed, 87 insertions, 85 deletions
diff --git a/gamemode/client/cl_inventory.lua b/gamemode/client/cl_inventory.lua
index ab6f196..851626f 100644
--- a/gamemode/client/cl_inventory.lua
+++ b/gamemode/client/cl_inventory.lua
@@ -94,13 +94,11 @@ end
local invpanel = nil
function GM:OnSpawnMenuOpen()
- print("Spawn menu hooked correctly")
if(invpanel == nil) then
invpanel = createPanel()
return
end
- print("Not nil")
if(! invpanel:IsValid()) then
invpanel = createPanel()
return
@@ -108,12 +106,16 @@ function GM:OnSpawnMenuOpen()
end
function GM:ReloadSpawnMenu()
+ if(invpanel == nil) then
+ return
+ end
if(!invpanel:IsValid()) then
return
end
if(invpanel != nil) then
invpanel:Close()
invpanel = createPanel()
+ return
end
end
diff --git a/gamemode/init.lua b/gamemode/init.lua
index eb00238..a4c480a 100644
--- a/gamemode/init.lua
+++ b/gamemode/init.lua
@@ -129,7 +129,11 @@ function GM.FindTribeByID( id )
end
-- Cancel process
-concommand.Add( "gms_cancelprocess", function( ply, cmd, args ) ply:CancelProcess() end )
+concommand.Add( "gms_cancelprocess", function( ply, cmd, args )
+ ply:CancelProcess()
+
+
+end )
/* Menu toggles */
function GM:ShowHelp( ply ) end
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)
diff --git a/gamemode/server/player_functions.lua b/gamemode/server/player_functions.lua
index 646f851..b8afc32 100644
--- a/gamemode/server/player_functions.lua
+++ b/gamemode/server/player_functions.lua
@@ -656,18 +656,9 @@ end
function PlayerMeta:CancelProcess()
if ( !self.InProcess ) then return end
-
- local v = self.ProcessTable
- if ( !v.Cancel ) then return end
-
- if ( v.Owner and v.Owner != NULL and IsValid( v.Owner ) ) then
- v.Owner:Freeze( false )
- v.Owner:StopProcessBar()
- v.Owner.InProcess = false
- v.Owner:SendMessage( "Cancelled.", 3, Color( 200, 0, 0, 255 ) )
- end
-
- v.IsStopped = true
- timer.Destroy( "GMS_ProcessTimer_" .. v.TimerID )
- GAMEMODE:RemoveProcessThink( v )
+ timer.Destroy("process")
+ self:Freeze(false)
+ self.InProcess = false
+ self:SendMessage( "Cancelled.", 3, Color( 200, 0, 0, 255 ) )
+ self:StopProcessBar()
end