[Ayuda] Funcion para las ID
#1

Hola gente, estaba pensando hacer un comando en el cual cuando lo ejecuten le dй vida a todos los jugadores conectados y me preguntaba como hacer esa funciуn que llame a todas las ID conectadas al servidor... Alguna ayuda? Gracias de antemano

PD: Es mi primer post, si estoy haciendo algo mal le agradecerнa que me avisaran por favor.
Reply
#2

Para ello debes crear un bucle que de a cada jugador conectado la vida deseada.

pawn Код:
CMD:vidatodos(playerid, params[])
{
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if(IsPlayerConnected(i))
        {
            SetPlayerHealth(i, 100); // 100 de vida a cada conectado
        }
    }
    return true;
}
Reply
#3

Gracias amigo! me funciono al 100 debo buscar un tutorial de eso de los bucles que no entiendo bien xd
Reply
#4

Puedes seguir esto https://sampforum.blast.hk/showthread.php?tid=225796 es bastante extenso y explicativo.
Saludos.
Reply
#5

Llamar a "GetMaxPlayers()" por cada repeticiуn es poco (muy) optimizado en comparaciуn a guardarlo en memoria.
Reply
#6

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
Llamar a "GetMaxPlayers()" por cada repeticiуn es poco (muy) optimizado en comparaciуn a guardarlo en memoria.
Y como se harнa eso?
Reply
#7

aqui te la dejo un poco mбs optimizada, y no se llamaria GetMaxPlayers(); tanta veces.
pawn Код:
CMD:vidatodos(playerid, params[])
{
        #pragma unused params
    for(new i = 0, Max_Players = GetMaxPlayers(); i < Max_Players; i++) if(IsPlayerConnected(i))SetPlayerHealth(i, 100);
    return true;
}
Reply
#8

Una pregunta NullBot -

No seria lo mismo ? Ya que ahн estas creando una variable llamada Max_Players a la cual le estas dando el valor de la funciуn GetMaxPlayers()

Para serte sincero no le veo la diferencia, me podrias explicar?
Reply
#9

Si gustas te explico yo.

En el mйtodo que comentу "hydewhyd", se esta llamando a la funciуn "GetMaxPlayers" durante tantas veces como retorno tenga esta.
En la segunda opciуn, llamas solo una vez a "GetMaxPlayers" y el resultado lo guardas en memoria (variable) para luego simplemente llamar a dicha variable.

En otras palabras, la funciуn "GetMaxPlayers" no utiliza un cachй, sino que siempre debe hacer el proceso para obtener el dнgito que devuelve.
Reply
#10

Muchas gracias por explicarme.
Ahora , en el caso de MAX_PLAYERS se podrнa hacer lo mismo?en un bucle claro..(guardar el resultado en una variable) y/o Quй funciуn se deberнa usar en la mayorнa de los casos GetMaxPlayers o MAX_PLAYERS (en bucle)? Existe alguna diferencia?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)