29.05.2013, 20:00
Hello i have a problem. As a pro scripter i can't really solve this problem. I have for sure a little problem but either i can't see it or i'm now too old ^^
If my friend kills me, we get clientmessage and deathmessage for all. It works fine.
But if i kill myself it doesn't show. DeathMessage and this Client Message.
If my friend kills me, we get clientmessage and deathmessage for all. It works fine.
But if i kill myself it doesn't show. DeathMessage and this Client Message.
pawn Код:
if(IsSpawned[killerid] == false && killerid != INVALID_PLAYER_ID)
{
UnfairDeath[playerid] = true;
HideDeathMessage[playerid] = true;
}
if(UnfairDeath[playerid] == false)
{
// This works
if(killerid != INVALID_PLAYER_ID)
{
if(IsOnDuty[killerid] == false)
{
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
Kills[killerid]++;
Deaths[playerid]++;
Cash[killerid] += 2000;
new weapname[28];
GetWeaponName(reason, weapname, sizeof(weapname));
printf("%s (%d) Killed By %s (%d) - %s", GetName(playerid), playerid, GetName(killerid), killerid, weapname);
format(string, sizeof(string), "%s (%d) Died. Killed By %s (%d) - %s", GetName(playerid), playerid, GetName(killerid), killerid, weapname);
for(new i = 0; i < MAX_SLOT; i++)
{
if(IsPlayerConnected(i) && ShowDeathMessage[i] == true)
{
SendClientMessage(i, COLOR_BROWN, string);
}
}
}
if(IsOnDuty[killerid] == true)
{
UnfairDeath[playerid] = true;
HideDeathMessage[playerid] = true;
printf("Admin %s (%d) has killed %s (%d) unfairly.", GetName(killerid), killerid, GetName(playerid), playerid);
}
}
// For sure here's a problem
if(killerid == INVALID_PLAYER_ID)
{
Deaths[playerid]++;
new weapname[28];
GetWeaponName(reason, weapname, sizeof(weapname));
printf("%s (%d) Killed By %s (%d) - %s", GetName(playerid), playerid, GetName(killerid), killerid, weapname);
format(string, sizeof(string), "%s (%d) Died. (%s)", GetName(playerid), playerid, weapname);
for(new i = 0; i < MAX_SLOT; i++)
{
if(IsPlayerConnected(i) && ShowDeathMessage[i] == true)
{
SendClientMessage(i, COLOR_BROWN, string);
}
}
}
}
// And this shows only if my friend kills me. either it doesn't work
if(HideDeathMessage[playerid] == false)
{
SendDeathMessage(killerid, playerid, reason);
}
HideDeathMessage[playerid] = false;