Jump to content

Como hacer un ranking de jugadores


PiojitoS

Recommended Posts

Tengo un sv RPG y estoy interesado en hacer un ranking de jugadores en donde aparesca lo siguiente:

El jugador, Los Kills, Los Deaths. Eso es lo que mas me interesa y que en base a los kills que tenga las posiciones en el ranking.

Si es posible ayudarme les agradeceria mucho gracias.

ATTE: TraficanteDeCrack

Edited by Guest
Link to comment

Tendrás que ultilizar funciones como:

getElementData 
getAccountData 
setAccountData 
setElementData 
onPlayerJoin 
onPlayerQuit 
onPlayerLogout 
onPlayerLogin 
onPlayerWasted 

Link to comment

Si ya se pimpollo pero lo q no se como hacer q por ejemplo:

Cuando un Player tiene 104 kills y 34 Deaths y otro tiene 123 Kills y 45 deaths te los acomode por el orden en q el Player q mas mato este primero... Me entendes eso necesito lo de los kills deaths la cuenta lo se.. :)

Link to comment

Eso es un ejercicio mental básico, piensa en esto, tienes un lote de números desordenados {5,3,10,11,7,1}. Ahora, ¿como los ordenarías?

Yo tomaría el 1er numero, lo compararía con el 2do y vería cual es el mayor, una vez determinado cual es el mayor, lo dejo en la primera posición {5,3}, después tomo el 3er numero y lo comparo con los otros 2 y lo voy subiendo de posiciones según cual sea el mayor {10,5,3}, y así sucesivamente hasta llegar al ultimo numero.

Ahora la solución en un programa, tenemos que tener 2 tablas, una con los datos desordenados y otra para ordenarlos, con eso y un par de loops for o while estarías listo. te dejo el problema en lua a ti, si te complica mucho muéstranos lo que lograste hacer y te ayudamos a terminarlo.

Link to comment

Me puse hoy a hacerlo y ahora hize lo que aparesca el player.. creo que la funcion esta bien xD. Lo que quiero saber si a los kills y deaths los puedo hacer como lo hize en esa funcion osea remplazando el elemento del nombre dle jugador por lo de total kills que los hize en la funcion que deje abajo del todo.

function añadirPlayers () 
        local playerList = guiCreateGridList ( 9, 48, 504, 462, true, windowTop30) 
        local column = guiGridListAddColumn( playerList, "Player", 0.3 ) 
        if ( column ) then 
                for id, playeritem in ipairs(getElementsByType("player")) do  
        ---------------------------------------------------------------------------------------------------------- 
                        local row = guiGridListAddRow ( playerList ) 
                        guiGridListSetItemText ( playerList, row, column, getPlayerName ( playeritem ), false, false ) 
                end 
        end 
end 
addEventHandler ( "onClientResourceStart", getRootElement(), añadirPlayers ) 

Esto es lo de Total Kills:

function addTotalKill(totalAmmo, killer, killerWeapon, bodypart, stealth) 
local account = getPlayerAccount (killer) 
if (account) and (killer) then 
setAccountData(account,"totalkillsdeaths.kills",getAccountData(account,"totalkillsdeaths.kills")+1) 
setElementData(killer, "Total Kills", getAccountData(account,"totalkillsdeaths.kills")) 
end 
end 
addEventHandler ("onPlayerWasted", getRootElement(), addTotalKill) 
  
function addTotalDeath(totalAmmo, killer, killerWeapon, bodypart, stealth) 
local account = getPlayerAccount (source) 
if (account) then 
setAccountData(account,"totalkillsdeaths.Deaths",getAccountData(account,"totalkillsdeaths.Deaths")+1) 
setElementData(source, "Total Deaths", getAccountData(account,"totalkillsdeaths.Deaths")) 
end 
end 
addEventHandler ("onPlayerWasted", getRootElement(), addTotalKill) 
  
function checkAccountKillsDeaths(thePreviousAccount, theCurrentAccount, autoLogin) 
if (getAccountData(theCurrentAccount,"totalkillsdeaths.kills") == nil) and (getAccountData(theCurrentAccount,"totalkillsdeaths.deaths") == nil) then 
setAccountData(theCurrentAccount,"totalkillsdeaths.kills",0) 
setAccountData(theCurrentAccount,"totalkillsdeaths.deaths",0) 
end 
end 
addEventHandler("onPlayerLogin",getRootElement(),checkAccountKillsDeaths) 

Link to comment
  • 9 months later...
  • Recently Browsing   0 members

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