OnPlayerKeyStateChange
#1

hola que tal como podria crear en OnPlayerKeyStateChange que puedas darle salud a otro jugador estando cerca de el gracias de antemano
Reply
#2

Aqui tienes:
pawn Код:
#define SOSTENER_BOTTON(%0) ((newkeys & (%0)) == (%0))
#define APLASTAR_BOTTON(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define SOLTAR_BOTTON(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
#define HacerLoop(%0)(%1) for(new %1 = 0; %1 < %0; %1++)

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        if(APLASTAR_BOTTON(KEY_FIRE)) // Click derecho en pie.
        {
            new Float:x, Float:y, Float:z;
            GetPlayerPos(playerid, x, y, z);
            HacerLoop(MAX_PLAYERS)(i)
            {
                if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, 10.0, x, y, z) && i != playerid) // Darle vida a jugadores entre 10 metros de ti.
                {
                    SetPlayerHealth(i, 100);
                }
            }
        }
    }
    return 1;
}
Reply
#3

gracias man me sirvio =) solo una pequenia duda como puedo hacer para que si el player tiene 100 de vida ya nose pueda quitarle dinero no se si sea mucho pedir pero gracias me funciono correctamente
Reply
#4

Dejen de mandar cуdigos completos y sin explicaciуn por favor, aquн se enseсa, no es un pedido. Ademбs haces macros al pedo...

Quote:
Originally Posted by hensr
Посмотреть сообщение
gracias man me sirvio =) solo una pequenia duda como puedo hacer para que si el player tiene 100 de vida ya nose pueda quitarle dinero no se si sea mucho pedir pero gracias me funciono correctamente
Ves? Ahora quiere que les haga todo, esto no es PS.

______________


@hensr: Realmente no entendн tu duda, o sea, si tiene 100 de vida no se pueda quitarle el dinero? wat?
Aunque debes usar 'GetPlayerHealth' (mira el ejemplo).
Reply
#5

Perdon por responder un poco tarde pero ya que aqui esta amigo:

pawn Код:
#define SOSTENER_BOTTON(%0) ((newkeys & (%0)) == (%0))
#define APLASTAR_BOTTON(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define SOLTAR_BOTTON(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
#define HacerLoop(%0)(%1) for(new %1 = 0; %1 < %0; %1++)

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        if(APLASTAR_BOTTON(KEY_FIRE)) // Click derecho en pie.
        {
            new Float:x, Float:y, Float:z, Float:health;
            GetPlayerPos(playerid, x, y, z);
            HacerLoop(MAX_PLAYERS)(i)
            {
                GetPlayerHealth(i, health);
                if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, 10.0, x, y, z) && i != playerid && health != 100)
                {
                    SetPlayerHealth(i, 100);
                }
            }
        }
    }
    return 1;
}
Saludos!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)