summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2016-04-16 12:56:24 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2016-04-16 12:56:24 -0400
commitae3407fe425a908344b281bd55e54a534445f20c (patch)
tree2554176fa060c1bd98603999415a821f666cdf20
parentc1c509db1c8d2a966915e089913bccd2a5546aaf (diff)
downloadgmstranded-ae3407fe425a908344b281bd55e54a534445f20c.tar.gz
gmstranded-ae3407fe425a908344b281bd55e54a534445f20c.tar.bz2
gmstranded-ae3407fe425a908344b281bd55e54a534445f20c.zip
Moved some more functions to player_functions.lua
-rw-r--r--gamemode/init.lua72
-rw-r--r--gamemode/server/player_functions.lua74
2 files changed, 74 insertions, 72 deletions
diff --git a/gamemode/init.lua b/gamemode/init.lua
index 7d16b4f..98c541d 100644
--- a/gamemode/init.lua
+++ b/gamemode/init.lua
@@ -1327,77 +1327,7 @@ function GM:ShutDown()
for k, v in pairs( player.GetAll() ) do v:SaveCharacter() end
end
-function PlayerMeta:UpdatePlayerColor()
- local col = self:GetInfo( "cl_playercolor" )
- if ( GetConVarNumber( "gms_TeamColors" ) > 0 ) then
- local tcol = team.GetColor( self:Team() )
- col = tcol.r / 255 .. " " .. tcol.g / 255 .. " " .. tcol.b / 255
- end
- self:SetPlayerColor( Vector( col ) )
-end
-
-function PlayerMeta:ResetCharacter()
-
- self.Skills = {}
- self.Resources = {}
- self.Experience = {}
- self.FeatureUnlocks = {}
-
- self:SetSkill( "Survival", 0 )
- self:SetXP( "Survival", 0 )
- self.MaxResources = 25
-
- self:SaveCharacter()
-
- umsg.Start( "gms_ResetPlayer", ply )
- umsg.End()
-
-end
-
-function PlayerMeta:SaveCharacter()
- if ( !file.IsDir( "gmstranded", "DATA" ) ) then file.CreateDir( "gmstranded" ) end
- if ( !file.IsDir( "gmstranded/saves", "DATA" ) ) then file.CreateDir( "gmstranded/saves" ) end
- if ( !self.Loaded ) then
- print( "Player " .. self:Name() .. " tried to save before he has loaded!" )
- self:SendMessage( "Character save failed: Not yet loaded!", 3, Color( 255, 50, 50, 255 ) )
- return
- end
-
- local tbl = {}
- tbl["date"] = os.date( "%A %m/%d/%y" )
- tbl["name"] = self:Nick()
-
- tbl["skills"] = self.Skills
- tbl["experience"] = self.Experience
- tbl["unlocks"] = self.FeatureUnlocks
-
- tbl["resources"] = {}
- tbl["weapons"] = {}
- tbl["ammo"] = {}
-
- for k, v in pairs( self.Resources ) do
- if ( v > 0 ) then tbl["resources"][ k ] = v end
- end
-
- for id, wep in pairs( self:GetWeapons() ) do
- if ( wep:GetClass() != "gms_fists" || wep:GetClass() != "weapon_physgun" || wep:GetClass() != "weapon_physcannon" ) then
- table.insert( tbl[ "weapons" ], wep:GetClass() )
- end
- end
-
- local ammo_types = { "ar2", "smg1", "pistol", "buckshot", "357", "grenade", "alyxgun", "xbowbolt", "AlyxGun", "RPG_Round","SMG1_Grenade", "SniperRound",
- "SniperPenetratedRound", "Grenade", "Thumper", "Gravity", "Battery", "GaussEnergy", "CombineCannon", "AirboatGun", "StriderMinigun", "StriderMinigunDirect",
- "HelicopterGun", "AR2AltFire", "Grenade", "Hopwire", "CombineHeavyCannon", "ammo_proto1"
- }
-
- for id, str in pairs( ammo_types ) do
- local ammo = self:GetAmmoCount( str )
- if ( ammo > 0 ) then tbl[ "ammo" ][ str ] = ammo end
- end
-
- file.Write( "gmstranded/saves/" .. self:UniqueID() .. ".txt", util.TableToJSON( tbl ) )
- self:SendMessage( "Saved character!", 3, Color( 255, 255, 255 ) )
-end
+//Moved to player_functions.lua
concommand.Add( "gms_savecharacter", function( ply, cmd, args )
if ( ply.GMSLastSave && ply.GMSLastSave > CurTime() ) then ply:SendMessage( "You must wait " .. math.floor( ply.GMSLastSave - CurTime() ) .. " seconds before saving again.", 3, Color( 255, 50, 50, 255 ) ) return end
diff --git a/gamemode/server/player_functions.lua b/gamemode/server/player_functions.lua
index 51b7a63..093b20a 100644
--- a/gamemode/server/player_functions.lua
+++ b/gamemode/server/player_functions.lua
@@ -237,7 +237,7 @@ function PlayerMeta:CreateStructureBuildingSite( pos, angle, model, class, cost,
"models/props_lab/reciever_cart.mdl",
"models/props_trainstation/trainstation_clock001.mdl"
}
-
+
local rep = ents.Create( "gms_buildsite" )
local str = ":"
for k, v in pairs( cost ) do
@@ -516,3 +516,75 @@ function PlayerMeta:Wakeup()
self:SendMessage( "Ah, nothing like a good nights sleep!", 5, Color( 255, 255, 255, 255 ) )
end
end
+
+function PlayerMeta:UpdatePlayerColor()
+ local col = self:GetInfo( "cl_playercolor" )
+ if ( GetConVarNumber( "gms_TeamColors" ) > 0 ) then
+ local tcol = team.GetColor( self:Team() )
+ col = tcol.r / 255 .. " " .. tcol.g / 255 .. " " .. tcol.b / 255
+ end
+ self:SetPlayerColor( Vector( col ) )
+end
+
+function PlayerMeta:ResetCharacter()
+
+ self.Skills = {}
+ self.Resources = {}
+ self.Experience = {}
+ self.FeatureUnlocks = {}
+
+ self:SetSkill( "Survival", 0 )
+ self:SetXP( "Survival", 0 )
+ self.MaxResources = 25
+
+ self:SaveCharacter()
+
+ umsg.Start( "gms_ResetPlayer", ply )
+ umsg.End()
+
+end
+
+function PlayerMeta:SaveCharacter()
+ if ( !file.IsDir( "gmstranded", "DATA" ) ) then file.CreateDir( "gmstranded" ) end
+ if ( !file.IsDir( "gmstranded/saves", "DATA" ) ) then file.CreateDir( "gmstranded/saves" ) end
+ if ( !self.Loaded ) then
+ print( "Player " .. self:Name() .. " tried to save before he has loaded!" )
+ self:SendMessage( "Character save failed: Not yet loaded!", 3, Color( 255, 50, 50, 255 ) )
+ return
+ end
+
+ local tbl = {}
+ tbl["date"] = os.date( "%A %m/%d/%y" )
+ tbl["name"] = self:Nick()
+
+ tbl["skills"] = self.Skills
+ tbl["experience"] = self.Experience
+ tbl["unlocks"] = self.FeatureUnlocks
+
+ tbl["resources"] = {}
+ tbl["weapons"] = {}
+ tbl["ammo"] = {}
+
+ for k, v in pairs( self.Resources ) do
+ if ( v > 0 ) then tbl["resources"][ k ] = v end
+ end
+
+ for id, wep in pairs( self:GetWeapons() ) do
+ if ( wep:GetClass() != "gms_fists" || wep:GetClass() != "weapon_physgun" || wep:GetClass() != "weapon_physcannon" ) then
+ table.insert( tbl[ "weapons" ], wep:GetClass() )
+ end
+ end
+
+ local ammo_types = { "ar2", "smg1", "pistol", "buckshot", "357", "grenade", "alyxgun", "xbowbolt", "AlyxGun", "RPG_Round","SMG1_Grenade", "SniperRound",
+ "SniperPenetratedRound", "Grenade", "Thumper", "Gravity", "Battery", "GaussEnergy", "CombineCannon", "AirboatGun", "StriderMinigun", "StriderMinigunDirect",
+ "HelicopterGun", "AR2AltFire", "Grenade", "Hopwire", "CombineHeavyCannon", "ammo_proto1"
+ }
+
+ for id, str in pairs( ammo_types ) do
+ local ammo = self:GetAmmoCount( str )
+ if ( ammo > 0 ) then tbl[ "ammo" ][ str ] = ammo end
+ end
+
+ file.Write( "gmstranded/saves/" .. self:UniqueID() .. ".txt", util.TableToJSON( tbl ) )
+ self:SendMessage( "Saved character!", 3, Color( 255, 255, 255 ) )
+end