Jump to content

Sistema de Rangos y Level's


Sergioks

Recommended Posts

Buenas. Tengo un problema. y es el siguiente. Hice un sistema de Rangos y Niveles por numero de kills de zombies. y, cuando lo ejecuto, no me sale ningun problema. Pero cuando mato a un Zombie, me aparece esto:

ZInfo\ZInfo_server.lua:51: attempt to compare number with boolean

Linea afectada:

function setAccountRank(killer) 
    local account = getPlayerAccount(killer) 
    local zombiekills = getAccountData(account,"Zombie kills") 
  
if (zombiekills >= 0) and (zombiekills <= 9) then --- Linea del Problema 
setAccountData ( account, "Rango", "Nuevo Miembro" ) 
setAccountData ( account, "Level", "1" ) 
end 
end 

cual es el problema aka? :?

- Gracias de Antemano.

Link to comment
Yo diria que el problema es que "zombiekills" es un boolean, muy probablemente "nil", lo que quiere decir es que no tiene ningun dato guardado.

como asi? entonces el problema esta cuando le da el kill en el scoreboard y accountdata? osea... aqui?

addEvent("onZombieWasted",true) 
addEventHandler("onZombieWasted",root, 
function (killer) 
    givePlayerMoney(killer,50) 
    addPlayerZombieKills(killer) 
    setAccountRank(killer) 
    setScoreBoardRank(killer) 
end) 
  
  
function addPlayerZombieKills(killer) 
    local account = getPlayerAccount(killer) 
    if isGuestAccount(account) then return end 
    local zombieKills = getAccountData(account,"Zombie Kills") 
    if not zombieKills then  --- CITA~#1 
    setAccountData(account,"Zombie Kills", 0) 
    end 
    --- 
    setAccountData(account,"Zombie Kills",tonumber(zombieKills)+1) 
end 

CITA#1: entonces alli debo de colocar algo como asi?:

if zombieKills == nil then 

o como ?

Link to comment
Account data y element data son dos cosas diferentes.

si, lo se. Debi haber incluido esto xD

function setScoreBoardRank(killer) 
    local cuenta = getPlayerAccount(killer) 
    if isGuestAccount(cuenta) then return end 
    local rango = getAccountData(cuenta,"Rango") 
    local level = getAccountData(cuenta,"Level") 
    if rango and level then 
        setElementData(killer,"Rango", rango) 
        setElementData(killer,"Level", level) 
end 
end 

Link to comment
  • Recently Browsing   0 members

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