#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;
}
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
|
#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;
}