Sergioks Posted June 25, 2014 Posted June 25, 2014 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.
Castillo Posted June 25, 2014 Posted June 25, 2014 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.
Sergioks Posted June 25, 2014 Author Posted June 25, 2014 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 ?
Castillo Posted June 25, 2014 Posted June 25, 2014 Account data y element data son dos cosas diferentes.
Sergioks Posted June 25, 2014 Author Posted June 25, 2014 Account data y element data son dos cosas diferentes. si, lo se. Debi haber incluido esto 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
Sergioks Posted June 25, 2014 Author Posted June 25, 2014 EDIT: Ya lo arregle, siempre se me olvida ese simple pero importante tip ._. Las mayúsculas en LUA son muy importantes respetarlas. el problema estaba en que algunos sitios decia "Zombie Kills" y en otros "Zombie kills"
Recommended Posts