Лучший Ответ
Elrmrnt-Kritik
,
12 Август 2016 - 21:29
молоко
, вместо диалога 38 вставьте следующий код (добавил стоимость бензина, снятие денег с игрока и переход этих денег в бизнес)
if(dialogid == 38)
{
if(response)
{
if(!strlen(inputtext))
{
format(str,sizeof(str),"Здравствуйте, %s\n Вводите то количество литров, которое желаете залить в Т.С!",GetPlayerNameEx(playerid));
ShowPlayerDialog(playerid,38,DIALOG_STYLE_INPUT,"Заправка Транспортного Средства",str,"Готово","Отмена");
}
if(Gas[vehicleid] >= 150)
{
SendClientMessage(playerid, COLOR_GREY, "Бак вашего транспортного средства заполнен!");
return true;
}
AmountFill[playerid] = strval(inputtext);
if(Gas[vehicleid] >= GasMax)
{
SendClientMessage(playerid,COLOR_GREY,"В вашем автомобиле уже достаточно бензина!");
return true;
}
if(AmountFill[playerid] < 1 || AmountFill[playerid] > 150)
{
SendClientMessage(playerid, COLOR_GRAD1, "В ваше транспортное средство нельзя залить менее 1 и более 100 литров!");
return true;
}
if((Gas[vehicleid] + AmountFill[playerid] > 150))
{
SendClientMessage(playerid, COLOR_WHITE, "В бак вашего транспортного средства не влезет столько бензина!");
return true;
}
format(str, sizeof(str), "* %s Заправляет транспортное средство", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, str, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid,COLOR_GRAD3, "Ваш автомобиль сейчас заправят!");
SetTimer("Fillup",RefuelWait,0);
Refueling[playerid] = 1;
new toplivoprice;
toplivoprice = strval(inputtext)*34;
GiveMoney(playerid, -toplivoprice);
biz_inf[GetPVarInt(playerid, "ShowedBizID")][b_bank] += toplivoprice;
}
}
Выше вам скинул координаты, где будет работать данная команда. Чтобы добавить еще место заправки, подойдите к нему, введите команду /save, переходите в Documents/GTA San Andreas Users Files/pawno-crmp/GenerationC/savedpositions/ (там в самом низу будет). И в код IsAtGasStation(playerid) добавляйте еще координаты по следующему принципу:
stock IsAtGasStation(playerid)
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(10.0,playerid,2246.5735,-1784.6641,21.7092)|| PlayerToPoint(10.0,playerid,2382.9155,-762.1452,12.3296)
|| PlayerToPoint(10.0, playerid, 100.100, 200.200, 300.300 || PlayerToPoint(10.0, playerid, 101.101, 202.202, 303.303))
{//в южном
return 1;
}
else if(PlayerToPoint(10.0,playerid,1937.3879,2935.3083,12.3747) || PlayerToPoint(10.0,playerid,2521.5510,-2361.3611,21.9849)
|| PlayerToPoint(10.0, playerid, 404.404, 505.505, 606.606) || PlayerToPoint(10.0, playerid, 707.707, 808.808, 909.909))
{//в арзамасе
return 1;
}
else if(PlayerToPoint(10.0,playerid,-318.6730,1286.6680,12.9000)
|| PlayerToPoint(10.0, playerid, 103.103, 203.203, 302.302) || PlayerToPoint(10.0, playerid, 104.104, 204.204, 304.304))
{//рублёвка и так далее..
return 1;
}
}
return 0;
}
PlayerToPoint - сама функция проверки игрока на местоположение, 10.0 - радиус действия функции, 100.100, 200.200, 300.300 и все координаты в этом роде меняем на свои, таким образом добавляя еще места, где можно заправляться.
Перейти к сообщению »