17.06.2014, 17:28
Si, si pero eso es lo que quiero saber como compruebo al quй seria el killerid en suicidio para setear las variables en el, puedo usar un bucle , asн :
PD: Gracias
PD: Gracias
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
if(killerid != INVALID_PLAYER_ID)
{
PlayerInfo[killerid][Matados]++;
PlayerInfo[killerid][ScoreDM]++;
}
PlayerInfo[playerid][Muertes]++;
if(PlayerInfo[playerid][EnDuelo] == 1)
{
new Float:vida[2];
GetPlayerHealth(playerid, vida[0]);
GetPlayerArmour(playerid, vida[1]);
if(killerid != INVALID_PLAYER_ID)
{
PlayerInfo[killerid][DueloScore]++;
PlayerInfo[killerid][Dueloid] = 999;
PlayerInfo[killerid][EnDuelo] = 0;
SpawnPlayer(killerid);
if(vida[1] >= 0.1)
{
format(iMessage, sizeof(iMessage), "%s ha ganado el duelo a %s con %.2f de vida y %.2f de chaleco.", Nombre(killerid), Nombre(playerid), vida[0], vida[1]);
SendClientMessageToAll(Amarillo, iMessage);
}
else if(vida[0] <= 100.0)
{
format(iMessage, sizeof(iMessage), "%s ha ganado el duelo a %s con %.2f de vida.", Nombre(killerid), Nombre(playerid), vida[0]);
SendClientMessageToAll(Amarillo, iMessage);
}
}
else
{
format(iMessage, sizeof(iMessage), "%s ha ganado el duelo a %s con %.2f de vida y %.2f de chaleco(suicidio).", Nombre(killerid), Nombre(playerid), vida[0], vida[1]);
SendClientMessageToAll(Amarillo, iMessage);
// Aqui como compruebo al que estaba en duelo como killerid si es invalid_player_id, como seteo las variables a el ??
for(new j = 0; j < MAX_PLAYERS; j++) // puedo usar esto ? :s
{
if(IsPlayerConnected(j))
{
if(PlayerInfo[j][EnDuelo] == 1)
{
PlayerInfo[j][Dueloid] = 999;
PlayerInfo[j][EnDuelo] = 0;
}
}
}
}
PlayerInfo[playerid][DueloPerdido]++;
PlayerInfo[playerid][EnDuelo] = 0;
PlayerInfo[playerid][Dueloid] = 999;
DueloActivo = false;
}
return 1;
}