Jump to content

[HELP] Attempt to compare number with nil


carlos1408

Recommended Posts

  local trfClanDATA = { 
    "clan",
    "clankurucu",
    "clanyetkili",
    "davetengelle",
    "clandavet",
    "firstTimeJoin",
  }
 
 
 
  ClanParaAlc = 250000
  ClanParaYazilis = "250.000"
 
function TRFLogin2()
    local account = getPlayerAccount(source)
    if not (isGuestAccount(account)) then
            local firstTime = tonumber(getAccountData(account,"firstTimeJoin"))
        if firstTime == 0 then
            setAccountData(account,"nick",getPlayerName(source))
            setAccountData(account,"firstTimeJoin",1)
            else
                        local nick = getAccountData(account,"nick")
            if nick == getPlayerName(source) then
            else
                setAccountData(account,"nick",getPlayerName(source))
            end
                    end
 
    end
end
addEventHandler("onPlayerLogin",getRootElement(), TRFLogin2)
 
function TRFNick()
    if not (isGuestAccount(getPlayerAccount(source))) then
        setAccountData(getPlayerAccount(source),"nick",newNick)
    end
end
addEventHandler ( "onPlayerChangeNick", getRootElement(), TRFNick )
 
function Trf_ClanSystem()
    local account = getPlayerAccount(source)
    if not (isGuestAccount(account)) then
        for i, data in ipairs(trfClanDATA) do
            if not (getAccountData(account, data)) then
                setAccountData(account, data, "0")
            end
        end
    end
 
end
 
 
addEventHandler("onPlayerLogin", root, Trf_ClanSystem)
 
function Trf_ClanSystem2()
        for _,z in ipairs(getElementsByType("player")) do
    local account = getPlayerAccount(z)
    if not (isGuestAccount(account)) then
        for i, data in ipairs(trfClanDATA) do
            if not (getAccountData(account, data)) then
                setAccountData(account, data, "0")
 
            end
        end
    end
end
end
 
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), Trf_ClanSystem2)
 
clans = {}
function setPlayerAccountData(data,datavalue)
    local acc = getPlayerAccount(source)
    setAccountData(acc,tostring(data),tostring(datavalue))
end
addEvent("setPlayerAccountData",true)
addEventHandler("setPlayerAccountData",getRootElement(),setPlayerAccountData)
--
function clanIslem()
    local acc = getPlayerAccount(source)
    if isGuestAccount(acc) then
        --triggerClientEvent(source,"oyuncuKontrolEdildi",source,"0")
        outputChatBox("Giris yapmadan panele giremezsiniz.",source,255,0,0,true)
    else
        setElementData(source,"clanpanel","true")
        if getAccountData(acc,"clan") == "0" and getAccountData(acc,"clandavet")=="0" then
            triggerClientEvent(source,"clanYok",source,tonumber(getAccountData(acc,"davetengelle")))
        elseif getAccountData(acc,"clandavet")~="0" then
            local acc = getPlayerAccount(source)
            local tag = getAccountData(acc,"clandavet")
            local clan = {}
            for _,v in ipairs(clans) do
                if v.tag == tag then
                    clan = v
                    break
                end
            end
            triggerClientEvent(source,"davetGeldi",source,clan.isim)
        else
            local clan = {}
            for _,v in ipairs(clans) do
                if v.tag == getAccountData(acc,"clan") then
                    clan = v
                    break
                end
            end
            local isim = clan.isim
            local tag = clan.tag
            local r,g,b = clan.r,clan.g,clan.b
            local kurucu = getAccountData(acc,"clankurucu")
            local yetkili = getAccountData(acc,"clanyetkili")
            local uyeler = {}
            local p
            for _,v in ipairs(getAccounts()) do
                if getAccountData(v,"clan") == tag then
                    p = getAccountPlayer(v)
                    if p then
                        table.insert(uyeler,{["player"]=p,["kurucu"]=getAccountData(v,"clankurucu"),["yetkili"]=getAccountData(v,"clanyetkili"),["durum"]="1"})
                    else
                        table.insert(uyeler,{["player"]=getAccountData(v,"nick"),["kurucu"]=getAccountData(v,"clankurucu"),["yetkili"]=getAccountData(v,"clanyetkili"),["durum"]="0"})
                    end
                end
            end
            triggerClientEvent(source,"clanPanelAc",source,isim,tag,r,g,b,kurucu,yetkili,uyeler)
        end
    end
end
addEvent("clanIslem",true)
addEventHandler("clanIslem",getRootElement(),clanIslem)
--
function refreshClans()
    if #clans>0 then
        for _,v in ipairs(clans) do
            destroyElement(v.team)
        end
    end
    clans = {}
    local xmlClan = xmlLoadFile("clans.xml")
    local c = 0
    local child
    local tag,isim,r,g,b,team
    while xmlFindChild(xmlClan,"clan",c) do
        child = xmlFindChild(xmlClan,"clan",c)
        tag = xmlNodeGetAttribute(child,"tag")
        isim = xmlNodeGetAttribute(child,"isim")
        r = xmlNodeGetAttribute(child,"r")
        g = xmlNodeGetAttribute(child,"g")
        b = xmlNodeGetAttribute(child,"b")
        team = createTeam(tostring(isim),tonumber(r),tonumber(g),tonumber(b))
        table.insert ( clans,{["tag"]=tostring(tag),["isim"]=tostring(isim),["r"]=tonumber(r),["g"]=tonumber(g),["b"]=tonumber(b),["team"]=team})
        c=c+1
    end
    local acc
    for _,v in ipairs(clans) do
        for _,player in ipairs(getElementsByType("player")) do
            acc = getPlayerAccount(player)
            if not isGuestAccount(acc) then
                if getAccountData(acc,"clan") == v.tag then
                    setPlayerTeam(player,v.team)
                end
            end
        end
    end
    local count=0
    for _,v in ipairs(clans) do
        count=0
        for _,z in ipairs(getElementsByType("player")) do
            if not isGuestAccount(getPlayerAccount(z))  then
                if tostring(getAccountData(getPlayerAccount(z),"clan")) == tostring(v.tag) then
                    count=1
                    break
                end
            end
        end
        if count ~= 1 then
            destroyElement(v.team)
        end
        count=0
    end
end
--
function clanlariKapat()
    local count=0
    for _,v in ipairs(clans) do
        count=0
        for _,z in ipairs(getElementsByType("player")) do
            if not isGuestAccount(getPlayerAccount(z))  then
                if tostring(getAccountData(getPlayerAccount(z),"clan")) == tostring(v.tag) then
                    count=1
                    break
                end
            end
        end
    end
end
--
function onResourceStart(res)
    refreshClans()
    clansTimer = setTimer(clanlariKapat,1000,0)
end
addEventHandler("onResourceStart",getResourceRootElement(getThisResource()),onResourceStart)
--
function resourceStop()
    killTimer(clansTimer)
end
addEventHandler("onResourceStop",getResourceRootElement(getThisResource()),resourceStop)
--
function clanKur(isim,tag,renk,r,g,b)
    local acc = getPlayerAccount(source)
    local cash = tonumber(getAccountData(acc,"cash"))
    local clan = getAccountData(acc,"clan")
if clan ~= "0" then
        outputChatBox("Clandan ayrilmadan clan kuramazsiniz.",source,255,0,0,true)
    else
        local ic = 0
        local tc = 0
        for _,v in ipairs(clans) do
            if tostring(v.isim) == tostring(isim) then
                ic=1
            end
 
            if tostring(v.tag) == tostring(tag) then
                tc=1
            end
        end
 
        if ic == 1 then
            outputChatBox("Böyle bir clan ismi kullanilmakta.",source,255,0,0,true)
        elseif tc==1 then
            outputChatBox("Böyle bir clan tagi kullanilmakta.",source,255,0,0,true)
        else
         if cash >= ClanParaAlc then
            local xml = xmlLoadFile("clans.xml")
            local node = xmlCreateChild(xml,"clan")
            xmlNodeSetAttribute(node,"isim",isim)
            xmlNodeSetAttribute(node,"tag",tag)
            xmlNodeSetAttribute(node,"r",r)
            xmlNodeSetAttribute(node,"g",g)
            xmlNodeSetAttribute(node,"b",b)
            xmlNodeSetAttribute(node,"color",renk)
            setAccountData(acc, "cash", cash-ClanParaAlc)
            setAccountData(acc,"clan",tag)
            setAccountData(acc,"clankurucu","1")
            setAccountData(acc,"clanyetkili","1")
            xmlSaveFile(xml)
            outputChatBox("#ffffff"..getPlayerName(source).." #33ccffadli oyuncu #ffffff"..tag.." "..isim.." #33ccffclanini kurdu.",getRootElement(),0,255,0,true)
            triggerClientEvent(source,"clanKapat",source)
            local team = createTeam(tostring(isim),tonumber(r),tonumber(g),tonumber(b))
            table.insert ( clans,{["tag"]=tostring(tag),["isim"]=tostring(isim),["r"]=tonumber(r),["g"]=tonumber(g),["b"]=tonumber(b),["team"]=team})
           
Link to comment
cash is probably nil here, make sure to check for its value before comparing it.
local cash = tonumber(getAccountData(acc,"cash")) or 0 

Showldn't be like this?

local cash = tonumber(getAccountData(acc,"cash") or 0); 

Just asking.

Edit: Just me being stupid :)

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...