Bohdan
Компетентный
Код:
if(!strcmp(cmd,"/sellcar",true)) {
if(!pData[playerid][pCar] || (!pData[playerid][pHouse] && !pData[playerid][pHotel])) return SendClientMessage(playerid,CGRAY,"У Вас нет т/с");
new carID = GetCarSlot(pData[playerid][pCar]);
if(carID == -1) return SendClientMessage(playerid,CRED,"Ошибка. Т/С не найдено");
if(pTemp[playerid][pTaxiID] != INVALID_VEHICLE_ID || pTemp[playerid][pTaxiPass] != INVALID_PLAYER_ID) return SendClientMessage(playerid,CGRAY,"Нельзя использовать данную Команду сейчас");
new vehicleid = gCars[carID][carVid];
new modelid = GetVehicleModel(vehicleid) - 400;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
new Float:factor;
if(pData[playerid][pHouse]) factor = 0.5;
else factor = 0.8;
new price = floatround(gTransport[modelid][trPrice]*factor);
SetPVarInt(playerid,"psellcarPrice",price);
SetPVarInt(playerid,"psellcarID",carID);
new mes[128];
format(mes,sizeof(mes),"{"#cWHITE"}Вы хотите продать свое т/с за {"#cGREEN"}$%d?",price);
ShowPlayerDialog(playerid,dSellCar,0,"Продажа т/с",mes,"Да","Нет");
}
else
{
new actplayerid = strval(tmp);
if(actplayerid == playerid || !IsPlayerConnected(actplayerid)) return SendClientMessage(playerid,CGRAY,"Неверный ID игрока");
if(!pData[actplayerid][pHouse] ) return SendClientMessage(playerid,CGRAY,"У игрока нет дома");
new houseid = pData[actplayerid][pHouse]-1;
if(gHouses[houseid][houseOwnerID] != pData[actplayerid][pMysqlID]) return SendClientMessage(playerid,CGRAY,"Машина может быть только у владельца дома");
if(pData[actplayerid][pCar]) return SendClientMessage(playerid,CGRAY,"У игрока уже есть своя машина. Если Вы хотите обменятся машинами используйте /changecar");
if(GetPlayerDistanceToPlayer(playerid,actplayerid) > 3.0 || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(actplayerid)) return SendClientMessage(playerid,CGRAY,"Вы далеко друг от друга");
tmp = strtok(cmdtext, idx);
new price = strval(tmp);
if(price < 1 || price > 50000000) return SendClientMessage(playerid,CGRAY,"Цена не может быть меньше $1 или больше 50 млн.");
new mes[512],classname[12];
GetCarClassName(gTransport[modelid][trClass],classname);
format(mes,sizeof(mes),"Вы предложили {"#cWHITE"}%s {"#cINFO"} купить ваше т/с",pData[actplayerid][pNickname]);
SendClientMessage(playerid,CINFO,mes);
format(mes,sizeof(mes),"%s {"#cINFO"} предлагает Вам купить его авто за {"#cRED"}$%d{"#cINFO"}. Чтобы подтвердить нажмите {"#cGREEN"}Y{"#cINFO"}, иначе {"#cRED"}N",pData[playerid][pNickname],price);
SendClientMessage(actplayerid,CWHITE,mes);
format(mes,sizeof(mes),"Название: {"#cWHITE"}%s {"#cGREEN"}Класс: {"#cWHITE"}%s {"#cGREEN"}Пробег: {"#cWHITE"}%d {"#cGREEN"}Бензобак: {"#cWHITE"}%dл. {"#cGREEN"}Расход: {"#cWHITE"}%dл/100км",gTransport[modelid][trName],classname,gVehicles[vehicleid-1][vDrived],gTransport[modelid][trTank],gTransport[modelid][trConsumption]);
SendClientMessage(actplayerid,CGREEN,mes);
pTemp[playerid][pSellCarOffer] = playerid;
pTemp[actplayerid][pSellCarOffer] = playerid;
pTemp[actplayerid][pSellCarOffee] = actplayerid;
pTemp[actplayerid][pSellCarPrice] = price;
pTemp[actplayerid][pSellCarID] = carID;
}
}
