Leha_leha 9 Опубликовано 8 ноября, 2014 Почему можно красить где хочешь а не на тех координатах где я указал? Если можете дайте команду где вводить ид цветов надо в диалоговом окне //============================================================================== if(strcmp(cmd, "/changecarcolor", true) == 0) { if(IsPlayerInRangeOfPoint(playerid,2.0,2161.1902,-1847.1832,18.8203) || IsPlayerInRangeOfPoint(playerid,2.0,2153.0515,-1847.5317,18.8203)) //IZ UZHNOOGO if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "?? ?????? ???? ? ??????????"); new cars = GetPlayerVehicleID(playerid); if(GetRealID(cars) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "?? ?????? ???? ? ????? ??????????"); if(!strcmp(CarInfo[GetRealID(cars)][cOwner],Name(playerid),true)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "???????????: /changecarcolor [???? 1] [???? 2]"); new color1 = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "???????????: /changecarcolor [???? 1] [???? 2]"); new color2 = strval(tmp); if((color1 > 300) || (color1 < -1)) return SendClientMessage(playerid, COLOR_WHITE, "?????? ?? -1 ?? 300"); if((color2 > 300) || (color2 < -1)) return SendClientMessage(playerid, COLOR_WHITE, "?????? ?? -1 ?? 300"); CarInfo[GetRealID(cars)][cCol1] = color1; CarInfo[GetRealID(cars)][cCol2] = color2; GiveMoney(playerid,-8000); ChangeVehicleColor(cars,color1,color2); SaveCar(GetRealID(cars)); SendClientMessage(playerid, COLOR_GRAD2, "?? ??????????? ??????????"); return 1; } else return SendClientMessage(playerid, COLOR_GRAD2, "???? ????????? ?? ???"); } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ryslik42 288 Опубликовано 8 ноября, 2014 Потому что код неправильно построен. if(strcmp(cmd, "/changecarcolor", true) == 0) { if(IsPlayerInRangeOfPoint(playerid,2.0,2161.1902,-1847.1832,18.8203) || IsPlayerInRangeOfPoint(playerid,2.0,2153.0515,-1847.5317,18.8203)) //IZ UZHNOOGO { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "?? ?????? ???? ? ??????????"); new cars = GetPlayerVehicleID(playerid); if(GetRealID(cars) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "?? ?????? ???? ? ????? ??????????"); if(!strcmp(CarInfo[GetRealID(cars)][cOwner],Name(playerid),true)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "???????????: /changecarcolor [???? 1] [???? 2]"); new color1 = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "???????????: /changecarcolor [???? 1] [???? 2]"); new color2 = strval(tmp); if((color1 > 300) || (color1 < -1)) return SendClientMessage(playerid, COLOR_WHITE, "?????? ?? -1 ?? 300"); if((color2 > 300) || (color2 < -1)) return SendClientMessage(playerid, COLOR_WHITE, "?????? ?? -1 ?? 300"); CarInfo[GetRealID(cars)][cCol1] = color1; CarInfo[GetRealID(cars)][cCol2] = color2; GiveMoney(playerid,-8000); ChangeVehicleColor(cars,color1,color2); SaveCar(GetRealID(cars)); SendClientMessage(playerid, COLOR_GRAD2, "?? ??????????? ??????????"); return 1; } else return SendClientMessage(playerid, COLOR_GRAD2, "???? ????????? ?? ???"); } esle SendClientMessage(playerid, COLOR_GRAD2, "Вы не на..."); } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Leha_leha 9 Опубликовано 8 ноября, 2014 Потому что код неправильно построен. if(strcmp(cmd, "/changecarcolor", true) == 0) { if(IsPlayerInRangeOfPoint(playerid,2.0,2161.1902,-1847.1832,18.8203) || IsPlayerInRangeOfPoint(playerid,2.0,2153.0515,-1847.5317,18.8203)) //IZ UZHNOOGO { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "?? ?????? ???? ? ??????????"); new cars = GetPlayerVehicleID(playerid); if(GetRealID(cars) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "?? ?????? ???? ? ????? ??????????"); if(!strcmp(CarInfo[GetRealID(cars)][cOwner],Name(playerid),true)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "???????????: /changecarcolor [???? 1] [???? 2]"); new color1 = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "???????????: /changecarcolor [???? 1] [???? 2]"); new color2 = strval(tmp); if((color1 > 300) || (color1 < -1)) return SendClientMessage(playerid, COLOR_WHITE, "?????? ?? -1 ?? 300"); if((color2 > 300) || (color2 < -1)) return SendClientMessage(playerid, COLOR_WHITE, "?????? ?? -1 ?? 300"); CarInfo[GetRealID(cars)][cCol1] = color1; CarInfo[GetRealID(cars)][cCol2] = color2; GiveMoney(playerid,-8000); ChangeVehicleColor(cars,color1,color2); SaveCar(GetRealID(cars)); SendClientMessage(playerid, COLOR_GRAD2, "?? ??????????? ??????????"); return 1; } else return SendClientMessage(playerid, COLOR_GRAD2, "???? ????????? ?? ???"); } esle SendClientMessage(playerid, COLOR_GRAD2, "Вы не на..."); } А ты не можешь дать что бы когда вводишь команду выскакивало диалоговое окно и там вводить ид цветов через запятую? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ryslik42 288 Опубликовано 8 ноября, 2014 (изменено) А самому научиться религия не позволяет? if(strcmp(cmd, "/changecarcolor", true) == 0) { if(IsPlayerInRangeOfPoint(playerid,2.0,2161.1902,-1847.1832,18.8203) || IsPlayerInRangeOfPoint(playerid,2.0,2153.0515,-1847.5317,18.8203)) //IZ UZHNOOGO { ShowPlayerDialog(playerid,228,DIALOG_STYLE_INPUT,"Покраска:","{FFFFFF}Введите ID цвета от 1 до 300.\nЦвет вводить через пробел.","Выбор","Отмена"); } esle SendClientMessage(playerid, COLOR_GRAD2, "Вы не на..."); return 1; } К диалогам if(dialogid == 228) { new car = GetPlayerVehicleID(playerid); if(response) { if(!strlen(inputtext)) return ShowPlayerDialog(playerid,228,DIALOG_STYLE_INPUT,"Покраска:","{FFFFFF}Введите ID цвета от 1 до 300.\nЦвет вводить через пробел.","Выбор","Отмена"); new colorrolvo = strval(inputtext); if(colorrolvo < 0 || colorrolvo > 300) return SendClientMessage(playerid, COLOR_GREY, "ID цвета от 0 до 300"); new color[2][20]; split(inputtext, color, ' '); new color1 = strval(color[0]); new color2 = strval(color[1]); ChangeVehicleColor(GetPlayerVehicleID(playerid),color1,color2); CarInfo[GetRealID(GetPlayerVehicleID(playerid))][cCol1] = color1; CarInfo[GetRealID(GetPlayerVehicleID(playerid))][cCol2] = color2; GiveMoney(playerid,-100000); SendClientMessage(playerid, COLOR_GRAD2, "Вы перекрасили свой автомобиль за: {00ff00}100.000руб"); SaveCar(GetRealID(car)); } } Переменные заменяй на свои. ИД диалога тоже заменяй если 228 занят. Изменено 8 ноября, 2014 пользователем Ryslik42 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты