Опля, я не заметил, что ResetPlayerMoney(playerid); есть и выше в коде. Тогда
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
new PlayerNameva[MAX_PLAYER_NAME];
new PlayerNamevam[MAX_PLAYER_NAME];
new stringkilllist[100];
new stringkilllist1[100];
new playercash;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
plafk[playerid] = -2;
death[playerid]++;
c_stat[playerid][Deaths]++;//1є Deaths - Warning! Shift the sequency will result in problems.
c_stat[killerid][Kills]++;//2є Kills
//ResetPlayerMoney(playerid); // это здесь не нужно, блокирует передачу денег
for(new x=0; x<MAX_PLAYERS; x++)
{
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid)
{
AdvanceSpectate(x);
}
}
if(playerid == killerid)
{
GetPlayerName(playerid,PlayerNameva,sizeof(PlayerNameva));
format(stringkilllist1,sizeof(stringkilllist1),"%s (%d)",PlayerNameva,playerid); // форматируем ник, вставляя после него ID
SetPlayerName(playerid,stringkilllist1); // выставляем имя с ID
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
SetPlayerName(playerid,PlayerNameva); // возвращаем имя без ID
ResetPlayerMoney(playerid);
}
if(killerid == INVALID_PLAYER_ID)
{
GetPlayerName(playerid,PlayerNameva,sizeof(PlayerNameva));
format(stringkilllist1,sizeof(stringkilllist1),"%s (%d)",PlayerNameva,playerid); // форматируем ник, вставляя после него ID
SetPlayerName(playerid,stringkilllist1); // выставляем имя с ID
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
SetPlayerName(playerid,PlayerNameva); // возвращаем имя без ID
ResetPlayerMoney(playerid);
}
else
{
GetPlayerName(killerid,PlayerNamevam,sizeof(PlayerNamevam));
GetPlayerName(playerid,PlayerNameva,sizeof(PlayerNameva));
format(stringkilllist,sizeof(stringkilllist),"%s (%d)",PlayerNamevam,killerid); // форматируем ник, вставляя после него ID
format(stringkilllist1,sizeof(stringkilllist1),"%s (%d)",PlayerNameva,playerid); // форматируем ник, вставляя после него ID
SetPlayerName(killerid,stringkilllist); // выставляем имя с ID
SetPlayerName(playerid,stringkilllist1); // выставляем имя с ID
SendDeathMessage(killerid,playerid,reason);
SetPlayerName(playerid,PlayerNameva); // возвращаем имя без ID
SetPlayerName(killerid,PlayerNamevam); // возвращаем имя без ID
SetPlayerName(playerid,name); // возвращаем имя без ID
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
playercash = GetPlayerMoney(playerid);
if (playercash > 0)
{
GivePlayerMoney(killerid, playercash);
PlayerInfo[killerid][pKill] = PlayerInfo[killerid][pKill] + 1;
ResetPlayerMoney(playerid);
}
else
{
}
}
if((reason != 255) || (killerid != 255))
{
new string[128], pname[24];
GetPlayerName(killerid,pname,24);
format(string,128,"Убит игроком %s (%d) ",pname, killerid);
SetPlayerChatBubble(playerid, string, COLOR_P45, 50.0, 10000);
}
SetPlayerName(playerid,name); // возвращаем имя без ID
return 1;
}