Помогите решить проблему с деньгами..
Суть выписываю штраф.. Все нормально, только когда человек оплачивает штраф тот который я выписал, деньги забирает у меня, хотя должно у того кому выписали, проверку на ид сделал.
new pdproverkafine; // ПД проверка fine запоминаем ид кто выписал штраф.
PHP код:
if(strcmp(cmd, "/fine", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Player[playerid][pOrganization] != 4) return SendClientMessage(playerid, -1, "Вы не полицейский!");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Введите: /fine [id] [цена] [причина]");
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Введите: /fine [id] [цена] [причина]");
new moneys = strval(tmp);
if(moneys < 1 || moneys > 2000) { SendClientMessage(playerid, -1, "Нельзя меньше 1 и больше 20000 $"); return true; }
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
//if(Player[giveplayerid][pMoney] < 2000) return SendClientMessage(playerid, -1, "У игрока недостаточно денег");
//if(Player[giveplayerid][pMoney] < 1999)
//if(Player[giveplayerid][pMoney] > 1999)
//{
//new moneyfine = GetPlayerMoney(giveplayerid,Player[giveplayerid][pMoney]);
//if(Player[giveplayerid][pMoney] < 2000) return SendClientMessage(playerid, -1, "У игрока недостаточно денег");
//if(giveplayerid == playerid) { SendClientMessage(playerid, -1, "Вы указали свой ID"); return true; }
new giveplayer[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[256];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, -1, "Введите: /fine [id] [цена] [причина]");
return true;
}
Player[giveplayerid][pPdproverka] = 1;
//Player[giveplayerid][pFine] = moneys;
moneys = Player[giveplayerid][pFine] = moneys;
pdproverkafine = playerid;
format(string, sizeof(string), "* Вы выписали штраф в размере "W"("W""W"%d$"W")"W". Причина: %s",Player[giveplayerid][pFine], (result));
SendClientMessage(playerid, 0x6495EDFF, string);
format(string, sizeof(string), "* Офицер %s выписал вам штраф в размере "W"("W""W"%d$"W")"W". Причина: %s", sendername, Player[giveplayerid][pFine], (result));
SendClientMessage(giveplayerid, 0x6495EDFF, string);
SendClientMessage(giveplayerid, -1, "((Введите: /afine, чтобы оплатить штраф))");
return true;
//}
}
}
}
else return SendClientMessage(playerid, -1, "Игрок не найден");
return true;
}
PHP код:
CMD:afine(playerid, params[])
{
if(Player[playerid][pPdproverka] == 1)
{
SendClientMessage(playerid, 0x0091FFFF, "Вы оплатили штраф");
GivePlayerMoney(pdproverkafine, -Player[playerid][pFine]); // Дадим деньги тот кто прописал команду.
//ResetPlayerMoney(playerid); // Спишим деньги
//GivePlayerMoney(playerid, Player[playerid][pMoney]);
Player[playerid][pFine] = 0;
SavePlayer(playerid);
}
if(Player[playerid][pPdproverka] == 0)
{
SendClientMessage(playerid, 0x0091FFFF, "Вам не выдавали штраф!");
}
return 1;
}