yoya99 Posted October 25, 2014 Posted October 25, 2014 hey guys...this is my Level system and i wanted to ask you how to make something behind the dxdrawText XP: how much xp you need to reach the next level....something like XP: 0/100 (0%) or something? here is my exp system: function win(ammo, killer, weapon, bodypart) if (killer and getElementType(killer) == "player" and killer ~= source) then local H = getElementData(killer, "XP") or 5 local S = getElementData(killer, "Level") local killer1 = getPlayerName(killer) local noob = getPlayerName(source) local X = 1 setElementData(killer, "XP", tonumber(H)+X) local H = tonumber(H) + X if tonumber(H) == 2 then setElementData(killer, "Level", "1") elseif tonumber(H) == 5 then setElementData(killer, "Level", "2") elseif tonumber(H) == 10 then setElementData(killer, "Level", "3") elseif tonumber(H) == 15 then setElementData(killer, "Level", "4") elseif tonumber(H) == 25 then setElementData(killer, "Level", "5") elseif tonumber(H) == 30 then setElementData(killer, "Level", "6") elseif tonumber(H) == 45 then setElementData(killer, "Level", "7") elseif tonumber(H) == 55 then setElementData(killer, "Level", "8") elseif tonumber(H) == 65 then setElementData(killer, "Level", "9") elseif tonumber(H) == 70 then setElementData(killer, "Level", "10") elseif tonumber(H) == 75 then setElementData(killer, "Level", "11") elseif tonumber(H) == 85 then setElementData(killer, "Level", "12") elseif tonumber(H) == 100 then setElementData(killer, "Level", "13") elseif tonumber(H) == 115 then setElementData(killer, "Level", "14") elseif tonumber(H) == 130 then setElementData(killer, "Level", "15") elseif tonumber(H) == 145 then setElementData(killer, "Level", "16") elseif tonumber(H) == 155 then setElementData(killer, "Level", "17") elseif tonumber(H) == 160 then setElementData(killer, "Level", "18") elseif tonumber(H) == 170 then setElementData(killer, "Level", "19") elseif tonumber(H) == 180 then setElementData(killer, "Level", "20") elseif tonumber(H) == 200 then setElementData(killer, "Level", "21") elseif tonumber(H) == 250 then setElementData(killer, "Level", "22") elseif tonumber(H) == 300 then setElementData(killer, "Level", "23") elseif tonumber(H) == 400 then setElementData(killer, "Level", "24") elseif tonumber(H) == 450 then setElementData(killer, "Level", "25") elseif tonumber(H) == 600 then setElementData(killer, "Level", "26") elseif tonumber(H) == 650 then setElementData(killer, "Level", "27") elseif tonumber(H) == 750 then setElementData(killer, "Level", "28") elseif tonumber(H) == 830 then setElementData(killer, "Level", "29") elseif tonumber(H) == 900 then setElementData(killer, "Level", "30") elseif tonumber(H) == 970 then setElementData(killer, "Level", "31") elseif tonumber(H) == 10600 then setElementData(killer, "Level", "32") elseif tonumber(H) == 11111 then setElementData(killer, "Level", "33") elseif tonumber(H) == 20000 then setElementData(killer, "Level", "34") elseif tonumber(H) == 20500 then setElementData(killer, "Level", "35") elseif tonumber(H) == 40600 then setElementData(killer, "Level", "36") elseif tonumber(H) == 50000 then setElementData(killer, "Level", "37") elseif tonumber(H) == 51000 then setElementData(killer, "Level", "38") end end end addEventHandler( "onPlayerWasted", getRootElement(), win) function onLogin (_,account) setElementData(source, "Level", getAccountData(account, "LV") or "0") setElementData(source, "XP", getAccountData(account, "EXP") or "0") end addEventHandler ("onPlayerLogin", root, onLogin) function saveData(thePlayer, theAccount) local theAccount = getPlayerAccount(source) if (theAccount and not isGuestAccount(theAccount)) then setAccountData (theAccount, "LV", getElementData(thePlayer, "Level")) setAccountData (theAccount, "EXP", getElementData(thePlayer, "XP")) end end addEventHandler ("onPlayerQuit", root, function () saveData(source, getPlayerAccount(source)) end) addEventHandler ("onPlayerLogout", root, function (prev) saveData(source, prev) end) and here is my dxhud: if XP then dxDrawText("XP: "..XP, (336/1024)*sWidth, (745/768)*sHeight, (289/1024)*sWidth, (250/768)*sHeight, tocolor (255, 255, 255, 255), (0.85/1366)*sWidth,(0.9/768)*sHeight,"bankgothic","left","top",false,false,false,true) end if Level then dxDrawText("LV: "..Level, (466/1024)*sWidth, (745/768)*sHeight, (289/1024)*sWidth, (250/768)*sHeight, tocolor (255, 255, 255, 255), (0.85/1366)*sWidth,(0.9/768)*sHeight,"bankgothic","left","top",false,false,false,true) end Thank you much in advance
Saml1er Posted October 25, 2014 Posted October 25, 2014 local exp = { -- level = exp [1] = 4, [2] = 5, [3] = 6 -- add more if you want } local lv = exp[(getElementData(localPlayer, "Level") or 0)+1] local lv =(( getElementData(localPlayer, "XP") or 5)/lv)*100 dxDrawText(lv.."%" (336/1024)*sWidth, (745/768)*sHeight, (289/1024)*sWidth, (250/768)*sHeight, tocolor (255, 255, 255, 255), (0.85/1366)*sWidth,(0.9/768)*sHeight,"bankgothic","left","top",false,false,false,true)
yoya99 Posted October 25, 2014 Author Posted October 25, 2014 you think its that what i mean? because lvl 1 is maybe /200 lvl2 is /400 lvl 3 is /1200 and so on and in brackets behind the % of XP example : i have LV:1 XP:100/200 (50%) is it posible like that?
Saml1er Posted October 26, 2014 Posted October 26, 2014 you think its that what i mean? because lvl 1 is maybe /200lvl2 is /400 lvl 3 is /1200 and so on and in brackets behind the % of XP example : i have LV:1 XP:100/200 (50%) is it posible like that? You can modify the table. You can modify the table and most importantly test it. local exp = { -- level = exp [1] = 200, [2] = 400, [3] = 1200 -- add more if you want }
crismar Posted October 26, 2014 Posted October 26, 2014 EXPECTED ) near ( So add it, we're not paid scripters. Learn to do something by yourself too.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now