Roman_Otero
Умник
Привет всем, вопрос у меня такой, какую нужно поставить проверку, чтобы, если у игрока, которому продается машина, есть скутер, то выводилось сообщение и сбрасывалась команда. В моде 2 машины. Если продаешь 1 машину, у игрока появляется тоже 1 машина, если 2, соотвественно меняется 2 машина.
PHP:
CMD:changecar(playerid,params[])
{
if(p_info[playerid][pHouse] == 0 && p_info[playerid][pTempKey] == 0) return SCM(playerid,COLOR_GREY,"У вас нет дома"),1;
if(sscanf(params,"iii",params[0],params[1],params[2])) return SCM(playerid, COLOR_GREY, " Используйте: /changecar [1/2] [playerid] [цена]"),1;
if(!IsPlayerConnected(params[1])) return SCM(playerid, COLOR_GREY, "Игрок не найден!"),1;
if(p_info[params[1]][pHouse] == 0 && p_info[params[1]][pTempKey] == 0) return SCM(playerid,COLOR_GREY,"У игрока нет дома / Или игрок не арендует дом"),1;
if(params[0] < 1 || params[0] > 2) return 1;
if(IsSellsCar(playerid, params[0]) != -1) return SendClientMessage(playerid,COLOR_GREY,"Недоступно. Данный автомобиль продается");
new caren = params[0]-1;
new model=GetVehicleModel(caridhouse[playerid][caren]);
if(!caridhouse[playerid][caren] || model == 462) return SCM(playerid, COLOR_GREY, "У Вас мопед");
if ( !model ) return SCM(playerid, COLOR_GREY, "Ошибка, у вашей машины не загружена модель.");
if(params[2] < 1) return SCM(playerid, COLOR_GREY, "Нельзя меньше $1"),1;
if(!IsPlayerStream(8.0, playerid, params[1])) return SCM(playerid, COLOR_GREY, "Игрок не рядом с вами!"),1;
if(params[1] == playerid) return SCM(playerid, COLOR_GREY, "Вы не можете продать самому себе машину!"),1;
format(stringer,128,"%s [%i] {ffff00}предлагает вам купить а/м %s за {"#cWHITE"}%i$",NamePlayer[playerid],playerid,VehicleNames[model-400],params[2]);
SendClientMessage(params[1],-1,stringer);
SendClientMessage(params[1],CYELLOW,"Нажмите {"#cWHITE"}'Y' {ffff00}для приобретения, иначе {"#cWHITE"}'N'");
format(stringer,128,"Вы предложили купить машину игроку {"#cWHITE"}%s [%d] {ffff00}за {"#cWHITE"}%i$",NamePlayer[params[1]],params[1],params[2]);
SendClientMessage(playerid,CYELLOW,stringer);
SetPVarInt(params[1],"carProdaet",playerid + 1);
SetPVarInt(playerid,"carPokupaet",params[1] + 1);
SetPVarInt(params[1],"carCena",params[2]);
SetPVarInt(playerid,"numbercar",params[0]);
return 1;
}
PHP:
if(GetPVarInt(playerid,"carProdaet"))
{
new id_prodaet = GetPVarInt(playerid,"carProdaet")-1;
new id_pokupaet = GetPVarInt(id_prodaet,"carPokupaet")-1;
new home_cena = GetPVarInt(playerid,"carCena");
new number_car = GetPVarInt(id_prodaet,"numbercar")-1;
if(id_pokupaet == playerid)
{
if(p_info[playerid][pCash] < home_cena)
{
SendClientMessage(playerid,COLOR_GREY,"Ó âàñ íå äîñòàòî÷íî äåíåã íàëè÷íûìè");
SendClientMessage(id_pokupaet,COLOR_GREY,"Ó ïîêóïàòåëÿ íå äîñòàòî÷íî äåíåã íàëè÷íûìè");
DeletePVar(playerid,"carProdaet");
DeletePVar(playerid,"carCena");
DeletePVar(id_pokupaet,"carPokupaet");
DeletePVar(id_pokupaet,"numbercar");
}
else if(!(number_car < 0 || number_car >= MAX_PLAYER_CAR))
{
if(caridhouse[id_prodaet][number_car] != 0)
{
DestroyVehicleOP(caridhouse[id_prodaet][number_car]);
caridhouse[id_prodaet][number_car] = 0;
}
PlayerCar[playerid][number_car] = PlayerCar[id_prodaet][number_car];
PlayerCar[id_prodaet][number_car] = 462;
UpdatePlayerData(id_prodaet,(!number_car) ? ("pCar") : ("pCar2"),462);
UpdatePlayerData(playerid,(!number_car) ? ("pCar") : ("pCar2"),PlayerCar[playerid][number_car]);
for(new i = 0; i < 12; i++)
{
gPlayerTuning[playerid][number_car][i] = gPlayerTuning[id_prodaet][number_car][i];
gPlayerTuning[id_prodaet][number_car][i] = 0;
}
UpdateTuning(id_prodaet,number_car + 1);
UpdateTuning(playerid,number_car + 1);
SetVehicleToHouse(playerid,number_car + 1, true);
SetVehicleToHouse(id_prodaet,number_car + 1, true);
new mes[128];
format(mes, 128, "êóïèë ìàøèíó ñ ðóê id: %d,%d,%s", PlayerCar[id_prodaet][number_car],number_car,NamePlayer[id_prodaet]);
TransferMoney(playerid,p_info[playerid][pCash]-home_cena,home_cena,mes);
format(mes, 128, "ïðîäàë ìàøèíó èãðîêó %d,%d,%s", PlayerCar[id_prodaet][number_car],number_car,NamePlayer[playerid]);
TransferMoney(id_prodaet,p_info[id_prodaet][pCash]+home_cena,home_cena,mes);
p_info[id_prodaet][p_veh_number][number_car] = p_info[playerid][p_veh_number][number_car];
p_info[playerid][p_veh_number][number_car] = -1;
UpdatePlayerData(playerid, "p_veh_number0", p_info[playerid][p_veh_number][0]);
UpdatePlayerData(playerid, "p_veh_number1", p_info[playerid][p_veh_number][1]);
UpdatePlayerData(id_prodaet, "p_veh_number0", p_info[id_prodaet][p_veh_number][0]);
UpdatePlayerData(id_prodaet, "p_veh_number1", p_info[id_prodaet][p_veh_number][1]);
p_info[playerid][pCash] -= home_cena;
UpdateMoney(playerid);
p_info[id_prodaet][pCash] += home_cena;
UpdateMoney(id_prodaet);
format(stringer,128,"Âû êóïèëè ìàøèíó ó {"#cWHITE"}%s [%i]{ffff00} çà {"#cWHITE"}%i {ffff00}$",NamePlayer[id_prodaet],id_prodaet,home_cena);
SendClientMessage(playerid,CYELLOW,stringer);
format(stringer,128,"Ó âàñ êóïèë ìàøèíó {"#cWHITE"}%s [%i]{ffff00} çà {"#cWHITE"}%i {ffff00}$",NamePlayer[playerid],playerid,home_cena);
SendClientMessage(id_prodaet,CYELLOW,stringer);
DeletePVar(playerid,"carProdaet");
DeletePVar(playerid,"carCena");
DeletePVar(id_pokupaet,"carPokupaet");
DeletePVar(id_pokupaet,"numbercar");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Èãðîê îôôëàéí");
DeletePVar(playerid,"carProdaet");
DeletePVar(playerid,"carCena");
}
}
Последнее редактирование:
