Vaise
Умник
Думаю объяснять что это такое не стоит так как по названию темы всё понятно.
Добавим ко всем new:
PHP:
new DrivingTest[MAX_PLAYERS];//начало теста
new Question1[MAX_PLAYERS]; //вопрос1
new Question2[MAX_PLAYERS]; //вопрос2
new Question3[MAX_PLAYERS]; //вопрос3
new Question4[MAX_PLAYERS]; //вопрос4
new Question5[MAX_PLAYERS]; //вопрос5, можно сделать сколько вам угодно.
new Owibka[MAX_PLAYERS]; //ошибка в автошколе, если человек допустил ошибку
new Practice[MAX_PLAYERS];//Ну и практика по Чекпоинтам.
Добавим в public OnPlayerCommandText:
PHP:
if(strcmp("/Ваша команда", cmd, true) == 0)
{
if(PlayerToPoint(1.5, playerid, 1173.3295,1348.3557,10.9219))//Координаты, где будет прописываться команда.
{
if(PlayerInfo[playerid][pCarLic] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "У Вас уже есть права категории 'B'!");
return 1;
}
if(DrivingTest[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "Вы уже сдаёте на права категории 'B'!");
return 1;
}
DrivingTest[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "_____________Теория_____________");
SendClientMessage(playerid, COLOR_GREY, "Вам будет задано несколько вопросов.");
SendClientMessage(playerid, COLOR_GREY, "У вас есть право на 1 ошибку.");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 1: Максимальная Скорость в штате","60\n90\n120","Ок","Отмена");
Question1[playerid] = 1;
}
}
PHP:
if(dialogid == test1)//Вопросы ПДД
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, "Вы провалили тест");
DrivingTest[playerid] = 0;
Question1[playerid] = 0;
Question2[playerid] = 0;
Question3[playerid] = 0;
Question4[playerid] = 0;
Question5[playerid] = 0;
Owibka[playerid] = 0;
return 1;
}
if(DrivingTest[playerid] > 0)
{
if(Question1[playerid] == 1)
{
if(listitem == 0)
{
EmptyMessages(playerid, 5);
SendClientMessage(playerid, COLOR_GREEN, "Верно. Следующий вопрос");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 2: Максимальная Скорость на автомагистралях","90\n120\n140","Ок","Отмена");
Question1[playerid] = 0;
Question2[playerid] = 1;
return 0;
}
else
{
if(Owibka[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Вы провалили тест");
DrivingTest[playerid] = 0;
Question1[playerid] = 0;
Question2[playerid] = 0;
Question3[playerid] = 0;
Question4[playerid] = 0;
Question5[playerid] = 0;
Owibka[playerid] = 0;
return 0;
}
else
{
Owibka[playerid] = 1;
SendClientMessage(playerid, COLOR_RED, "Не Верно.");
SendClientMessage(playerid, COLOR_RED, "Ещё 1 одна ошибка и Вы провалите тест");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 2: Максимальная Скорость на автомагистралях","90\n120\n140","Ок","Отмена");
return 0;
}
}
}
if(Question2[playerid] == 1)
{
if(listitem == 1)
{
EmptyMessages(playerid, 5);
SendClientMessage(playerid, COLOR_GREEN, "Верно. Следующий вопрос");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 3: Максимальная Скорость за городом","120\n100\n90","Ок","Отмена");
Question2[playerid] = 0;
Question3[playerid] = 1;
return 0;
}
else
{
if(Owibka[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Вы провалили тест");
DrivingTest[playerid] = 0;
Question1[playerid] = 0;
Question2[playerid] = 0;
Question3[playerid] = 0;
Question4[playerid] = 0;
Question5[playerid] = 0;
Owibka[playerid] = 0;
return 0;
}
else
{
Owibka[playerid] = 1;
SendClientMessage(playerid, COLOR_RED, "Не Верно.");
SendClientMessage(playerid, COLOR_RED, "Ещё 1 одна ошибка и Вы провалите тест");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 3: Максимальная Скорость за городом","120\n100\n90","Ок","Отмена");
return 0;
}
}
}
if(Question3[playerid] == 1)
{
if(listitem == 2)
{
EmptyMessages(playerid, 5);
SendClientMessage(playerid, COLOR_GREEN, "Верно. Следующий вопрос");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 4: Что вы сделаете если увидите cзади машину\nс спец.маячками/сиренами","Остановлюсь у обочины\nПрижмусь в крайний ряд и поеду прямо сбросив скорость\nПоеду как ехал","Ок","Отмена");
Question3[playerid] = 0;
Question4[playerid] = 1;
return 0;
}
else
{
if(Owibka[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Вы провалили тест");
DrivingTest[playerid] = 0;
Question1[playerid] = 0;
Question2[playerid] = 0;
Question3[playerid] = 0;
Question4[playerid] = 0;
Question5[playerid] = 0;
Owibka[playerid] = 0;
return 0;
}
else
{
Owibka[playerid] = 1;
SendClientMessage(playerid, COLOR_RED, "Не Верно.");
SendClientMessage(playerid, COLOR_RED, "Ещё 1 одна ошибка и Вы провалите тест");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 4: Что вы сделаете если увидите cзади машину с спец.маячками/сиренами","Остановлюсь у обочины\nПрижмусь в крайний ряд и поеду прямо сбросив скорость\nПоеду как ехал","Ок","Отмена");
return 0;
}
}
}
if(Question4[playerid] == 1)
{
if(listitem == 1)
{
EmptyMessages(playerid, 5);
SendClientMessage(playerid, COLOR_GREEN, "Верно. Следующий вопрос");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 5: Водитель обгоняемого Автомобиля обязан","Снизить скорость\nдвигаться с прежней или большей скор.\nдвигаться с прежней или меньшей скор.","Ок","Отмена");
Question4[playerid] = 0;
Question5[playerid] = 1;
return 0;
}
else
{
if(Owibka[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Вы провалили тест");
DrivingTest[playerid] = 0;
Question1[playerid] = 0;
Question2[playerid] = 0;
Question3[playerid] = 0;
Question4[playerid] = 0;
Question5[playerid] = 0;
Owibka[playerid] = 0;
return 0;
}
else
{
Owibka[playerid] = 1;
// SendClientMessage(playerid, COLOR_GREEN, "_____________Теория_____________");
SendClientMessage(playerid, COLOR_RED, "Не Верно.");
SendClientMessage(playerid, COLOR_RED, "Ещё 1 одна ошибка и Вы провалите тест");
ShowPlayerDialog(playerid,test1,DIALOG_STYLE_LIST,"Вопрос 5: Водитель обгоняемого Автомобиля обязан","Снизить скорость\nдвигаться с прежней или большей скор.\nдвигаться с прежней или меньшей скор.","Ок","Отмена");
return 0;
}
}
}
if(Question5[playerid] == 1)
{
if(listitem == 2)
{
EmptyMessages(playerid, 5);
SendClientMessage(playerid, COLOR_GREEN, "_____________Теория_____________");
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Перейдем к практике.");
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Выйдете на улицу и сядте в учебный автомобиль");
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Едте по чепоинтам аккуратно.");
Question5[playerid] = 0;
Practice[playerid] = 1;
//TogglePlayerControllable(playerid, true);
return 0;
}
else
{
if(Owibka[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Вы провалили тест");
DrivingTest[playerid] = 0;
Question1[playerid] = 0;
Question2[playerid] = 0;
Question3[playerid] = 0;
Question4[playerid] = 0;
Question5[playerid] = 0;
Owibka[playerid] = 0;
return 0;
}
else
{
Owibka[playerid] = 1;
// SendClientMessage(playerid, COLOR_GREEN, "_____________Теория_____________");
SendClientMessage(playerid, COLOR_RED, "Не Верно.");
SendClientMessage(playerid, COLOR_RED, "Ещё 1 одна ошибка и Вы бы провалили бы тест");
EmptyMessages(playerid, 5);
SendClientMessage(playerid, COLOR_GREEN, "_____________Теория_____________");
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Поздравляем.");
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Вы сдали Теоритический тест на категорию 'b'");
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Пройдите на парковку и возьмите учебную машину.");
Question5[playerid] = 0;
DrivingTest[playerid] = 0;
Practice[playerid] = 1;
}
}
}
}
return 1;
}
Здесь у вас скорее всего, будет другая переменная, поэтому не ищите эту, найти эти строки, проще, написав, "Вы не сотрудник Автошколы" или что-то на подобии.
PHP:
if(IsAnAutoSchoolCar(newcar))
{
if(!(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pMember] == 11 || Practice[playerid] == 1))
Теперь отправим его на чекпоинт... Ищем переменную, отвечающую за все автомобили категории Driving или B.
У меня он выглядит так:
PHP:
else if(IsACarB(newcar))
{
if(PlayerInfo[playerid][pCarLic] < 1)
{
if(Practice[playerid] == 1)//Как вы видите, мы поставили проверку на практику, и если она есть, то отправляем на чекпоинт.
{
SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Тест начался! Следуйте к маячку на радаре.!");
SetPlayerCheckpoint(playerid,1135.3571,-1705.7531,13.7644,6.0);
CP[playerid] = 160;
}
else
{
SendClientMessage(playerid,COLOR_GREY,"* У вас нет лицензии на вождение!");
RemovePlayerFromVehicle(playerid);
FreezePlayerVeh(playerid,0);
}
}
}
PHP:
if(IsACarB(newcar))
{
if(PlayerInfo[i][pCarLic] < 1 && IsPlayerInAnyVehicle(i) && GetPlayerState(i) == 2)
{
if(!(TakingLesson[i] == 1 || Practice[i] == 1))//Здесь мы также поставили проверку
{
RemovePlayerFromVehicle(i);
FreezePlayerVeh(i,0);
}
}
PHP:
new tmpcar = GetPlayerVehicleID(playerid);
if(CP[playerid]==160)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 161;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1163.8602,-1714.5756,13.6291, 6.0);//Координаты чекпоинта
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");//Тест когда въезжаете на него
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==161)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 162;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1172.7843,-1838.5234,13.2813, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==162)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 163;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1074.2363,-1850.0891,13.2663, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==163)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 164;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1010.1013,-1790.8734,13.8094, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==164)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 165;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 824.4467,-1767.7909,13.2726, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==165)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 166;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 811.7640,-1688.6228,13.2578, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==166)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 167;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 902.9953,-1575.1826,13.2578, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==167)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 168;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1022.4305,-1574.5912,13.2577,6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==168)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 169;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1280.7607,-1574.2626,13.2579, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==169)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 170;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1343.5662,-1421.2140,13.2576, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==170)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 171;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1308.9182,-1603.2806,13.2578, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==171)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 172;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1310.6093,-1840.1766,13.2579, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==172)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 173;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1192.6682,-1850.1327,13.2741, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==173)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 174;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1074.3042,-1850.2167,13.2663, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==174)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 175;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1074.3042,-1850.2167,13.2663, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==175)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 176;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1037.1975,-1787.0304,13.4647, 6.0);
format(string, sizeof(string), "* Получен новый маршрут! Следуйте к маячку на радаре.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==176)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 177;
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 1135.3799,-1717.8076,13.5876, 6.0);
format(string, sizeof(string), "* Акуратно заезжайте на парковку.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
else if(CP[playerid]==177)
{
if(IsAnAutoSchoolCar(tmpcar))
{
CP[playerid] = 170;
DisablePlayerCheckpoint(playerid);
format(string, sizeof(string), "* Поздравляем! Вы успешно сдали на права.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
PlayerInfo[playerid][pCarLic] = 1;
Practice[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в школьном авто !");
return 1;
}
}
PHP:
public EmptyMessages(playerid, count)
{
for (new i = 0; i < count; i++)
{
SendClientMessage(playerid, 0, "\n");
}
}
PHP:
forward EmptyMessages(playerid, count);
когда, вставляете чекпоинты, переменную IsAnAutoSchoolCar замените на свою.
[HR][/HR]
Автор: Не помню кто
Последнее редактирование:
