Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function CreateRoleplayPlayer(source, name, gold, firstname, lastname, xp, level, job, jobgrade)
- local self = {}
- self.source = source
- self.name = name
- self.gold = gold
- self.firstname = firstname
- self.lastname = lastname
- self.xp = xp
- self.level = level
- self.job = job
- self.jobgrade = jobgrade
- self.session = {}
- local rTable = {}
- -- SETS LEVELwXP
- rTable.setLevelwXP = function(m)
- if type(m) == "number" then
- if m > self.level then
- self.level = m
- TriggerClientEvent('xrp:addLevel', self.source, m)
- TriggerClientEvent('xrp:activateLevel', self.source , self.level)
- else
- self.level = m
- TriggerClientEvent('xrp:removeLevel', self.source, m)
- TriggerClientEvent('xrp:activateLevel', self.source , self.level)
- end
- else
- print('XRP_ERROR: There seems to be an issue while setting level, something else then a number was entered.')
- end
- end
- -- SETS LEVEL
- rTable.setLevel = function(m)
- if type(m) == "number" then
- self.level = m
- rTable.addXP(Levels[m] - self.xp)
- TriggerClientEvent('xrp:addLevel', self.source, self.level)
- TriggerClientEvent('xrp:activateLevel', self.source , self.level)
- else
- print('XRP_ERROR: There seems to be an issue while setting level, something else then a number was entered.')
- end
- end
- rTable.setXP = function(m)
- if type(m) == "number" then
- self.xp = m
- TriggerClientEvent('xrp:addXP', self.source, m)
- TriggerClientEvent('xrp:activateXP', self.source , self.xp)
- local case = 1, lvlNow, lvlNew
- while true do
- if self.xp > Levels[case] then
- case = case + 1
- else
- lvlNow = case
- break
- end
- end
- case = 1
- while true do
- cache = case + 1
- if m > Levels[cache] then
- case = case + 1
- else
- lvlNew = case
- break
- end
- end
- if lvlNow ~= lvlNew then
- --print("New level from " .. lvlNow .. " to " .. lvlNew)
- rTable.setLevel(tonumber(lvlNew))
- else
- --print("Old level " .. lvlNow .. " == " .. lvlNew)
- end
- else
- print('XRP_ERROR: There seems to be an issue while setting xp, something else then a number was entered.')
- end
- end
- rTable.setFirstname = function(m)
- if type(m) == "string" then
- TriggerEvent("xrp:setPlayerData", self.source, "firstname", m, function(response, success)
- self.firstname = m
- end)
- else
- print('XRP_ERROR: There seems to be an issue while setting firstname, something else then a text was entered.')
- end
- end
- rTable.setLastname = function(m)
- if type(m) == "string" then
- TriggerEvent("xrp:setPlayerData", self.source, "lastname", m, function(response, success)
- self.lastname = m
- end)
- else
- print('XRP_ERROR: There seems to be an issue while setting lastname, something else then a text was entered.')
- end
- end
- rTable.setJob = function(m)
- if type(m) == "string" then
- TriggerEvent("xrp:setPlayerData", self.source, "job", m, function(response, success)
- self.job = m
- end)
- else
- print('XRP_ERROR: There seems to be an issue while setting job, something else then a text was entered.')
- end
- end
- rTable.setJobgrade = function(m)
- if type(m) == "number" then
- TriggerEvent("xrp:setPlayerData", self.source, "jobgrade", m, function(response, success)
- self.jobgrade = m
- end)
- else
- print('XRP_ERROR: There seems to be an issue while setting jobgrade, something else then a text was entered.')
- end
- end
- rTable.addXP = function(m)
- if type(m) == "number" then
- local newXP = self.xp + m
- local case = 1, lvlNow, lvlNew
- while true do
- if self.xp > Levels[case] then
- case = case + 1
- else
- lvlNow = case
- break
- end
- end
- case = 1
- while true do
- if newXP > Levels[case] then
- case = case + 1
- else
- lvlNew = case
- break
- end
- end
- if lvlNow ~= lvlNew then
- --print("New level from " .. lvlNow .. " to " .. lvlNew)
- rTable.setLevelwXP(tonumber(lvlNew))
- else
- --print("Old level " .. lvlNow .. " == " .. lvlNew)
- end
- --self.xp = newXP
- if newXP > self.xp then
- self.xp = newXP
- TriggerClientEvent('xrp:addXP', self.source, m)
- TriggerClientEvent('xrp:activateXP', self.source , self.xp)
- else
- self.xp = newXP
- TriggerClientEvent('xrp:removeXP', self.source, m)
- TriggerClientEvent('xrp:activateXP', self.source , self.xp)
- end
- else
- print('XRP_ERROR: There seems to be an issue while adding xp, a different type then number was trying to be added.')
- end
- end
- -- Sets a players gold balance
- rTable.setGold = function(m)
- if type(m) == "number" then
- self.gold = m
- TriggerClientEvent('xrp:addGold', self.source, self.gold)
- TriggerClientEvent('xrp:activateGold', self.source , self.gold)
- else
- print('XRP_ERROR: There seems to be an issue while setting gold, something else then a number was entered.')
- end
- end
- rTable.getGold = function()
- return self.gold
- end
- -- Adds money to a users gold
- rTable.addGold = function(m)
- if type(m) == "number" then
- local newGold = self.gold + m
- self.gold = newGold
- TriggerClientEvent('xrp:addGold', self.source, m)
- TriggerClientEvent('xrp:activateGold', self.source , self.gold)
- else
- print('XRP_ERROR: There seems to be an issue while adding to gold, a different type then number was trying to be added.')
- end
- end
- -- Removes money from a users gold
- rTable.removeGold = function(m)
- if type(m) == "number" then
- local newGold = self.gold - m
- self.gold = newGold
- TriggerClientEvent('xrp:removeGold', self.source, m)
- TriggerClientEvent('xrp:activateGold', self.source , self.gold)
- else
- print('XRP_ERROR: There seems to be an issue while removing from gold, a different type then number was trying to be removed.')
- end
- end
- rTable.getXP = function()
- return self.xp
- end
- rTable.getName = function()
- return self.name
- end
- rTable.getLevel = function()
- return self.level
- end
- rTable.getFirstname = function()
- return self.firstname
- end
- rTable.getLastname = function()
- return self.lastname
- end
- rTable.getJob = function()
- return self.job
- end
- rTable.getJobgrade = function()
- return self.job
- end
- -- Global set
- rTable.set = function(k, v)
- self[k] = v
- end
- -- Global get
- rTable.get = function(k)
- return self[k]
- end
- rTable.setGlobal = function(g, default)
- self[g] = default or ""
- rTable["get" .. g:gsub("^%l", string.upper)] = function()
- return self[g]
- end
- rTable["set" .. g:gsub("^%l", string.upper)] = function(e)
- self[g] = e
- end
- Users[self.source] = rTable
- end
- return rTable
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement