Alexs Posted April 23, 2012 Share Posted April 23, 2012 (edited) Hola a Todos, tengo una duda, como hago para hacer rangos en la ScoreBoard, tengo esto: exports.dxscoreboard:addScoreboardColumn('Rango') addEventHandler("onPlayerSpawn",root, function () local account = getPlayerAccount(source) local zombieKills = getAccountData(account,"Zombie kills") end) Mi Duda es como hacer para cuando sean mas de 100 que posea el rango de "MataZombies", mas de 250 que tenga el rango de "Experto", intente esto, pero no funcionaba: local MataZombies = (100, 249) if (zombieKills == MataZombies) then setAccountData ( account, "Rango", MataZombies ) Alguna ayuda o idea? Edited April 23, 2012 by Guest Link to comment
Soren Posted April 23, 2012 Share Posted April 23, 2012 te falto hacer un call al recurso de zombies Link to comment
Alexs Posted April 23, 2012 Author Share Posted April 23, 2012 te falto hacer un call al recurso de zombies pues lo saco del getAccountData que es guardado por otro resource, es igualmente necesario si los datos ya estan en las cuentas? Link to comment
Renkon Posted April 23, 2012 Share Posted April 23, 2012 No sirve zombiekills > 100 and zombiekills < 250 ? Link to comment
Alexs Posted April 23, 2012 Author Share Posted April 23, 2012 No sirve zombiekills > 100 and zombiekills < 250 ? Nunca aprendi como usar el simbolo > para LUA xDD no comprenderia como utilizarlo, asi que busco otra manera... Link to comment
Renkon Posted April 23, 2012 Share Posted April 23, 2012 if (zombiekills > 100) and (zombiekills < 250) then Link to comment
Alexs Posted April 24, 2012 Author Share Posted April 24, 2012 if (zombiekills > 100) and (zombiekills < 250) then Asi? local MataZombies = (100, 249) if (zombiekills > 100) and (zombiekills < 250) then setAccountData ( account, "Rango", MataZombies ) y lo otro, para otros rangos seria asi? addEventHandler("onPlayerSpawn",root, function () local account = getPlayerAccount(source) local zombieKills = getAccountData(account,"Zombie kills") if (zombiekills > 0) and (zombiekills < 5) then setAccountData ( account, "Rango", Nuevo ) if (zombiekills > 6) and (zombiekills < 99) then setAccountData ( account, "Rango", Iniciado ) if (zombiekills > 100) and (zombiekills < 250) then setAccountData ( account, "Rango", Asesino ) end) Link to comment
iFoReX Posted April 24, 2012 Share Posted April 24, 2012 Nose si tu codigo funcione correctamente alex pero asi como isiste los if estan bien pero seria asi addEventHandler("onPlayerSpawn",root, function () local account = getPlayerAccount(source) local zombieKills = getAccountData(account,"Zombie kills") if (zombiekills > 0) and (zombiekills < 5) then setAccountData ( account, "Rango", Nuevo ) elseif (zombiekills > 6) and (zombiekills < 99) then setAccountData ( account, "Rango", Iniciado ) elseif (zombiekills > 100) and (zombiekills < 250) then setAccountData ( account, "Rango", Asesino ) end) Yo ise un script con esto de entre cierta cantidad y me funciono perfecto Link to comment
Alexs Posted April 24, 2012 Author Share Posted April 24, 2012 Nose si tu codigo funcione correctamente alex pero asi como isiste los if estan bien pero seria asi addEventHandler("onPlayerSpawn",root, function () local account = getPlayerAccount(source) local zombieKills = getAccountData(account,"Zombie kills") if (zombiekills > 0) and (zombiekills < 5) then setAccountData ( account, "Rango", Nuevo ) elseif (zombiekills > 6) and (zombiekills < 99) then setAccountData ( account, "Rango", Iniciado ) elseif (zombiekills > 100) and (zombiekills < 250) then setAccountData ( account, "Rango", Asesino ) end) Yo ise un script con esto de entre cierta cantidad y me funciono perfecto ahh, se usan elseif.., ok, lo probare... Link to comment
BorderLine Posted April 24, 2012 Share Posted April 24, 2012 y para poner el rango al score debes usar setElementData Link to comment
Alexs Posted April 24, 2012 Author Share Posted April 24, 2012 2 Cosas, primero, como $·%" agrego esto a un setElementData y lo otro, dice que me sobra un ")" en la linea 39 -.- exports.dxscoreboard:addScoreboardColumn('Rango') addEventHandler("onPlayerSpawn",root, function () local account = getPlayerAccount(source) local zombieKills = getAccountData(account,"Zombie kills") if (zombiekills > 0) and (zombiekills < 4) then setAccountData ( account, "Rango", Nuevo ) elseif (zombiekills > 5) and (zombiekills < 99) then setAccountData ( account, "Rango", Iniciado ) elseif (zombiekills > 100) and (zombiekills < 249) then setAccountData ( account, "Rango", Aficionado ) elseif (zombiekills > 250) and (zombiekills < 499) then setAccountData ( account, "Rango", Amateur ) elseif (zombiekills > 500) and (zombiekills < 999) then setAccountData ( account, "Rango", Asesino ) elseif (zombiekills > 1000) and (zombiekills < 1499) then setAccountData ( account, "Rango", Maestro ) elseif (zombiekills > 1500) and (zombiekills < 1999) then setAccountData ( account, "Rango", Cannibal ) elseif (zombiekills > 2000) and (zombiekills < 2999) then setAccountData ( account, "Rango", Rampager ) elseif (zombiekills > 3000) and (zombiekills < 3999) then setAccountData ( account, "Rango", Monster ) elseif (zombiekills > 4000) and (zombiekills < 4999) then setAccountData ( account, "Rango", Blooder ) elseif (zombiekills > 5000) and (zombiekills < 5999) then setAccountData ( account, "Rango", ZombieKiller ) elseif (zombiekills > 5000) and (zombiekills < 5999) then setAccountData ( account, "Rango", HeadShooter ) elseif (zombiekills > 6000) and (zombiekills < 6999) then setAccountData ( account, "Rango", Animal ) elseif (zombiekills > 7000) and (zombiekills < 7999) then setAccountData ( account, "Rango", Depredador ) elseif (zombiekills > 8000) and (zombiekills < 8999) then setAccountData ( account, "Rango", Psicopata ) elseif (zombiekills > 9000) and (zombiekills < 10000000) then setAccountData ( account, "Rango", PsykoKiller ) end ) Link to comment
iFoReX Posted April 24, 2012 Share Posted April 24, 2012 ve ahora exports.dxscoreboard:addScoreboardColumn('Rango') addEventHandler("onPlayerSpawn",root, function() local account = getPlayerAccount(source) local zombieKills = getAccountData(account,"Zombie kills") if (zombiekills > 0) and (zombiekills < 4) then setAccountData ( account, "Rango", Nuevo ) elseif (zombiekills > 5) and (zombiekills < 99) then setAccountData ( account, "Rango", Iniciado ) elseif (zombiekills > 100) and (zombiekills < 249) then setAccountData ( account, "Rango", Aficionado ) elseif (zombiekills > 250) and (zombiekills < 499) then setAccountData ( account, "Rango", Amateur ) elseif (zombiekills > 500) and (zombiekills < 999) then setAccountData ( account, "Rango", Asesino ) elseif (zombiekills > 1000) and (zombiekills < 1499) then setAccountData ( account, "Rango", Maestro ) elseif (zombiekills > 1500) and (zombiekills < 1999) then setAccountData ( account, "Rango", Cannibal ) elseif (zombiekills > 2000) and (zombiekills < 2999) then setAccountData ( account, "Rango", Rampager ) elseif (zombiekills > 3000) and (zombiekills < 3999) then setAccountData ( account, "Rango", Monster ) elseif (zombiekills > 4000) and (zombiekills < 4999) then setAccountData ( account, "Rango", Blooder ) elseif (zombiekills > 5000) and (zombiekills < 5999) then setAccountData ( account, "Rango", ZombieKiller ) elseif (zombiekills > 5000) and (zombiekills < 5999) then setAccountData ( account, "Rango", HeadShooter ) elseif (zombiekills > 6000) and (zombiekills < 6999) then setAccountData ( account, "Rango", Animal ) elseif (zombiekills > 7000) and (zombiekills < 7999) then setAccountData ( account, "Rango", Depredador ) elseif (zombiekills > 8000) and (zombiekills < 8999) then setAccountData ( account, "Rango", Psicopata ) elseif (zombiekills > 9000) and (zombiekills < 10000000) then setAccountData ( account, "Rango", PsykoKiller ) end ) Link to comment
Alexs Posted April 24, 2012 Author Share Posted April 24, 2012 Ahora es un unexpected symbol en la linea 40.. y lo del elemendata, defino un source y con un getAccountData lo consigo? me faltaba un end, esto me envia lo mismo, pero le quito y le saco end's y nada addEventHandler("onPlayerSpawn",root, function () local cuenta = getPlayerAccount(source) if isGuestAccount(cuenta) then return end local rango = getAccountData(cuenta,"Rango") if Rango then setElementData(source,"Rango", rango) end end ) Link to comment
Renkon Posted April 24, 2012 Share Posted April 24, 2012 Debes poner <= o >= porque si no hay uno que se saltara digamos MAYOR A 0 Y MENOR A 5 MAYOR A 6 Y MENOR A 25 si vale 5? no hay rango. si vale 6? tampoco Link to comment
Renkon Posted April 24, 2012 Share Posted April 24, 2012 zombieKills y luego usas zombiekills LUA ES CASE SENSITIVE Link to comment
Alexs Posted April 24, 2012 Author Share Posted April 24, 2012 Debes poner <= o >= porque si no hay uno que se saltaradigamos MAYOR A 0 Y MENOR A 5 MAYOR A 6 Y MENOR A 25 si vale 5? no hay rango. si vale 6? tampoco eso que dijiste no lo comprenderia nadie.... me lo dirias en español? Link to comment
Renkon Posted April 24, 2012 Share Posted April 24, 2012 Si pones : ( algo > 0 ) and ( algo < 5 ) Significa. Si es MAYOR que CERO, hasta MENOR QUE CINCO Incluye 1, 2, 3 y 4. 0 y 5 quedan excluídos. En todos deve ser >= (mayor o igual) y <= (menor o igual) if ( algo >= 0 ) and ( algo <= 5 ) then asi no retocas nada. solo agregale los 'igual' Link to comment
Alexs Posted April 24, 2012 Author Share Posted April 24, 2012 Si pones : ( algo > 0 ) and ( algo < 5 ) Significa. Si es MAYOR que CERO, hasta MENOR QUE CINCO Incluye 1, 2, 3 y 4. 0 y 5 quedan excluídos. En todos deve ser >= (mayor o igual) y <= (menor o igual) if ( algo >= 0 ) and ( algo <= 5 ) then asi no retocas nada. solo agregale los 'igual' Vale, y respecto al setElementData que podria ser? Link to comment
Edikosh998 Posted April 24, 2012 Share Posted April 24, 2012 Esta bien lo de elementData , y osea el elementData te sirve para pasar de server a client Link to comment
Renkon Posted April 24, 2012 Share Posted April 24, 2012 Está mal que predefiniste zombieKills y luego comparás zombiekills Link to comment
Alexs Posted April 24, 2012 Author Share Posted April 24, 2012 Esta bien lo de elementData , y osea el elementData te sirve para pasar de server a client y por que dice que hay un unexpected simbol near "end" ?? Link to comment
Renkon Posted April 24, 2012 Share Posted April 24, 2012 Tu arregla eso y prueba. Modifica el zombieKills = [...] por zombiekills = [...] Link to comment
Edikosh998 Posted April 24, 2012 Share Posted April 24, 2012 addEventHandler("onPlayerSpawn",root, function () local cuenta = getPlayerAccount(source) if isGuestAccount(cuenta) then return end local rango = getAccountData(cuenta,"Rango") if rango then setElementData(source,"Rango", rango) end end ) If Rango no es, es if rango... Link to comment
Alexs Posted April 24, 2012 Author Share Posted April 24, 2012 Asunto resuelto, pero en la dxscoreboard no me aparece el Rango, que podra ser, ya comprobe las mayusculas y minusculas y nada Link to comment
Renkon Posted April 24, 2012 Share Posted April 24, 2012 Que tambien es un string y debe ir entre "" el valor Link to comment
Recommended Posts