summaryrefslogtreecommitdiff
path: root/gamemode/server/player_functions.lua
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2016-04-29 20:30:52 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2016-04-29 20:30:52 -0400
commit6f6cce0561c19e7af14bcc6e6b1c7de2d5efc530 (patch)
treea0a9e142b4741ed109a00059e3b98efc86b25b4d /gamemode/server/player_functions.lua
parent534ce8e8612da3ba6d610a782eeaf10c9135b947 (diff)
downloadgmstranded-6f6cce0561c19e7af14bcc6e6b1c7de2d5efc530.tar.gz
gmstranded-6f6cce0561c19e7af14bcc6e6b1c7de2d5efc530.tar.bz2
gmstranded-6f6cce0561c19e7af14bcc6e6b1c7de2d5efc530.zip
a halfway commit to show scott
Diffstat (limited to 'gamemode/server/player_functions.lua')
-rw-r--r--gamemode/server/player_functions.lua44
1 files changed, 30 insertions, 14 deletions
diff --git a/gamemode/server/player_functions.lua b/gamemode/server/player_functions.lua
index b4cc7c0..b335553 100644
--- a/gamemode/server/player_functions.lua
+++ b/gamemode/server/player_functions.lua
@@ -140,17 +140,39 @@ function PlayerMeta:DecXP( skill, int )
umsg.End()
end
+util.AddNetworkString( "gms_SetResource" )
+
function PlayerMeta:SetResource( resource, int )
- resource = string.Capitalize( resource )
- if ( !self.Resources[resource] ) then self.Resources[resource] = 0 end
+ print("SetResource called!")
+ if(isstring(resource)) then
+ resource = GMS.GetResourceByName(resource)
+ end
+ PrintTable(resource)
+ print(int)
+ if ( !self.Resources[resource] ) then self.Resources[resource] = 0 end
self.Resources[resource] = int
- umsg.Start( "gms_SetResource", self )
- umsg.String( resource )
- umsg.Short( int )
- umsg.End()
+ if(net.Start("gms_SetResource",false)) then
+ net.WriteString(resource.Name)
+ if(resource.UniqueData) then
+ if(self.Resources[resource.Name] == nil) then
+ self.Resources[resource.Name] = {}
+ end
+ table.insert(self.Resources[resource.Name],resource.UniqueDataID,resource)
+ net.WriteTable(resource)
+ else
+ if(self.Resources[resource.Name] == nil) then
+ self.Resources[resource.Name] = 0
+ end
+ self.Resources[resource.Name] = int
+ net.WriteInt(int, GMS.NETINT_BITCOUNT)
+ end
+ net.Send(self)
+ else
+ print("Error! could not send resource change data to client: " .. self:GetName())
+ end
end
function PlayerMeta:GetResource( resource )
@@ -173,10 +195,7 @@ function PlayerMeta:IncResource( resource, int )
self.Resources[resource] = self.Resources[resource] + int
end
- umsg.Start( "gms_SetResource", self )
- umsg.String( resource )
- umsg.Short( self:GetResource( resource ) )
- umsg.End()
+ self:SetResource(resource, self:GetResource( resource ))
end
function PlayerMeta:DecResource( resource, int )
@@ -192,10 +211,7 @@ function PlayerMeta:DecResource( resource, int )
self:UpdateNeeds()
end
- umsg.Start( "gms_SetResource", self )
- umsg.String( resource )
- umsg.Short( self:GetResource( resource ) )
- umsg.End()
+ self:SetResource(resource, self:GetResource( resource ))
end
function PlayerMeta:GetAllResources()