pawn Code:
public OnPlayerDisconnect(playerid, reason)
{
if(reason == 1)
{
static
Float:iHealth,
Float:iAmour
;
GetPlayerHealth(playerid, Float:iHealth);
GetPlayerArmour(playerid, Float:iAmour);
if(GetDistanceBetweenPlayers(GetPVarInt(playerid, "issuerid"), playerid) < 25.0)
{
if((gettime() - GetPVarInt(playerid, "playerid") < 4 && IsPlayerConnected(GetPVarInt(playerid, "issuerid")) && iHealth < 50.0 && iAmour == 0))
{
static
string[128],
iPlayerid[MAX_PLAYER_NAME],
iRageid[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, iPlayerid, MAX_PLAYER_NAME);
GetPlayerName(GetPVarInt(playerid, "issuerid"), iRageid, MAX_PLAYER_NAME);
format(string, 128, "\"%s\" cometeu rage quit! quando \"%s\" estava matando ele!", iPlayerid, iRageid);
new File:iRage = fopen("RageQuits.txt", io_write);
fwrite(iRage, string);
fclose(iRage);
return SendClientMessageToAll(-1, string);
}
}
}
return true;
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(issuerid != INVALID_PLAYER_ID)
{
SetPVarInt(playerid, "playerid", gettime());
SetPVarInt(playerid, "issuerid", issuerid);
// printf("issuerid: %d atirou em playerid: %d", GetPVarInt(playerid, "issuerid"), GetPVarInt(playerid, "playerid"));
// printf("playerid: %d levou um tiro do issuerid: %d", GetPVarInt(playerid, "playerid"), GetPVarInt(playerid, "issuerid"));
}
return true;
}
forward Float:GetDistanceBetweenPlayers(playerid, targetplayerid);
public Float:GetDistanceBetweenPlayers(playerid, targetplayerid)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if(!IsPlayerConnected(playerid) || !IsPlayerConnected(targetplayerid)) {
return -1.00;
}
GetPlayerPos(playerid,x1,y1,z1);
GetPlayerPos(targetplayerid,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
Qualquer bug me contate por