Hey, i have level system, i get xp when i kill zombie, but LV dont change when i get xp for level
function win(ammo, killer, attacker, thePlayer, weapon, bodypart)
if (killer and getElementType(killer) == "player" and killer ~= source) then
elseif (attacker and getElementType(attacker) == "player" and attacker ~= source) then
local H = getElementData(killer, "EXP") or 0
local S = getElementData(killer, "LV") or 0
local killer1 = getPlayerName(killer)
local noob = getPlayerName(source)
local experience
if tonumber(S) <= 20 then
experience = 100
setPedStat (killer,69,200)
setPedStat (killer,70,200)
setPedStat (killer,71,200)
setPedStat (killer,72,200)
setPedStat (killer,73,200)
setPedStat (killer,74,200)
setPedStat (killer,75,200)
setPedStat (killer,76,200)
setPedStat (killer,77,200)
setPedStat (killer,78,200)
setPedStat (killer,79,200)
elseif tonumber(S) <= 40 then
experience = 80
setPedStat (killer,69,400)
setPedStat (killer,70,400)
setPedStat (killer,71,400)
setPedStat (killer,72,400)
setPedStat (killer,73,400)
setPedStat (killer,74,400)
setPedStat (killer,75,400)
setPedStat (killer,76,400)
setPedStat (killer,77,400)
setPedStat (killer,78,400)
setPedStat (killer,79,400)
elseif tonumber(S) <= 60 then
experience = 60
setPedStat (killer,69,600)
setPedStat (killer,70,600)
setPedStat (killer,71,600)
setPedStat (killer,72,600)
setPedStat (killer,73,600)
setPedStat (killer,74,600)
setPedStat (killer,75,600)
setPedStat (killer,76,600)
setPedStat (killer,77,600)
setPedStat (killer,78,600)
setPedStat (killer,79,600)
elseif tonumber(S) <= 80 then
experience = 40
setPedStat (killer,69,800)
setPedStat (killer,70,800)
setPedStat (killer,71,800)
setPedStat (killer,72,800)
setPedStat (killer,73,800)
setPedStat (killer,74,800)
setPedStat (killer,75,800)
setPedStat (killer,76,800)
setPedStat (killer,77,800)
setPedStat (killer,78,800)
setPedStat (killer,79,800)
elseif tonumber(S) <= 110 then
experience = 20
setPedStat (killer,69,1000)
setPedStat (killer,70,1000)
setPedStat (killer,71,1000)
setPedStat (killer,72,1000)
setPedStat (killer,73,1000)
setPedStat (killer,74,1000)
setPedStat (killer,75,1000)
setPedStat (killer,76,1000)
setPedStat (killer,77,1000)
setPedStat (killer,78,1000)
setPedStat (killer,79,1000)
end
if getElementData(killer, "EXP") >= 100 and getElementData(killer, "EXP") <=400 then
setElementData(killer, "LV", 1)
setElementData(killer, "experience.rank", "Private")
elseif (tonumber(H) >= 401 and tonumber(H) <=600) then
setElementData(killer, "LV", 2)
elseif (tonumber(H) >= 601 and tonumber(H) <=800) then
setElementData(killer, "LV", 3)
elseif (tonumber(H) >= 801 and tonumber(H) <=1000) then
setElementData(killer, "LV", 4)
setElementData(killer, "experience.rank", "Private First Class")
elseif (tonumber(H) >= 1001 and tonumber(H) <=1200) then
setElementData(killer, "LV", 5)
elseif (tonumber(H) >= 1201 and tonumber(H) <=1400) then
setElementData(killer, "LV", 6)
elseif (tonumber(H) >= 1401 and tonumber(H) <=1600) then
setElementData(killer, "LV", 7)
setElementData(killer, "experience.rank", "Specialist")
elseif (tonumber(H) >= 1601 and tonumber(H) <=1800) then
setElementData(killer, "LV", 8)
elseif (tonumber(H) >= 1801 and tonumber(H) <=2000) then
setElementData(killer, "LV", 9)
elseif (tonumber(H) >= 2001 and tonumber(H) <=2200) then
setElementData(killer, "LV", 10)
setElementData(killer, "experience.rank", "Corporal")
elseif (tonumber(H) >= 2201 and tonumber(H) <=2400) then
setElementData(killer, "LV", 11)
elseif (tonumber(H) >= 2401 and tonumber(H) <=2600) then
setElementData(killer, "LV", 12)
elseif (tonumber(H) >= 2601 and tonumber(H) <=2800) then
setElementData(killer, "LV", 13)
setElementData(killer, "experience.rank", "Sergeant")
elseif (tonumber(H) >= 2801 and tonumber(H) <=4000) then
setElementData(killer, "LV", 14)
elseif (tonumber(H) >= 4001 and tonumber(H) <=000) then
setElementData(killer, "LV", 15)
elseif (tonumber(H) >= 4201 and tonumber(H) <=4400) then
setElementData(killer, "LV", 16)
setElementData(killer, "experience.rank", "Staff Sergeant")
elseif (tonumber(H) >= 4401 and tonumber(H) <=4600) then
setElementData(killer, "LV", 17)
elseif (tonumber(H) >= 4601 and tonumber(H) <=4800) then
setElementData(killer, "LV", 18)
elseif (tonumber(H) >= 4801 and tonumber(H) <=4900) then
setElementData(killer, "LV", 19)
elseif (tonumber(H) >= 4901 and tonumber(H) <=7000) then
setElementData(killer, "LV", 20)
setElementData(killer, "experience.rank", "Sergeant First Class")
elseif (tonumber(H) >= 7001 and tonumber(H) <=9000) then
setElementData(killer, "LV", 21)
elseif (tonumber(H) >= 9001 and tonumber(H) <=10000) then
setElementData(killer, "LV", 22)
elseif (tonumber(H) >= 10001 and tonumber(H) <=12000) then
setElementData(killer, "LV", 23)
elseif (tonumber(H) >= 12001 and tonumber(H) <=13000) then
setElementData(killer, "LV", 24)
setElementData(killer, "experience.rank", "Master Sergeant")
elseif (tonumber(H) >= 13001 and tonumber(H) <=14000) then
setElementData(killer, "LV", 25)
elseif (tonumber(H) >= 14001 and tonumber(H) <=15000) then
setElementData(killer, "LV", 26)
elseif (tonumber(H) >= 15001 and tonumber(H) <=16000) then
setElementData(killer, "LV", 27)
elseif (tonumber(H) >= 16001 and tonumber(H) <=17000) then
setElementData(killer, "LV", 28)
setElementData(killer, "experience.rank", "First Sergeant")
elseif (tonumber(H) >= 17001 and tonumber(H) <=20000) then
setElementData(killer, "LV", 29)
elseif (tonumber(H) >= 20001 and tonumber(H) <=22000) then
setElementData(killer, "LV", 30)
elseif (tonumber(H) >= 22001 and tonumber(H) <=24000) then
setElementData(killer, "LV", 31)
elseif (tonumber(H) >= 24001 and tonumber(H) <=26000) then
setElementData(killer, "LV", 32)
setElementData(killer, "experience.rank", "Sergeant Major")
elseif (tonumber(H) >= 26001 and tonumber(H) <=28000) then
setElementData(killer, "LV", 33)
elseif (tonumber(H) >= 28001 and tonumber(H) <=30000) then
setElementData(killer, "LV", 34)
elseif (tonumber(H) >= 30001 and tonumber(H) <=32000) then
setElementData(killer, "LV", 35)
elseif (tonumber(H) >= 32001 and tonumber(H) <=34000) then
setElementData(killer, "LV", 36)
setElementData(killer, "experience.rank", "Command Sergeant Major")
elseif (tonumber(H) >= 34001 and tonumber(H) <=36000) then
setElementData(killer, "LV", 37)
elseif (tonumber(H) >= 36001 and tonumber(H) <=38000) then
setElementData(killer, "LV", 38)
elseif (tonumber(H) >= 38001 and tonumber(H) <=40000) then
setElementData(killer, "LV", 39)
elseif (tonumber(H) >= 40001 and tonumber(H) <=42000) then
setElementData(killer, "LV", 40)
setElementData(killer, "experience.rank", "2nd Lieutenant")
elseif (tonumber(H) >= 42001 and tonumber(H) <=44000) then
setElementData(killer, "LV", 41)
elseif (tonumber(H) >= 44001 and tonumber(H) <=46000) then
setElementData(killer, "LV", 42)
elseif (tonumber(H) >= 46001 and tonumber(H) <=48000) then
setElementData(killer, "LV", 43)
elseif (tonumber(H) >= 48001 and tonumber(H) <=50000) then
setElementData(killer, "LV", 44)
setElementData(killer, "experience.rank", "1st Lieutenant")
elseif (tonumber(H) >= 50001 and tonumber(H) <=52000) then
setElementData(killer, "LV", 45)
elseif (tonumber(H) >= 52001 and tonumber(H) <=54000) then
setElementData(killer, "LV", 46)
elseif (tonumber(H) >= 54001 and tonumber(H) <=56000) then
setElementData(killer, "LV", 47)
elseif (tonumber(H) >= 56001 and tonumber(H) <=58000) then
setElementData(killer, "LV", 48)
setElementData(killer, "experience.rank", "Captain")
elseif (tonumber(H) >= 58001 and tonumber(H) <=60000) then
setElementData(killer, "LV", 49)
elseif (tonumber(H) >= 60001 and tonumber(H) <=70000) then
setElementData(killer, "LV", 50)
elseif (tonumber(H) >= 70001 and tonumber(H) <=80000) then
setElementData(killer, "LV", 51)
elseif (tonumber(H) >= 80001 and tonumber(H) <=90000) then
setElementData(killer, "LV", 52)
setElementData(killer, "experience.rank", "Major")
elseif (tonumber(H) >= 90001 and tonumber(H) <=100000) then
setElementData(killer, "LV", 53)
elseif (tonumber(H) >= 100001 and tonumber(H) <=110000) then
setElementData(killer, "LV", 54)
elseif (tonumber(H) >= 110001 and tonumber(H) <=120000) then
setElementData(killer, "LV", 55)
elseif (tonumber(H) >= 120001 and tonumber(H) <=130000) then
setElementData(killer, "LV", 56)
setElementData(killer, "experience.rank", "Lieutenant Colonel")
elseif (tonumber(H) >= 130001 and tonumber(H) <=140000) then
setElementData(killer, "LV", 57)
elseif (tonumber(H) >= 140001 and tonumber(H) <=150000) then
setElementData(killer, "LV", 58)
elseif (tonumber(H) >= 150001 and tonumber(H) <=160000) then
setElementData(killer, "LV", 59)
elseif (tonumber(H) >= 160001 and tonumber(H) <=170000) then
setElementData(killer, "LV", 60)
setElementData(killer, "experience.rank", "Colonel")
elseif (tonumber(H) >= 170001 and tonumber(H) <=180000) then
setElementData(killer, "LV", 61)
elseif (tonumber(H) >= 180001 and tonumber(H) <=190000) then
setElementData(killer, "LV", 62)
elseif (tonumber(H) >= 190001 and tonumber(H) <=200000) then
setElementData(killer, "LV", 63)
elseif (tonumber(H) >= 200001 and tonumber(H) <=210000) then
setElementData(killer, "LV", 64)
setElementData(killer, "experience.rank", "Brigadier General")
elseif (tonumber(H) >= 210001 and tonumber(H) <=220000) then
setElementData(killer, "LV", 65)
elseif (tonumber(H) >= 220001 and tonumber(H) <=230000) then
setElementData(killer, "LV", 66)
elseif (tonumber(H) >= 230001 and tonumber(H) <=240000) then
setElementData(killer, "LV", 67)
elseif (tonumber(H) >= 240001 and tonumber(H) <=250000) then
setElementData(killer, "LV", 68)
setElementData(killer, "experience.rank", "Major General")
elseif (tonumber(H) >= 250001 and tonumber(H) <=260000) then
setElementData(killer, "LV", 69)
elseif (tonumber(H) >= 260001 and tonumber(H) <=270000) then
setElementData(killer, "LV", 70)
elseif (tonumber(H) >= 270001 and tonumber(H) <=280000) then
setElementData(killer, "LV", 71)
elseif (tonumber(H) >= 280001 and tonumber(H) <=290000) then
setElementData(killer, "LV", 72)
setElementData(killer, "experience.rank", "Lieutenant General")
elseif (tonumber(H) >= 290001 and tonumber(H) <=300000) then
setElementData(killer, "LV", 73)
elseif (tonumber(H) >= 300001 and tonumber(H) <=310000) then
setElementData(killer, "LV", 74)
elseif (tonumber(H) >= 310001 and tonumber(H) <=320000) then
setElementData(killer, "LV", 75)
elseif (tonumber(H) >= 320001 and tonumber(H) <=330000) then
setElementData(killer, "LV", 76)
setElementData(killer, "experience.rank", "General")
elseif (tonumber(H) >= 330001 and tonumber(H) <=340000) then
setElementData(killer, "LV", 77)
elseif (tonumber(H) >= 340001 and tonumber(H) <=350000) then
setElementData(killer, "LV", 78)
elseif (tonumber(H) >= 350001 and tonumber(H) <=360000) then
setElementData(killer, "LV", 79)
elseif (tonumber(H) >= 360001 and tonumber(H) <=370000) then
setElementData(killer, "LV", 80)
setElementData(killer, "experience.rank", "Commander")
elseif (tonumber(H) >= 290001 and tonumber(H) <=380000) then
setElementData(killer, "LV", 81)
elseif (tonumber(H) >= 300001 and tonumber(H) <=390000) then
setElementData(killer, "LV", 82)
elseif (tonumber(H) >= 310001 and tonumber(H) <=400000) then
setElementData(killer, "LV", 83)
elseif (tonumber(H) >= 320001 and tonumber(H) <=410000) then
setElementData(killer, "LV", 84)
setElementData(killer, "experience.rank", "Prestige 6")
elseif (tonumber(H) >= 330001 and tonumber(H) <=420000) then
setElementData(killer, "LV", 85)
elseif (tonumber(H) >= 340001 and tonumber(H) <=430000) then
setElementData(killer, "LV", 86)
setElementData(killer, "experience.rank", "Prestige 9")
elseif (tonumber(H) >= 350001 and tonumber(H) <=440000) then
setElementData(killer, "LV", 87)
elseif (tonumber(H) >= 360001 and tonumber(H) <=450000) then
setElementData(killer, "LV", 88)
elseif (tonumber(H) >= 290001 and tonumber(H) <=460000) then
setElementData(killer, "LV", 89)
elseif (tonumber(H) >= 300001 and tonumber(H) <=470000) then
setElementData(killer, "LV", 90)
setElementData(killer, "experience.rank", "Prestige 10")
elseif (tonumber(H) >= 310001 and tonumber(H) <=480000) then
setElementData(killer, "LV", 91)
elseif (tonumber(H) >= 320001 and tonumber(H) <=490000) then
setElementData(killer, "LV", 92)
elseif (tonumber(H) >= 330001 and tonumber(H) <=510000) then
setElementData(killer, "LV", 93)
elseif (tonumber(H) >= 340001 and tonumber(H) <=520000) then
setElementData(killer, "LV", 94)
setElementData(killer, "experience.rank", "Prestige 4")
elseif (tonumber(H) >= 350001 and tonumber(H) <=530000) then
setElementData(killer, "LV", 95)
elseif (tonumber(H) >= 300001 and tonumber(H) <=540000) then
setElementData(killer, "LV", 96)
setElementData(killer, "experience.rank", "Prestige 3")
elseif (tonumber(H) >= 300001 and tonumber(H) <=550000) then
setElementData(killer, "LV", 97)
elseif (tonumber(H) >= 310001 and tonumber(H) <=560000) then
setElementData(killer, "LV", 98)
elseif (tonumber(H) >= 320001 and tonumber(H) <=570000) then
setElementData(killer, "LV", 99)
elseif (tonumber(H) >= 330001 and tonumber(H) <=580000) then
setElementData(killer, "LV", 100)
setElementData(killer, "experience.rank", "Prestige 11")
elseif (tonumber(H) >= 340001 and tonumber(H) <=590000) then
setElementData(killer, "LV", 101)
setElementData(killer, "experience.rank", "Prestige 9")
elseif (tonumber(H) >= 350001 and tonumber(H) <=600000) then
setElementData(killer, "LV", 102)
elseif (tonumber(H) >= 360001 and tonumber(H) <=610000) then
setElementData(killer, "LV", 103)
elseif (tonumber(H) >= 360001 and tonumber(H) <=620000) then
setElementData(killer, "LV", 104)
elseif (tonumber(H) >= 250001 and tonumber(H) <=630000) then
setElementData(killer, "LV", 105)
setElementData(killer, "experience.rank", "Prestige 7")
end
end
end
addEventHandler( "onPlayerWasted", getRootElement(), win)
function onLogin (_,account)
setElementData(source, "LV", getAccountData(account, "LV") or "0")
setElementData(source, "EXP", getAccountData(account, "EEXP") or "0")
setElementData(source, "player.key", getAccountData(account, "player.key") or "Guest")
setElementData(source, "experience.rank", getAccountData(account, "experience.rank") or "Guest")
end
addEventHandler ("onPlayerLogin", root, onLogin)
function onLogout (_,account)
setElementData(source, "LV", 0)
setElementData(source, "EXP", 0)
setElementData(source, "experience.rank", "Newbie")
setElementData(source, "player.key", "Guest")
end
addEventHandler ("onPlayerLogout", root, onLogout)
function saveData(thePlayer, theAccount)
local theAccount = getPlayerAccount(source)
if (theAccount and not isGuestAccount(theAccount)) then
setAccountData (theAccount, "LV", getElementData(thePlayer, "LV"))
setAccountData (theAccount, "EEXP", getElementData(thePlayer, "EXP"))
setAccountData (theAccount, "experience.rank", getElementData(thePlayer, "experience.rank"))
setAccountData (theAccount, "player.key", getElementData(thePlayer, "player.key"))
end
end
addEventHandler ("onPlayerQuit", root, function () saveData(source, getPlayerAccount(source)) end)
addEventHandler ("onPlayerLogout", root, function () saveData(source, getPlayerAccount(source)) end)
function getPlayerFromParticalName(thePlayerName)
local thePlayer = getPlayerFromName(thePlayerName)
if thePlayer then
return thePlayer
end
for _,thePlayer in ipairs(getElementsByType("player")) do
if string.find(string.gsub(getPlayerName(thePlayer):lower(),"#%x%x%x%x%x%x", ""), thePlayerName:lower(), 1, true) then
return thePlayer
end
end
return false
end
function outputChange(dataName,oldValue)
if getElementType(source) == "player" and dataName == "experience.rank" and oldValue then
local newValue = getElementData(source,dataName)
outputChatBox("Congratulations your rank now is #FFFFFF'"..tostring(newValue).."'",source, 255, 0, 0, true)
triggerClientEvent(source, "onClientRankUp", source)
end
end
addEventHandler("onElementDataChange",getRootElement(),outputChange)
addEventHandler("onPlayerLogin", root,
function(_, account)
if not getAccountData(account, "player.key") then
setElementData(source, "player.key", getAccountName(account))
setAccountData(account, "player.key", getElementData(source, "player.key"))
else
end
end)
function getPlayerFromParticalName(thePlayerName)
local thePlayer = getPlayerFromName(thePlayerName)
if thePlayer then
return thePlayer
end
for _,thePlayer in ipairs(getElementsByType("player")) do
if string.find(string.gsub(getPlayerName(thePlayer):lower(),"#%x%x%x%x%x%x", ""), thePlayerName:lower(), 1, true) then
return thePlayer
end
end
return false
end
addCommandHandler ( "setxp",
function ( thePlayer, _, who, EXP )
if getElementData(thePlayer, "player.key") == "Rufus" then
if ( who ) then
local EXP = tonumber (EXP) or 0
local ThePlayer = getPlayerFromParticalName ( who )
if ( ThePlayer ) then
setElementData( ThePlayer,"EXP",EXP )
outputChatBox("Your XP has been set to #FFFFFF'"..EXP.."'", ThePlayer, 255, 0, 0, true)
else
outputChatBox("Couldn't find '"..who.."'", thePlayer, 255, 0, 0, true)
end
else
outputChatBox("Couldn't find '"..who.."'", thePlayer, 255, 0, 0, true)
end
end
end
)
addEvent("addToTeam", true)
addEventHandler("addToTeam", root,
function (playername, teamname)
local player = getPlayerFromName(playername or "")
local team = getTeamFromName(teamname or "")
if player and team then
local r, g, b = getTeamColor ( team )
setPlayerTeam(player, team)
setPlayerNametagColor ( player, r, g, b )
outputChatBox("You've been added to #FFFFFF"..getTeamName(team).."#006400", player, 255, 0, 0, true)
end
end)
addEvent("kickFromTeam", true)
addEventHandler("kickFromTeam", root,
function (playername, teamname)
local player = getPlayerFromName(playername or "")
local team = getTeamFromName(teamname or "")
if player and team then
local red, green, blue = math.random (50, 255), math.random (50, 255), math.random (50, 255)
setPlayerTeam(player, nil)
setPlayerNametagColor(player, red, green, blue)
outputChatBox("You've been kicked from #FFFFFF"..getTeamName(team).."#FF0000.", player, 255, 0, 0, true)
end
end)
addEvent("promotePlayer",true)
addEventHandler("promotePlayer",root,
function(playername, rank)
local player = getPlayerFromName(playername or "")
if player then
if rank then
setElementData(player, "clan.rank", rank)
outputChatBox("You Have Been promoted To A #FFFFFF"..tostring(rank), player, 255, 0, 0, true)
end
end
end)
addEvent("DemotePlayer",true)
addEventHandler("DemotePlayer",root,
function(playername, rank)
local player = getPlayerFromName(playername or "")
if player then
if rank then
setElementData(player, "clan.rank", rank)
outputChatBox("You Have Been Demoted To A #FFFFFF"..tostring(rank), player, 255, 0, 0, true)
end
end
end)
function loopFix( thePlayer, _, who, lossp )
if getElementData(thePlayer, "player.key") == "Rufus" then
if ( who ) then
local LossC = tonumber (lossp) or 0
local ThePlayer = getPlayerFromParticalName ( who )
if ( ThePlayer ) then
setElementData( ThePlayer,"EXP",LossC )
setElementData( ThePlayer,"LV",LossC )
end
end
end
end
addCommandHandler ( "fixbug", loopFix)
function getPlayerFromParticalName(thePlayerName)
local thePlayer = getPlayerFromName(thePlayerName)
if thePlayer then
return thePlayer
end
for _,thePlayer in ipairs(getElementsByType("player")) do
if string.find(string.gsub(getPlayerName(thePlayer):lower(),"#%x%x%x%x%x%x", ""), thePlayerName:lower(), 1, true) then
return thePlayer
end
end
return false
end
exports.scoreboard:addScoreboardColumn("Level",getRootElement(),1,40,'Level')
function scoreLevel ()
local account = getPlayerAccount(source)
local Level = getElementData(source,"Level") or 0
if isGuestAccount ( account ) then
setElementData(source, "Level",":Experience/Emblems/Guest.png")
else
setElementData(source, "Level", ":Experience/Emblems/"..tostring(Level)..".png" )
end
end
addEventHandler("onPlayerSpawn", getRootElement(), scoreLevel)
addEventHandler("onResourceStart",getResourceRootElement(getThisResource()),function()
call(getResourceFromName("scoreboard"),"addScoreboardColumn","Level", getRootElement(), 1, 40)
end
)