Jump to content

error need help


Recommended Posts

in this script i got error about a nil value..but i don't understand the problem..so may someone fix it and tell me what was the problem? Thanks.

Server:

function CheckLevelFromExp(dataName) 
    if (source and getElementType(source) == "player" and dataName == "experience") then 
        local SourceLevel = tonumber( getElementData(source,"level") ) 
        local SourceExp = tonumber( getElementData(source,"experience") ) 
        local NewLvl = SourceLevel +1 
        if ( levels[SourceLevel] ) then 
            if ( levels[NewLvl]) then 
                local RequiredExp = tonumber( levels[SourceLevel]["experienceRequired"] ) 
                if ( SourceExp >= RequiredExp ) then 
                    setElementData(source,"experience_n", tonumber(levels[NewLvl]["experienceRequired"])) 
                    setElementData(source,"level",NewLvl) 
                    setTimer(setElementData, 50, 1, source,"experience",0) 
                    givePlayerMoney(source,tonumber(levels[NewLvl].moneyReward)) 
                    triggerClientEvent ( source, "LevelUpEffect", source ) 
                    outputChatBox("*LEVEL UP* You're now level ".. tostring(NewLvl) .."! Congratulations.",source,0,255,0) 
                end 
            end 
        end 
    end 
end 
addEventHandler("onElementDataChange",root,CheckLevelFromExp) 

Error:

:84: attempt to perform arithemtic on local 'SourceLevel (a nil value) 

84: is:

        local NewLvl = SourceLevel +1 

Link to comment
Are you using a Math Function?

Yeah here.

function OnZombieKill (killer) 
    if (killer and killer ~= source) then 
        if getPlayerAccount(killer) then 
            local experience = tonumber(getElementData(killer,"experience")) 
            local SourceLevel = getElementData(killer,"level") 
            if ( not SourceLevel ) then  
                SourceLevel = 1  
                setElementData(killer,"level",1)  
            end 
            if ( levels[SourceLevel +1] ) then 
                local randomExperience = math.random(unpack(ExpRewardForKill)) 
                if (experience) then 
                    setElementData(killer,"experience",experience+tonumber(randomExperience)) 
                else 
                    setElementData(killer,"experience",randomExperience) 
                end 
            else 
                setElementData(killer,"experience",tonumber(levels[SourceLevel]["experienceRequired"])) 
            end 
        end 
    end 
end 
addEvent("onZombieWasted",true) 
addEventHandler ("onZombieWasted", root, OnZombieKill) 
  

                local randomExperience = math.random(unpack(ExpRewardForKill)) 

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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