defykah123
Дебютант
Незнаю, где ошибка, сижу и немогу исправить.
Ошибка заключаеться в /changecar.Машины и т.д. меняються, но дапустим я делаю доплату 100к, мы меняемся машинами и ему доплата не приходит и у меня с банка не отнимаються 100к, которые я доплачиваю.Сама система обмены работает, но что-то с деньгами, не то.
/changecar
D_JOB+24
Ошибка заключаеться в /changecar.Машины и т.д. меняються, но дапустим я делаю доплату 100к, мы меняемся машинами и ему доплата не приходит и у меня с банка не отнимаються 100к, которые я доплачиваю.Сама система обмены работает, но что-то с деньгами, не то.
/changecar
PHP:
CMD:changecar(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return true;
if(GetPlayerHouse(playerid) == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы не владеете домом!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotInCar);
if(GetPlayerVehicleID(playerid) != GetPVarInt(playerid, "PlayerCar")) return SendClientMessage(playerid, COLOR_GREY, "Вы должны находиться в вашем личном транспорте!");
if(sscanf(params, "ud", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /changecar [id игрока] [доплата]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, TPLAYEROFFLINE);
if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, TPLAYERNLOGGED);
if(params[0] == playerid) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете обменять транспорт себе!");
if(GetPlayerHouse(params[0]) == 0) return SendClientMessage(playerid, COLOR_GREY, PlayerDoNotHaveAtHome);
if(!IsPlayerInVehicle(params[0], GetPlayerVehicleID(playerid))) return SendClientMessage(playerid, COLOR_GREY, "Игрок должен находиться с вами в транспорте!");
if(params[1] < 0 || params[1] > 7000000) return SendClientMessage(playerid, COLOR_GREY, "Кол-во доплаты от 1 до 7000000!");
SendMes(playerid, COLOR_LIGHTBLUE, "Вы предложили обменяться транспортами с %s. Твоя доплата: %d", sendername(params[0]), params[1]);
SendMes(params[0], COLOR_LIGHTBLUE, "%s предложил обменяться транспортами с вами. Доплата: %d", PlayerInfo[playerid][pSendername], params[1]);
format(totalstring, 256, "{FFFF00}%s (ID: %i) предложил обменять свой транспорт\n\n\t\t{ffffff}(Модель: %s, Доплата: %i)\n{FFFF00}на ваш транспорт\n\t\t{ffffff}(Модель: %s)\n\n{FFFF00}Вы согласны?",
PlayerInfo[playerid][pSendername], playerid,VehicleNameS[GetVehicleModel(GetPVarInt(playerid, "PlayerCar"))-400], params[1], VehicleNameS[GetVehicleModel(GetPVarInt(params[0], "PlayerCar"))-400]);
SPD(params[0], D_JOB+24, 0, "Обменять транспорт", totalstring, "Да", "Нет");
format(totalstring, 256, "{FFFF00}Вы предложили %s'у (ID: %i) обменять свой транспорт\n\n\t\t{ffffff}(Модель: %s, Доплата: %i)\n{FFFF00}на его транспорт\n\t\t{ffffff}(Модель: %s)",
sendername(params[0]), params[0], VehicleNameS[GetVehicleModel(GetPVarInt(playerid, "PlayerCar"))-400], params[1], VehicleNameS[GetVehicleModel(GetPVarInt(params[1], "PlayerCar"))-400]);
SPD(playerid, D_NULL, 0, "Обменять транспорт", totalstring, "Закрыть", "");
SetPVarInt(params[0], "CarPlayer", playerid);
SetPVarInt(params[0], "CarPrice", params[1]);
return true;
}
PHP:
case D_JOB+24:
{
new playerd = GetPVarInt(playerid, "CarPlayer"), price = GetPVarInt(playerid, "CarPrice");
if(response)
{
if(GetMoney(playerid) < price)
{
SendClientMessage(playerid, COLOR_GREY, YouDoNotHaveEnoughMoney);
SendMes(playerd, COLOR_LIGHTBLUE, "У %s недостаточно средств", PlayerInfo[playerid][pSendername]);
DeletePVar(playerid, "CarPrice");
DeletePVar(playerid, "CarPlayer");
return true;
}
SetPVarInt(playerid,"CModel",PlayerInfo[playerid][cModel]);
SetPVarInt(playerid,"CClass",PlayerInfo[playerid][cClass]);
SetPVarInt(playerid,"CFuel",PlayerInfo[playerid][cFuel]);
SetPVarInt(playerid,"CColor1",PlayerInfo[playerid][cColor][0]);
SetPVarInt(playerid,"CColor2",PlayerInfo[playerid][cColor][1]);
SetPVarInt(playerid,"CCost",PlayerInfo[playerid][cCost]);
SetPVarString(playerid,"CVehcom",PlayerInfo[playerid][cVehcom]);
SetPVarInt(playerid,"cPaintjob",PlayerInfo[playerid][cPaintjob]);
////////////////////////////////////////////////////////////////
PlayerInfo[playerid][cModel]=PlayerInfo[playerd][cModel];
PlayerInfo[playerid][cClass]=PlayerInfo[playerd][cClass];
PlayerInfo[playerid][cFuel]=PlayerInfo[playerd][cFuel];
PlayerInfo[playerid][cColor][0]=PlayerInfo[playerd][cColor][0];
PlayerInfo[playerid][cColor][1]=PlayerInfo[playerd][cColor][1];
PlayerInfo[playerid][cCost]=PlayerInfo[playerd][cCost];
PlayerInfo[playerid][cVehcom]=PlayerInfo[playerd][cVehcom];
sscanf(PlayerInfo[playerid][cVehcom], "p<,>a<i>[14]",PlayerInfo[playerid][cVehcoms]);
PlayerInfo[playerid][cPaintjob]=PlayerInfo[playerd][cPaintjob];
////////////////////////////////////////////////////////////////
PlayerInfo[playerd][cModel]=GetPVarInt(playerid, "CModel");
PlayerInfo[playerd][cClass]=GetPVarInt(playerid, "CClass");
PlayerInfo[playerd][cFuel]=GetPVarInt(playerid, "CFuel");
PlayerInfo[playerd][cColor][0]=GetPVarInt(playerid, "CColor1");
PlayerInfo[playerd][cColor][1]=GetPVarInt(playerid, "CColor2");
PlayerInfo[playerd][cCost]=GetPVarInt(playerid, "CCost");
PlayerInfo[playerd][cVehcom]=GetPVarInt(playerid, "CVehcom");
sscanf(PlayerInfo[playerd][cVehcom], "p<,>a<i>[14]",PlayerInfo[playerd][cVehcoms]);
PlayerInfo[playerd][cPaintjob]=GetPVarInt(playerid, "cPaintjob");
DestroyVehicle(GetPVarInt(playerid, "PlayerCar"));
LoadMyCar(playerid);
DestroyVehicle(GetPVarInt(playerd, "PlayerCar"));
LoadMyCar(playerd);
SendMes(playerid, COLOR_LIGHTBLUE, "Вы обменялись транспортами с %s'ом. Доплата: %i долларов", sendername(playerd), price);
SendMes(playerd, COLOR_LIGHTBLUE, "%s обменялся транспортами с вами. Доплата: %i долларов", sendername(playerid), price);
SaveAccount(playerid);
SaveAccount(playerd);
GiveMoney(playerid, price);
GiveMoney(playerd, -price);
}
else SendMes(playerd, COLOR_LIGHTBLUE, "%s отклонил предложение обменяться транспортом с вами", PlayerInfo[playerid][pSendername]);
DeletePVar(playerid, "CarPrice");
DeletePVar(playerid, "CarPlayer");
}
Последнее редактирование:
