Jump to content

EXP Resource help


Bean666

Recommended Posts

help me guys , its all working fine when i reach Level 5 , but when i added Level 6 or above , once i reach level 5 , and i had the experienced requirements to lvl 6 , it doesnt rank up anymore. i use exp_system of castillo.

Exp Script:

local rootElement = getRootElement() 
levels = {} 
levels[1] = {"Level 1", "100"} 
levels[2] = {"Level 2", "200"} 
levels[3] = {"Level 3", "300"} 
levels[4] = {"Level 4", "500"} 
levels[5] = {"Level 5", "1000"} 
levels[6] = {"Level 6", "2000"} 
  
function ResourceStart () 
executeSQLCreateTable("levels", "accountname STRING, level INT") 
end 
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), ResourceStart) 
  
function addPlayer() 
local account = getPlayerAccount(source) 
local playername = getPlayerName(source) 
CheckPlayer = executeSQLSelect ( "levels", "accountname", "accountname = '" .. getAccountName(account) .. "'" ) 
if ( type( CheckPlayer ) == "table" and #CheckPlayer == 0 ) or not CheckPlayer then 
executeSQLInsert ( "levels", "'".. getAccountName(account) .."','0'" ) 
    end 
end 
addEventHandler("onPlayerLogin",rootElement,addPlayer) 
  
addEventHandler( "onElementDataChange", rootElement, 
function () 
if getElementType(source) == "player" then 
    local acc = getPlayerAccount(source) 
    local accountname = getAccountName(acc) 
    local playername = getPlayerName(source) 
    local data = getElementData(source,"exp") 
    local sqldata = executeSQLSelect ( "levels", "level","accountname = '" .. accountname .. "'") 
    lvl = sqldata[1]["level"] 
    if tostring(data) == tostring(levels[lvl][2]) then 
    outputChatBox("*Level system: congratulations ".. playername .." you're now a ".. levels[lvl][1] .."!",getRootElement(),0,255,0) 
    local textDis = textCreateDisplay () 
    local item = textCreateTextItem( "LEVEL UP! YOU'RE NOW LEVEL ".. tostring(sqldata[1]["level"]), 0.5, 0.4, 2, 0, 255, 0, 255, 4, "center", "center" ) 
    textDisplayAddText ( textDis, item ) 
    textDisplayAddObserver ( textDis, source ) 
    setTimer ( textDestroyTextItem, 5000, 1, item ) 
    setTimer ( textDestroyDisplay, 5000, 1, textDis ) 
    sql = tonumber(sqldata[1]["level"]) + 1 
    executeSQLUpdate("levels", "level = '".. sql .."'", "accountname = '".. accountname .."'")  
       end 
    end 
end) 
  
    function rewardOnWasted ( killer ) 
    local exp = getElementData(killer,"exp") 
    if exp then 
    setElementData(killer,"exp",tonumber(getElementData(killer,"exp"))+25) 
    outputChatBox("Experience gained +25! total ".. tonumber(exp)+25,killer,0,255,0) 
    else 
    setElementData(killer,"exp",25) 
       end 
    end 
    addEvent("onZombieWasted",true) 
    addEventHandler ( "onZombieWasted", getRootElement(), rewardOnWasted ) 

Levels.xml in exp_system of castillo

<levels> 
    <level name = "Level 1" experienceRequired = "100" /> 
    <level name = "Level 2" experienceRequired = "200" /> 
    <level name = "Level 3" experienceRequired = "300" /> 
    <level name = "Level 4" experienceRequired = "500" /> 
    <level name = "Level 5" experienceRequired = "1000" /> 
    <level name = "Level 6" experienceRequired = "2000" /> 
</levels> 

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...