William Cobalt 28 Опубликовано 10 сентября, 2018 Когда жму на кнопку "ЛКМ", мне пишет - вы должны быть в транспорте, если я в транспорте то мне показывает диалог с выбором бензина, и это проблема срабатывает в любой точке карты. [spoiler=Код]if(strcmp(cmd, "/fill", true) == 0){if(Offlineonline(playerid))if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Вы должны быть в транспорте");{new iniOpens = ini_openFile("biz.cfg");ini_getInteger(iniOpens, "AllBiz", AllBiz);ini_closeFile(iniOpens);for(new f; f<=AllBiz && all_biz_ids[f]; ++f){ShowPlayerDialog(playerid,8421,DIALOG_STYLE_LIST,"Заправка","Дизель\nA-90\nA-93\nA-95","Заправить","Отменить");}}return 1; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
#Pawno 306 Опубликовано 10 сентября, 2018 У тебя нету проверки на местоположения , и по этому если ты в машине оно будет везде срабатывать. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
William Cobalt 28 Опубликовано 11 сентября, 2018 Какая команда используется для проверки ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
жекакротов 1 Опубликовано 11 сентября, 2018 @William Cobalt,Если нету добавляешь public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { if(IsPlayerConnected(playerid)) { new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } } return 0; } forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z); это в саму команду if(PlayerToPoint(3.0,playerid, x, y, z) return SendClientMessage(playerid, COLOR_GREY, "Вы далеко от заправки"); 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты