Código:
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)); }
Creditos:
RoacH` - Criador
[FeK]DraKiNs - Lógica retirado deste topico(Aqui)
SA-MP TEAM - For all

---------------------------------------------------