Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --> GMod 13 Beta <--
- --> Inherited from Old Age 2 scripts made by The Maw. <--
- local meta = FindMetaTable("Player")
- if (SERVER) then
- util.AddNetworkString("SetXP")
- util.AddNetworkString("SetupLeveling")
- util.AddNetworkString("SetLevel")
- function meta:AddXP(xp)
- if (!self.xp) then self.xp = 0 end
- if (!self.Level) then self.Level = 1 end
- self.xp = self.xp + xp
- self:RecalcLevel()
- net.Start("SetXP")
- net.WriteEntity(self)
- net.WriteLong(self.xp)
- net.Broadcast() --Think ill be sending this to everyone :)
- end
- function meta:SetupPlayer(xp,level)
- net.Start("SetupLeveling")
- net.WriteEntity(self)
- net.WriteLong(xp)
- net.WriteByte(level)
- net.Broadcast()
- self.xp = xp
- self.Level = level
- end
- function meta:RecalcLevel()
- if (!self.xp) then return 1 end
- if (!self.Level) then self.Level = 1 end
- local Level = self.Level
- repeat
- local XP = 178 + Level^2 * (22*Level)
- if (self.xp >= XP) then Level = Level+1 self.xp = self.xp-XP end
- until (self.xp < XP or Level > 90)
- if (Level != self.Level) then
- self:AddNote("Level up! :D")
- self.Level = Level
- net.Start("SetLevel")
- net.WriteEntity(self)
- net.WriteByte(self.Level)
- net.Broadcast()
- --LEVELUP!
- end
- end
- else
- net.Receive("SetXP",function(size) net.ReadEntity().xp = net.ReadLong() end)
- net.Receive("SetLevel",function(size) net.ReadEntity().Level = net.ReadByte() end)
- net.Receive("SetupLeveling",function(size)
- local Ply = net.ReadEntity()
- Ply.xp = net.ReadLong()
- Ply.Level = net.ReadByte()
- end)
- end
- function meta:GetXP()
- return self.xp or 0
- end
- function meta:GetLevel()
- return self.Level or 1
- end
- function meta:GetRequiredXP()
- local Level = self:GetLevel()
- return (178 + Level^2 * (22*Level))
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement