F[a]ust
Умник
К инклудам добавляем:
Ко всем define'ам добавляем:
Ко всем new:
В public OnPlayerSpawn(playerid) добавим текстдравы
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) добавим:
Теперь добавим команду:
И добавим 2 паблика в конец мода:
Ссылка на инклуд:
PHP:
#include <toribio>
PHP:
#define FillCash 20// цена за 1 литр
#define FillSpeed 2// Чем больше цифра, тем быстрее увеличивается бензин.
PHP:
new FillOn[MAX_PLAYERS];
new FillTimer[MAX_PLAYERS];
new PlayerText:Textdraw[10][MAX_PLAYERS];
new PlayerText:CarFuel[MAX_PLAYERS];
new Bar:bar[MAX_PLAYERS];
PHP:
bar[playerid] = CreateProgressBar(241.00, 200.00, 148.50, 14.50, 16711850, 100.0);
Textdraw[0][playerid] = CreatePlayerTextDraw(playerid, 447.666656, 171.574081, "usebox");
PlayerTextDrawLetterSize(playerid, Textdraw[0][playerid], 0.000000, 7.426541);
PlayerTextDrawTextSize(playerid, Textdraw[0][playerid], 184.333328, 0.000000);
PlayerTextDrawAlignment(playerid, Textdraw[0][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[0][playerid], 0);
PlayerTextDrawUseBox(playerid, Textdraw[0][playerid], true);
PlayerTextDrawBoxColor(playerid, Textdraw[0][playerid], 102);
PlayerTextDrawSetShadow(playerid, Textdraw[0][playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw[0][playerid], 0);
PlayerTextDrawFont(playerid, Textdraw[0][playerid], 0);
Textdraw[1][playerid] = CreatePlayerTextDraw(playerid, 288.333343, 173.807403, "Fuel");
PlayerTextDrawLetterSize(playerid, Textdraw[1][playerid], 0.449999, 1.600000);
PlayerTextDrawAlignment(playerid, Textdraw[1][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[1][playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw[1][playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw[1][playerid], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw[1][playerid], 51);
PlayerTextDrawFont(playerid, Textdraw[1][playerid], 2);
PlayerTextDrawSetProportional(playerid, Textdraw[1][playerid], 1);
Textdraw[2][playerid] = CreatePlayerTextDraw(playerid, 287.999877, 215.703704, "$0");
PlayerTextDrawLetterSize(playerid, Textdraw[2][playerid], 0.449999, 1.600000);
PlayerTextDrawAlignment(playerid, Textdraw[2][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[2][playerid], -1523963137);
PlayerTextDrawSetShadow(playerid, Textdraw[2][playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw[2][playerid], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw[2][playerid], 255);
PlayerTextDrawFont(playerid, Textdraw[2][playerid], 2);
PlayerTextDrawSetProportional(playerid, Textdraw[2][playerid], 1);
Textdraw[3][playerid] = CreatePlayerTextDraw(playerid, 236.000000, 191.070373, "usebox");
PlayerTextDrawLetterSize(playerid, Textdraw[3][playerid], 0.000000, 3.554934);
PlayerTextDrawTextSize(playerid, Textdraw[3][playerid], 192.000000, 0.000000);
PlayerTextDrawAlignment(playerid, Textdraw[3][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[3][playerid], 0);
PlayerTextDrawUseBox(playerid, Textdraw[3][playerid], true);
PlayerTextDrawBoxColor(playerid, Textdraw[3][playerid], -16777186);
PlayerTextDrawSetShadow(playerid, Textdraw[3][playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw[3][playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw[3][playerid], -16711681);
PlayerTextDrawFont(playerid, Textdraw[3][playerid], 0);
Textdraw[4][playerid] = CreatePlayerTextDraw(playerid, 397.666656, 191.070373, "usebox");
PlayerTextDrawLetterSize(playerid, Textdraw[4][playerid], 0.000000, 3.785388);
PlayerTextDrawTextSize(playerid, Textdraw[4][playerid], 437.000000, 0.000000);
PlayerTextDrawAlignment(playerid, Textdraw[4][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[4][playerid], 0);
PlayerTextDrawUseBox(playerid, Textdraw[4][playerid], true);
PlayerTextDrawBoxColor(playerid, Textdraw[4][playerid], 16711690);
PlayerTextDrawSetShadow(playerid, Textdraw[4][playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw[4][playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw[4][playerid], 16711690);
PlayerTextDrawFont(playerid, Textdraw[4][playerid], 0);
Textdraw[5][playerid] = CreatePlayerTextDraw(playerid, 207.666625, 192.059310, "-");
PlayerTextDrawLetterSize(playerid, Textdraw[5][playerid], 0.922999, 2.670222);
PlayerTextDrawTextSize(playerid, Textdraw[5][playerid], -65.666656, 1.244408);
PlayerTextDrawAlignment(playerid, Textdraw[5][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[5][playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw[5][playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw[5][playerid], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw[5][playerid], 51);
PlayerTextDrawFont(playerid, Textdraw[5][playerid], 3);
PlayerTextDrawSetProportional(playerid, Textdraw[5][playerid], 1);
Textdraw[6][playerid] = CreatePlayerTextDraw(playerid, 408.333465, 195.377746, "+");
PlayerTextDrawLetterSize(playerid, Textdraw[6][playerid], 0.828665, 2.848592);
PlayerTextDrawAlignment(playerid, Textdraw[6][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[6][playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw[6][playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw[6][playerid], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw[6][playerid], 51);
PlayerTextDrawFont(playerid, Textdraw[6][playerid], 1);
PlayerTextDrawSetProportional(playerid, Textdraw[6][playerid], 1);
Textdraw[7][playerid] = CreatePlayerTextDraw(playerid, 279.333282, 198.696380, "000.00");
PlayerTextDrawLetterSize(playerid, Textdraw[7][playerid], 0.239333, 1.604147);
PlayerTextDrawAlignment(playerid, Textdraw[7][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[7][playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw[7][playerid], 1);
PlayerTextDrawSetOutline(playerid, Textdraw[7][playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw[7][playerid], 255);
PlayerTextDrawFont(playerid, Textdraw[7][playerid], 2);
PlayerTextDrawSetProportional(playerid, Textdraw[7][playerid], 1);
Textdraw[8][playerid] = CreatePlayerTextDraw(playerid, 308.333435, 198.696334, "/");
PlayerTextDrawLetterSize(playerid, Textdraw[8][playerid], 0.449999, 1.600000);
PlayerTextDrawAlignment(playerid, Textdraw[8][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[8][playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw[8][playerid], 1);
PlayerTextDrawSetOutline(playerid, Textdraw[8][playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw[8][playerid], 255);
PlayerTextDrawFont(playerid, Textdraw[8][playerid], 2);
PlayerTextDrawSetProportional(playerid, Textdraw[8][playerid], 1);
Textdraw[9][playerid] = CreatePlayerTextDraw(playerid, 319.000091, 198.696350, "100.00");
PlayerTextDrawLetterSize(playerid, Textdraw[9][playerid], 0.307666, 1.570963);
PlayerTextDrawAlignment(playerid, Textdraw[9][playerid], 1);
PlayerTextDrawColor(playerid, Textdraw[9][playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw[9][playerid], 1);
PlayerTextDrawSetOutline(playerid, Textdraw[9][playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw[9][playerid], 255);
PlayerTextDrawFont(playerid, Textdraw[9][playerid], 2);
PlayerTextDrawSetProportional(playerid, Textdraw[9][playerid], 1);
PHP:
if(newkeys == KEY_SPRINT && FillOn[playerid] == 1 || newkeys == KEY_JUMP && FillOn[playerid] == 1)
{
if(GetPlayerMoney(playerid) < floatround(GetPVarFloat(playerid,"FillCar")*FillCash)) return SendClientMessage(playerid,0xFF0000FF,"У вас нету столько денег!");
SendClientMessage(playerid,0xFF9900AA,"Заправка автомобиля началась.");
KillTimer(FillTimer[playerid]);
FillTimer[playerid] = SetTimerEx("FillCar",5000,0,"d",playerid);
FillOn[playerid] = 0;
}
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/fill", cmdtext, true, 10) == 0)
{
if(GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,0xFF0000FF,"Вы должны находиться в машине!");
new v = GetPlayerVehicleID(playerid);
new string[7];
FillOn[playerid] = 1;
SetProgressBarValue(bar[playerid], VehicleInfo[GetPlayerVehicleID(playerid)][vFuel]);
ShowProgressBarForPlayer(playerid, bar[playerid]);
for(new i; i < 10; i++) PlayerTextDrawShow(playerid,Textdraw[i][playerid]);
format(string,sizeof(string),"%0.2f",VehicleInfo[v][vFuel]);
PlayerTextDrawSetString(playerid, Textdraw[7][playerid], string);
FillTimer[playerid] = SetTimerEx("Fill",200,1,"d",playerid);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid,0xFF9900AA,"Выбрать нужное количество бензина A,D.Заправиться: Пробел/Левый шифт.");
return 1;
}
return 0;
}
PHP:
forward Fill(playerid);
public Fill(playerid)
{
new string[7];
new Keys,ud,lr;
GetPlayerKeys(playerid,Keys,ud,lr);
if(lr == KEY_LEFT || lr == KEY_RIGHT) SetPVarInt(playerid,"Fill",GetPVarInt(playerid,"Fill")*FillSpeed);
else SetPVarInt(playerid,"Fill",2);
if(lr == KEY_LEFT && FillOn[playerid] == 1)
{
PlayerTextDrawHide(playerid,Textdraw[3][playerid]);
PlayerTextDrawBoxColor(playerid, Textdraw[3][playerid], -16777091);
PlayerTextDrawShow(playerid,Textdraw[3][playerid]);
new Float:up = GetProgressBarValue(bar[playerid]);
new Float:gt = VehicleInfo[GetPlayerVehicleID(playerid)][vFuel];
new Float:Difference = floatsub(up,0.10*GetPVarInt(playerid,"Fill"));
if(floatcmp(gt, Difference) == 1) Difference = gt;
new Float:CheckFill = Difference - gt;
SetProgressBarValue(bar[playerid], Difference);
UpdateProgressBar(bar[playerid], playerid);
format(string,sizeof(string),"%0.2f",Difference);
PlayerTextDrawSetString(playerid, Textdraw[7][playerid], string);
format(string,sizeof(string),"$%d",floatround(CheckFill*FillCash));
PlayerTextDrawSetString(playerid, Textdraw[2][playerid], string);
SetPVarFloat(playerid,"FillCar",CheckFill);
}
else
{
if(FillOn[playerid] == 1)
{
PlayerTextDrawHide(playerid,Textdraw[3][playerid]);
PlayerTextDrawBoxColor(playerid, Textdraw[3][playerid], -16777186);
PlayerTextDrawShow(playerid,Textdraw[3][playerid]);
}
}
if(lr == KEY_RIGHT && FillOn[playerid] == 1)
{
PlayerTextDrawHide(playerid,Textdraw[4][playerid]);
PlayerTextDrawBoxColor(playerid, Textdraw[4][playerid], 16711730);
PlayerTextDrawShow(playerid,Textdraw[4][playerid]);
new Float:up = GetProgressBarValue(bar[playerid]);
new Float:Difference = floatadd(up,0.10*GetPVarInt(playerid,"Fill"));
if(Difference > 100) Difference = 100.00;
new Float:CheckFill = Difference - VehicleInfo[GetPlayerVehicleID(playerid)][vFuel];
SetProgressBarValue(bar[playerid], Difference);
UpdateProgressBar(bar[playerid], playerid);
format(string,sizeof(string),"%0.2f",Difference);
PlayerTextDrawSetString(playerid, Textdraw[7][playerid], string);
format(string,sizeof(string),"$%d",floatround(CheckFill*FillCash));
PlayerTextDrawSetString(playerid, Textdraw[2][playerid], string);
SetPVarFloat(playerid,"FillCar",CheckFill);
return 1;
}
else
{
if(FillOn[playerid] == 1)
{
PlayerTextDrawHide(playerid,Textdraw[4][playerid]);
PlayerTextDrawBoxColor(playerid, Textdraw[4][playerid],16711690);
PlayerTextDrawShow(playerid,Textdraw[4][playerid]);
}
}
return 1;
}
forward FillCar(playerid);
public FillCar(playerid)
{
new v = GetPlayerVehicleID(playerid),Float:f = GetPVarFloat(playerid,"FillCar"),string[59];
VehicleInfo[v][vFuel] = VehicleInfo[v][vFuel]+f;
format(string,sizeof(string),"Ваш автомобиль был успешно заправлен на %0.2f л за $%d",f,floatround(f*FillCash));
SendClientMessage(playerid,0xFF9900AA,string);
TogglePlayerControllable(playerid, 1);
GivePlayerMoney(playerid,-floatround(f*FillCash));
for(new i; i < 10; i++) PlayerTextDrawHide(playerid,Textdraw[i][playerid]);
HideProgressBarForPlayer(playerid, bar[playerid]);
}
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Последнее редактирование:
