funcion obtener al mejor jugador
#1
Hola tanto tiempo sin pasar por aca

Quisiera saber si esta funcion para obtener al mejor jugador del mapa está bien, creo que está mal hecha y por eso pido ayuda

Si lo está por favor diganme en donde está mal

Muchas gracias

Código PHP:
GetBestPlayer()
{
    static 
Frags[MAX_PLAYERS+1], idbestis_admin;

    for(
id 1id<=iMaxPlayersid++)
    {
        if(
is_user_bot(id) || !is_user_connected(id))
            continue;

        
is_admin is_user_admin(id)

        if(
is_admin && !g_admins)
            continue;

        
Frags[id] = get_user_frags(id)

        if (
Frags[id] > Frags[best])
            
best id;
    }
    return 
best;

Responder
#2
Código PHP:
new bool:g_bIgnoreAdmins true

GetBestPlayer
()
{
    new 
iFrags[33], idiBest

    
for(id 1id<=iMaxPlayersid++)
    {
        if(!
is_user_connected(id) || is_user_bot(id))
            continue

        if(
is_user_admin(id) && g_bIgnoreAdmins)
            continue

        
iFrags[id] = get_user_frags(id)

        if (
iFrags[id] > iFrags[iBest])
            
iBest id
    
}
    
    return 
iBest

1
Responder
#3
(05/01/2023, 10:13 PM)[N]drs escribió:
Código PHP:
new bool:g_bIgnoreAdmins true

GetBestPlayer
()
{
    new iFrags[33], idiBest

    
for(id 1id<=iMaxPlayersid++)
    {
        if(!is_user_connected(id) || is_user_bot(id))
            continue

        if(is_user_admin(id) && g_bIgnoreAdmins)
            continue

        iFrags[id] = get_user_frags(id)

        if (iFrags[id] > iFrags[iBest])
            iBest id
    
}
    
    
return iBest


Oh muchas gracias Nrds va finisimo. Disculpa habría una manera de optimizarla? o está bien así? voy a usar esa funcion para llamarla cada 1 segundo con un task y vi varios threads donde recomiendan optimizar ciertas funciones pero no se si entren en este caso
Responder
#4
(06/01/2023, 03:28 PM)Donald Duckling escribió: Oh muchas gracias Nrds va finisimo. Disculpa habría una manera de optimizarla? o está bien así? voy a usar esa funcion para llamarla cada 1 segundo con un task y vi varios threads donde recomiendan optimizar ciertas funciones pero no se si entren en este caso

Código PHP:
new bool:g_bIgnoreAdmins true

GetBestPlayer
()
{
    static 
iFrags[33], idiBest
    arrayset
(iFrags033)
    
id=0
    iBest
=0

    
for(id 1id<=iMaxPlayersid++)
    {
        if(!
is_user_connected(id) || is_user_bot(id))
            continue

        if(
is_user_admin(id) && g_bIgnoreAdmins)
            continue

        
iFrags[id] = get_user_frags(id)

        if (
iFrags[id] > iFrags[iBest])
            
iBest id
    
}
    
    return 
iBest

Responder
#5
Muchas gracias!
Responder
#6
(10/01/2023, 09:39 PM)Donald Duckling escribió: Muchas gracias!

Por qué llamarias a la funcion cada 1 segundo, si ya esta función te devuelve el id del mejor jugador, no creo q sea necesario obtenerlo varios veces en pocos segundos.
Qué es lo que tenes pensado hacer?
___________________________________
SI NECESITAS UN PLUGIN TE LO HAGO $$$
COMUNICATE A MI DISCORD: emanuelitop15
Responder
#7
(11/01/2023, 10:03 AM)[E]manuelitop15 escribió: Por qué llamarias a la funcion cada 1 segundo, si ya esta función te devuelve el id del mejor jugador, no creo q sea necesario obtenerlo varios veces en pocos segundos.
Qué es lo que tenes pensado hacer?



Un hud donde muestre el jugador con mas kills del mapa al realizar algun evento en el servidor

Código PHP:
set_task(1.0"best_hud", .flags="b")

public 
best_hud()
{
    static 
BestPlayerUserName[32], FragsB;

    
BestPlayer GetBestPlayer()
    
get_user_name(BestPlayerUserNamecharsmax(UserName))
    
FragsB get_user_frags(BestPlayer)


    
set_dhudmessage(157,252,3, -1.00.0101.01.0)

    if(!
FragsB)
        
formatex(formatocharsmax(formato), "AUN NO HAY MEJOR JUGADOR DEL MAPA")

    else
        
formatex(formatocharsmax(formato), "MEJOR JUGADOR DEL MAPA: %s^nLLEVA ACTUALMENTE: %d KILLS"UserNameFragsB)

    
ShowSyncHudMsg(0hudhandlerformato)

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)