cooller1995
Дебютант
У меня есть команда /auto
Как сделать что бы по нажатию на ALT, когда игрок находится в машине прописывалась эта команда?
Пробовал делать вот так:
Но тогда по непонятной причине когда садишься в машину и двигатель не заведен то диалог открывается, но игрок выходит из машины. А если машина заведена то ничего не происходит.
Если нужно то вот так заводится машина:
Код:
if(strcmp("/auto", cmdtext, true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Вы должны быть в машине!");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid, 0xFFFFFFFF, " Вы должны находиться за рулём транспортного средства!");
return 1;
}
ShowPlayerDialog(playerid,586,DIALOG_STYLE_LIST,"Авто-Меню [Rp]Free|City","Запустить двигатель\nЗаглушить двигатель\n\nВключить свет\nВыключить свет\n\nОткрыть капот\nЗакрыть капот\n\nОткрыть багажник\nЗакрыть багажникn","Выбрать","Отмена");
}
Пробовал делать вот так:
Код:
if(newkeys == 1024)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
OnPlayerCommandText(playerid, "/auto");
}
}
Если нужно то вот так заводится машина:
Код:
if(newkeys == 512)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerState(playerid) == 2)
{
new carisd = GetPlayerVehicleID(playerid);
new Float:health;
GetVehicleHealth(GetPlayerVehicleID(playerid),health);
if(!IsAPlane(carisd)||!IsABoat(carisd)||!IsABycicle(carisd))
{
if(health < 450)
{
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessage(playerid,0xFFFFFFFF,"* Вызовите механика, машина повреждена! (/service)");
format(string, sizeof(string), "* %s попытался завести двигатель (неудачно)",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,0,0);
return 1;
}
if(engine1[carisd] == 0)
{
if(engineplayer[playerid] == 0)
{
engineplayer[playerid] = 4;
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string, sizeof(string), "* %s пытается завести транспорт", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,0,0);
}
}
else if(engine1[carisd] == 1)
{
if(!IsAPlane(carisd)||!IsABoat(carisd)||!IsABycicle(carisd))
{
engine1[carisd] = 0;
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string, sizeof(string), "* %s заглушил транспорт", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,0,0);
TogglePlayerControllable(playerid, 0);
}
}
}
}
}
}
Последнее редактирование:
