Sign in to follow this  
Followers 0
RASTAMAN

Автошкола в центре Южного

4 posts in this topic

Введение на ваш сервер категорий прав А B C D 
Введение на ваш сервер категорий прав Мото, Авто, Лодка, Самолет
Все координаты уже есть. 
Интерьер и Маппинг присутсвуют

Спойлер



//добавить ко всем define
#define callback%0(%1)   forward%0(%1); public%0(%1)

// ко всем enum
enum
{
        CHECKPOINT_1,CHECKPOINT_2,CHECKPOINT_3,CHECKPOINT_4,CHECKPOINT_5,CHECKPOINT_6,CHECKPOINT_7,CHECKPOINT_8,CHECKPOINT_9,
        CHECKPOINT_10,CHECKPOINT_11,CHECKPOINT_12,CHECKPOINT_13,CHECKPOINT_14,CHECKPOINT_15,CHECKPOINT_16,CHECKPOINT_17,
        CHECKPOINT_18,CHECKPOINT_19,CHECKPOINT_20,
}
//Ко всем new
//==============[Автошкола by Crystalix Studio]=============
new TakingLesson[MAX_PLAYERS];
new LessonCar[MAX_PLAYERS];
new LessonStat[MAX_PLAYERS];
new pLessonCar[MAX_PLAYERS];
new JobCarTime[MAX_PLAYERS];
new CPL[MAX_PLAYERS];
new instcar;

//Добавить в public OnPlayerCommandText(playerid, cmdtext[])
//Тестирование ПДД==============================================================
if(strcmp(cmdtext, "/teststart",true)==0)//команда для начала сдачи на права
{
        if(IsPlayerConnected(playerid))
        {
                if(PlayerToPoint(3.0, playerid,2144.6,-2196.5,23.2)) //Координаты где можно сдать на права
                        {
                                if(PlayerInfo[playerid][pCarLicB] < 1)
                                {
                                        if(pTestPDD[playerid] == 0)
                                        {
                                                if(PlayerInfo[playerid][pMoney] >= 5000)// 5000 - это цена за экзамен на права
                                                {
                                                        GameTextForPlayer(playerid, "~r~…®C¦PYK¦A„",5000,3);// не трогать
                                                        TogglePlayerControllable(playerid,0);
                                                        IO1(playerid);
                                                        SetTimerEx("IO2", 5000, 0, "d", playerid);
                                                        SetTimerEx("IO3", 5000, 0, "d", playerid);
                                                        SetTimerEx("IO4", 5000, 0, "d", playerid);
                                                        SetTimerEx("IO5", 5000, 0, "d", playerid);
                                                        SetTimerEx("IO6", 5000, 0, "d", playerid);
                                                }
                                                else
                                                {
                                                        SendClientMessage(playerid, COLOR_GREY, "[Инструктор]: Вам не хватает денег, чтобы пройти тест!");
                                                        return 1;
                                                }
                                        }
                                        else
                                        {
                                                SendClientMessage(playerid, COLOR_GREY, "[Инструктор]: Вы уже находитесь на испытании!");
                                                return 1;
                                        }
                                }
                                else
                                {
                                        SendClientMessage(playerid, COLOR_GREY, "[Инструктор]: У вас уже есть водительские права!");
                                        return 1;
                                }

                }
        }
        return 1;
}
if(strcmp(cmd,"/licenses",true)==0)
{
        if(IsPlayerConnected(playerid))
        {
                new str[128];
                new text1[27];
                new text2[27];
                new text3[27];
                new text4[27];
                new text5[27];
                new text6[27];
                new text7[27];
                new text8[27];
                if(PlayerInfo[playerid][pCarLicA]) { text1 = "Имеется"; } else { text1 = "Не имеется"; }
                if(PlayerInfo[playerid][pCarLicB]) { text2 = "Имеется"; } else { text2 = "Не имеется"; }
                if(PlayerInfo[playerid][pCarLicC]) { text3 = "Имеется"; } else { text3 = "Не имеется"; }
                if(PlayerInfo[playerid][pCarLicD]) { text4 = "Имеется"; } else { text4 = "Не имеется"; }
                format(str,sizeof(str),"Лицензия на категорию А:          %s.\n",text1);
    SendClientMessage(playerid, COLOR_GREY, str);
                format(str,sizeof(str),"Лицензия на категорию B:          %s.\n",text2);
    SendClientMessage(playerid, COLOR_GREY, str);
                format(str,sizeof(str),"Лицензия на категорию C:          %s.\n",text3);
    SendClientMessage(playerid, COLOR_GREY, str);
                format(str,sizeof(str),"Лицензия на категорию D:          %s.\n",text4);
    SendClientMessage(playerid, COLOR_GREY, str);
        }
        return true;
}
//================================[Выдать все лицензии через админку]=========================
if(strcmp(cmd, "/agivelicense", true) == 0||strcmp(cmd, "/admgl", true) == 0){//команда для Админов 3-го уровня и выше
        if(IsPlayerConnected(playerid)){
                if (PlayerInfo[playerid][pAdmin] >= 3){
                        new x_nr[256];
                        x_nr = strtok(cmdtext, idx);
                        if(!strlen(x_nr)) {SendClientMessage(playerid, COLOR_WHITE, "Используйте: /agivelicense [name] [id_игрока/ЧастьИмени]");
                                SendClientMessage(playerid, COLOR_WHITE, "Лицензии: KatA,KatB,KatC,KatD, Pilots, Sailing, Fishing, Weapon, all(все лицы).");return true;}
                        if(strcmp(x_nr,"KatA",true) == 0){
                                tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp))return SendClientMessage(playerid, COLOR_WHITE, "ИСПОЛЬЗОВАНИЕ: /agivelicense KatA [id_игрока/ЧастьИмени]");
                                giveplayerid = ReturnUser(tmp);
                                if(IsPlayerConnected(giveplayerid)){
                                        if(giveplayerid != INVALID_PLAYER_ID){
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                format(string, sizeof(string), "* Вы дали ВУ Категории A %s.",giveplayer);
                                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                                format(string, sizeof(string), "* Админ %s дал вам ВУ Категории A. ",sendername);
                                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                                PlayerInfo[giveplayerid][pCarLicA] = 1;return true;}}
                                else{SendClientMessage(playerid, COLOR_GREY,OFFLINE);return true;}}
                        else if(strcmp(x_nr,"KatB",true) == 0){
                                tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp))return SendClientMessage(playerid, COLOR_WHITE, "ИСПОЛЬЗОВАНИЕ: /agivelicense KatB [id_игрока/ЧастьИмени]");
                                giveplayerid = ReturnUser(tmp);
                                if(IsPlayerConnected(giveplayerid)){
                                        if(giveplayerid != INVALID_PLAYER_ID){
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                format(string, sizeof(string), "* Вы дали ВУ Категории B %s.",giveplayer);
                                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                                format(string, sizeof(string), "* Админ %s дал вам ВУ Категории B. ",sendername);
                                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                                PlayerInfo[giveplayerid][pCarLicB] = 1;return true;}}
                                else{SendClientMessage(playerid, COLOR_GREY,OFFLINE);return true;}}
                        else if(strcmp(x_nr,"KatC",true) == 0){
                                tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp))return SendClientMessage(playerid, COLOR_WHITE, "ИСПОЛЬЗОВАНИЕ: /agivelicense KatC [id_игрока/ЧастьИмени]");
                                giveplayerid = ReturnUser(tmp);
                                if(IsPlayerConnected(giveplayerid)){
                                        if(giveplayerid != INVALID_PLAYER_ID){
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                format(string, sizeof(string), "* Вы дали ВУ Категории C %s.",giveplayer);
                                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                                format(string, sizeof(string), "* Админ %s дал вам ВУ Категории C. ",sendername);
                                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                                PlayerInfo[giveplayerid][pCarLicC] = 1;return true;}}
                                else{SendClientMessage(playerid, COLOR_GREY,OFFLINE);return true;}}
                        else if(strcmp(x_nr,"KatD",true) == 0){
                                tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp))return SendClientMessage(playerid, COLOR_WHITE, "ИСПОЛЬЗОВАНИЕ: /agivelicense KatD [id_игрока/ЧастьИмени]");
                                giveplayerid = ReturnUser(tmp);
                                if(IsPlayerConnected(giveplayerid)){
                                        if(giveplayerid != INVALID_PLAYER_ID){
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                format(string, sizeof(string), "* Вы дали ВУ Категории D %s.",giveplayer);
                                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                                format(string, sizeof(string), "* Админ %s дал вам ВУ Категории D. ",sendername);
                                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                                PlayerInfo[giveplayerid][pCarLicD] = 1;return true;}}
                                else{SendClientMessage(playerid, COLOR_GREY,OFFLINE);return true;}}
                        else if(strcmp(x_nr,"Pilots",true) == 0){
                                tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp))return SendClientMessage(playerid, COLOR_WHITE, "ИСПОЛЬЗОВАНИЕ: /agivelicense Pilots [id_игрока/ЧастьИмени]");
                                giveplayerid = ReturnUser(tmp);
                                if(IsPlayerConnected(giveplayerid)){
                                        if(giveplayerid != INVALID_PLAYER_ID){
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                format(string, sizeof(string), "* Вы дали лицензию на полеты %s.",giveplayer);
                                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                                format(string, sizeof(string), "* Админ %s дал вам лицензию на полеты.",sendername);
                                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                                PlayerInfo[giveplayerid][pFlyLic] = 1;return true;}}
                                else{SendClientMessage(playerid, COLOR_GREY,OFFLINE);return true;}}
                        else if(strcmp(x_nr,"sailing",true) == 0){
                                tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp))return SendClientMessage(playerid, COLOR_WHITE, "ИСПОЛЬЗОВАНИЕ: /agivelicense sailing [id_игрока/ЧастьИмени]");
                                giveplayerid = ReturnUser(tmp);
                                if(IsPlayerConnected(giveplayerid)){
                                        if(giveplayerid != INVALID_PLAYER_ID){
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                format(string, sizeof(string), "* Вы дали лицензию на водный транспорт %s.",giveplayer);
                                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                                format(string, sizeof(string), "* Админ %s дал вам лицензию на водный транспорт. ",sendername);
                                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                                PlayerInfo[giveplayerid][pBoatLic] = 1;return true;}}
                                else{SendClientMessage(playerid, COLOR_GREY,OFFLINE);return true;}}
                        else if(strcmp(x_nr,"all",true) == 0){
                                tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp))return SendClientMessage(playerid, COLOR_WHITE, "ИСПОЛЬЗОВАНИЕ: /agivelicense all [id_игрока/ЧастьИмени]");
                                giveplayerid = ReturnUser(tmp);
                                if(IsPlayerConnected(giveplayerid))
                                {
                                        if(giveplayerid != INVALID_PLAYER_ID)
                                        {
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                format(string, sizeof(string), "* Вы дали комплект лицензий(Рыбалка, вождение, лодки, оружие, летание) игроку %s.",giveplayer);
                                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                                format(string, sizeof(string), "* Админ %s дал вам комплект лицензий(Рыбалка, вождение, лодки, оружие, летание). ",sendername);
                                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                                PlayerInfo[giveplayerid][pBoatLic] = 1;
                                                PlayerInfo[giveplayerid][pCarLicA] = 1;
                                                PlayerInfo[giveplayerid][pCarLicB] = 1;
                                                PlayerInfo[giveplayerid][pCarLicC] = 1;
                                                PlayerInfo[giveplayerid][pCarLicD] = 1;
                                                PlayerInfo[giveplayerid][pFlyLic] = 1;return true;}}
                                else{SendClientMessage(playerid, COLOR_GREY,OFFLINE);return true;}}}
                else{SendClientMessage(playerid, COLOR_GREY, "Вы не админ! ");return true;}}return true;}
//==============================================================================
//Вставаить в public OnPlayerText(playerid, text[])
//==============================================================================
new sendername[MAX_PLAYER_NAME];
        new tmp[256];
        new string[256];
//        new giveplayerid;
        //Тестирование ПДД==============================================================
        if(DKT[playerid] > 0)
        {
                if(DKT[playerid] == 1)
                {
                        new idx;
                        tmp = strtok(text, idx);
                        if((strcmp("2", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("2")))//Тут правильный ответ будет 2
                        {
                                SendClientMessage(playerid, COLOR_YELLOW2, " Верно");
                                SetTimerEx("DKT3", 5000, 0, "d", playerid);
                                return 0;
                        }
                        else
                        {
                                SetPlayerPos(playerid, 2144.6,-2196.5,23.2);
                                TogglePlayerControllable(playerid,1);
                                SendClientMessage(playerid, COLOR_RED, " Неверно");
                                DKT[playerid] = 0;
                        }
                        return 0;
                }
                else if(DKT[playerid] == 2)
                {
                        new idx;
                        tmp = strtok(text, idx);
                        if((strcmp("1", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("1")))//Тут правильный ответ будет 1
                        {
                                SendClientMessage(playerid, COLOR_YELLOW2, " Верно");
                                SetTimerEx("DKT4", 5000, 0, "d", playerid);
                                return 0;
                        }
                        else
                        {
                                SetPlayerPos(playerid, 2144.6,-2196.5,23.2);
                                SendClientMessage(playerid, COLOR_RED, " Неверно");
                                TogglePlayerControllable(playerid,1);
                                DKT[playerid] = 0;
                        }
                        return 0;
                }
                else if(DKT[playerid] == 3)
                {
                        new idx;
                        tmp = strtok(text, idx);
                        if((strcmp("3", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("3")))//Тут правильный ответ будет 3
                        {
                                SendClientMessage(playerid, COLOR_YELLOW2, " Верно");
                                SetTimerEx("DKT5", 5000, 0, "d", playerid);
                                return 0;
                        }
                        else
                        {
                                SetPlayerPos(playerid, 2144.6,-2196.5,23.2);
                                SendClientMessage(playerid, COLOR_RED, " Неверно");
                                TogglePlayerControllable(playerid,1);
                                DKT[playerid] = 0;
                        }
                        return 0;
                }
                else if(DKT[playerid] == 4)
                {
                        new idx;
                        tmp = strtok(text, idx);
                        if((strcmp("2/3", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("2/3")))//Тут правильный ответ будет 2 и 3
                        {
                                SendClientMessage(playerid, COLOR_YELLOW2, " Верно");
                                SetTimerEx("DKT6", 5000, 0, "d", playerid);
                                return 0;
                        }
                        else
                        {
                                SetPlayerPos(playerid, 2144.6,-2196.5,23.2);
                                SendClientMessage(playerid, COLOR_RED, " Неверно");
                                TogglePlayerControllable(playerid,1);
                                DKT[playerid] = 0;
                        }
                        return 0;
                }
                else if(DKT[playerid] == 5)
                {
                        new idx;
                        tmp = strtok(text, idx);
                        if((strcmp("1/4", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("1/4")))//Тут правильный ответ будет 1 и 4
                        {
                                SendClientMessage(playerid, COLOR_YELLOW2, " Верно");
                                SetPlayerPos(playerid, 2144.6,-2196.5,23.2);
                                DKT[playerid] = 0;
                    SendClientMessage(playerid, COLOR_RED, "Скажи спасибо разработчику за подсказки :3");
                                SendClientMessage(playerid, COLOR_RED, "___________________________________");
                                SendClientMessage(playerid, COLOR_YELLOW, " Поздравляем! Вы успешно сдали тест на права");
                                SendClientMessage(playerid, COLOR_YELLOW, " Перейдём к практической части экзамена.");
                                pTestPDD[playerid] = 0;
                                TogglePlayerControllable(playerid,1);
                                PlayerInfo[playerid][pMoney] -= 5000;
                                TakingLesson[playerid] = 0;
                                if(TakingLesson[playerid] == 1)
                                {
                                        SendClientMessage(playerid, COLOR_GREY, "Урок уже начался!");
                                        return 1;
                                }
                                SendClientMessage(playerid, COLOR_GREEN, "Автосдача начата, выйдите на улицу и сядьте в автомобиль");
                                SendClientMessage(playerid, COLOR_YELLOW, "Инструктор:Нажмите Y чтобы открыть ворота!");
                                LessonStat[playerid] = 0;
                                LessonCar[playerid] = 1;
                                TakingLesson[playerid] = 1;
                        }
                        else
                        {
                                SetPlayerPos(playerid, 2144.6,-2196.5,23.2);
                                TogglePlayerControllable(playerid,1);
                                SendClientMessage(playerid, COLOR_RED, " Неправильно");
                                DKT[playerid] = 0;
                        }
                        return 0;
                }
                return 0;
        }
        GetPlayerName(playerid,sendername,sizeof(sendername));
        format(string, sizeof(string), "%s говорит: %s", sendername,text);
        ProxDetector(20.0, playerid, string, COLOR_FADE1,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4);
        return 0;
//========================================================================================================
//Вставаить в OnPlayerEnterRaceCheckpoint(playerid)
new string[256];
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
        if(LessonCar[playerid] == 1)
        {
                switch(pLessonCar[playerid])
                {
                case CHECKPOINT_1:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_2;
                                SetPlayerRaceCheckpoint(playerid, 0,2232.0808,-2136.6714,21.4338,2314.4534,-2157.0847,21.4354, 5.0);
                        }
                case CHECKPOINT_2:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_3;
                                SetPlayerRaceCheckpoint(playerid, 0,2314.4534,-2157.0847,21.4354,2443.8726,-2158.4189,21.4341, 5.0);
                        }
                case CHECKPOINT_3:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_4;
                                SetPlayerRaceCheckpoint(playerid, 0,2443.8726,-2158.4189,21.4341,2468.6079,-1993.7078,21.4354, 5.0);
                        }
                case CHECKPOINT_4:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_5;
                                SetPlayerRaceCheckpoint(playerid, 0,2468.6079,-1993.7078,21.4354,2370.3406,-1872.0608,21.4353, 5.0);
                        }
                case CHECKPOINT_5:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_6;
                                SetPlayerRaceCheckpoint(playerid, 0,2370.3406,-1872.0608,21.4353,2304.1343,-1867.5062,21.4318, 5.0);
                        }
                case CHECKPOINT_6:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_7;
                                SetPlayerRaceCheckpoint(playerid, 0,2304.1343,-1867.5062,21.4318,2292.2390,-1806.7009,21.4335, 5.0);
                        }
                case CHECKPOINT_7:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_8;
                                SetPlayerRaceCheckpoint(playerid, 0,2292.2390,-1806.7009,21.4335,2360.7078,-1761.2458,23.7128, 5.0);
                        }
                case CHECKPOINT_8:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_9;
                                SetPlayerRaceCheckpoint(playerid, 0,2360.7078,-1761.2458,23.7128,2743.0493,-2157.4224,20.6347, 5.0);
                        }
                case CHECKPOINT_9:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_10;
                                SetPlayerRaceCheckpoint(playerid, 0,2743.0493,-2157.4224,20.6347,2680.7212,-2682.1331,24.8850, 5.0);
                        }
                case CHECKPOINT_10:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_11;
                                SetPlayerRaceCheckpoint(playerid, 0,2680.7212,-2682.1331,24.8850,2504.3936,-2682.4084,25.0838, 5.0);
                        }
                case CHECKPOINT_11:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_12;
                                SetPlayerRaceCheckpoint(playerid, 0,2504.3936,-2682.4084,25.0838,2308.8057,-2682.3015,24.8772, 5.0);
                        }
                case CHECKPOINT_12:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_13;
                                SetPlayerRaceCheckpoint(playerid, 0,2308.8057,-2682.3015,24.8772,1700.5945,-2682.2849,21.5855, 5.0);
                        }
                case CHECKPOINT_13:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_14;
                                SetPlayerRaceCheckpoint(playerid, 0,1700.5945,-2682.2849,21.5855,1597.9015,-2655.5798,23.3586, 5.0);
                        }
                case CHECKPOINT_14:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_15;
                                SetPlayerRaceCheckpoint(playerid, 0,1597.9015,-2655.5798,23.3586,1491.5271,-2465.2705,16.7380, 5.0);
                        }
                case CHECKPOINT_15:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_16;
                                SetPlayerRaceCheckpoint(playerid, 0,1491.5271,-2465.2705,16.7380,1750.0513,-2075.8474,23.3548, 5.0);
                        }
                case CHECKPOINT_16:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_17;
                                SetPlayerRaceCheckpoint(playerid, 0,1750.0513,-2075.8474,23.3548,1883.5763,-2020.7983,30.7537, 5.0);
                        }
                case CHECKPOINT_17:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_18;
                                SetPlayerRaceCheckpoint(playerid, 0,1883.5763,-2020.7983,30.7537,2018.3058,-2125.8318,21.3817, 5.0);
                        }
                case CHECKPOINT_18:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_19;
                                SetPlayerRaceCheckpoint(playerid, 0,2018.3058,-2125.8318,21.3817,2123.1370,-2155.6719,21.3825, 5.0);
                        }
                case CHECKPOINT_19:
                        {

                                GameTextForPlayer(playerid, string, 5000, 4);
                                LessonStat[playerid]++;
                                pLessonCar[playerid] = CHECKPOINT_20;
                                SetPlayerRaceCheckpoint(playerid, 0,2123.1370,-2155.6719,21.3825,2127.3125,-2209.3445,21.3865, 5.0);
                        }
                case CHECKPOINT_20:
                        {
                                new Float:health;
                                GetVehicleHealth(GetPlayerVehicleID(playerid),health);
                                if (health >= 850)
                                {
                                        JobCarTime[playerid] = 0;
                                        LessonCar[playerid] = 0;
                                        LessonStat[playerid] = 0;
                                        TakingLesson[playerid] = 0;
                                        PlayerInfo[playerid][pCarLicA] = 1;
                                        PlayerInfo[playerid][pCarLicB] = 1;
                                        PlayerInfo[playerid][pCarLicC] = 1;
                                        PlayerInfo[playerid][pCarLicD] = 1;
                                        DisablePlayerRaceCheckpoint(playerid);
                                        SendClientMessage(playerid, COLOR_GREEN, "Вы успешно сдали на права! Пожалуйста припаркуйте автомобиль!");
                                }
                                else
                                {
                                        SendClientMessage(playerid, COLOR_GRAD1, "Вы не достаточно хорошо водите, чтобы получить права");
                                        JobCarTime[playerid] = 0;
                                        LessonCar[playerid] = 0;
                                        LessonStat[playerid] = 0;
                                        TakingLesson[playerid] = 0;
                                }
                        }
                }
        }
}
//==============================================================================
//Вставить в public OnGameModeInit()
//========================================[АШ]==========================================
new nomer0, Text3D:nomeru0;
nomer0 = instcar[0] = AddStaticVehicleEx(502, 2138.8169, -2209.2642, 21.7243, 0.3185,3,1,150); //координаты для машин АШ
nomeru0 = Create3DTextLabel( "Учебная", 0xFF0000, 0.0,0.0,0.0,15.0,0,1);
Attach3DTextLabelToVehicle( nomeru0, nomer0, 0.0, 0.0, 2.0 );
//
new nomer1, Text3D:nomeru1;
nomer1 = instcar[1] = AddStaticVehicleEx(502, 2134.6306, -2209.2603, 21.7243, 0.1969,3,1,150); //координаты для машин АШ
nomeru1 = Create3DTextLabel( "Учебная", 0xFF0000, 0.0,0.0,0.0,15.0,0,1);
Attach3DTextLabelToVehicle( nomeru1, nomer1, 0.0, 0.0, 2.0 );
//
new nomer2, Text3D:nomeru2;
nomer2 = instcar[2] = AddStaticVehicleEx(494, 2130.4304, -2209.2188, 21.7243, 0.1969,3,1,150); //координаты для машин АШ
nomeru2 = Create3DTextLabel( "Учебная", 0xFF0000, 0.0,0.0,0.0,15.0,0,1);
Attach3DTextLabelToVehicle( nomeru2, nomer2, 0.0, 0.0, 2.0 );
//
new nomer3, Text3D:nomeru3;
nomer3 = instcar[3] = AddStaticVehicleEx(494, 2126.1509, -2209.1458, 21.7243, 0.1969,3,1,150); //координаты для машин АШ
nomeru3 = Create3DTextLabel( "Учебная", 0xFF0000, 0.0,0.0,0.0,15.0,0,1);
Attach3DTextLabelToVehicle( nomeru3, nomer3, 0.0, 0.0, 2.0 );
//=============================================================================================

//ВНИМАНИЕ ВНИМАНИЕ
//Это вставить в конец мода
CALLBACK: IsABoat(carid) // Лодки,а,коробли
{
        new model = GetVehicleModel(carid);
        if(model == 430 || model == 446 || model == 452 || model == 453 || model == 454 || model == 472 || model == 473 || model == 484 || model == 493 || model == 539){return true;}return false;
}
//==============================================================================
CALLBACK: IsAPlane(carid)// Самолёты,вертолёты
{
        new model = GetVehicleModel(carid);
        if(model == 417 || model == 425 || model == 447 || model == 460 || model == 469 || model == 476 || model == 487 || model == 488 || model == 497 || model == 511 || model == 512 || model == 513 || model == 519 || model == 520 || model == 548 || model == 553 || model == 563 || model == 577 || model == 592 || model == 593){return true;}return false;
}
IsACarA(carid)//Лицензии категории A
{
        new m = GetVehicleModel(carid);
        if(m==448||m==461||m==463||m==468||m==521||m==523||m==581||m==586||m==522)
        {
                return true;
        }
        return false;
}

IsACarB(carid)//Лицензии категории B
{
        new m = GetVehicleModel(carid);
        if(m==400||m==401||m==402||m==404||m==405||m==409||m==410||m==411||m==412||m==415||m==419
                        ||m==420||m==421||m==422||m==424||m==426||m==429||m==434||m==436||m==438||m==439||m==441
                        ||m==442||m==444||m==445||m==451||m==457||m==458||m==466||m==467||m==470||m==474||m==475
                        ||m==477||m==479||m==480||m==485||m==489||m==490||m==491||m==492||m==494||m==495||m==496
                        ||m==500||m==502||m==503||m==504||m==505||m==506||m==507||m==516||m==517||m==518||m==526
                        ||m==527||m==528||m==529||m==530||m==533||m==534||m==535||m==536||m==540||m==541||m==542
                        ||m==543||m==545||m==546||m==547||m==549||m==550||m==551||m==554||m==555||m==556||m==557
                        ||m==558||m==559||m==560||m==561||m==562||m==565||m==566||m==567||m==568||m==571||m==575
                        ||m==576||m==579||m==580||m==585||m==587||m==596||m==597||m==598||m==599||m==600||m==602
                        ||m==603||m==604||m==605)
        {
                return true;
        }
        return false;
}

IsACarC(carid)//Лицензии категории C
{
        new m = GetVehicleModel(carid);
        if(m==403||m==406||m==407||m==408||m==416||m==427||m==428||m==433||m==435||m==443||m==455||m==456||m==478||m==486||m==514||m==515||m==524||m==532||m==531||m==544
                        ||m==569||m==573||m==578||m==583||m==584||m==590||m==591||m==606||m==607||m==608||m==610||m==432||m==611)
        {
                return true;
        }
        return false;
}
IsACarD(carid)//Лицензии категории D
{
        new m = GetVehicleModel(carid);
        if(m==418||m==431||m==437||m==449||m==459||m==482||m==483||m==414||m==413||m==498||m==437||m==438)
        {
                return true;
        }
        return false;
}

IsACarDriving(carid)
{
        new model = GetVehicleModel(carid);
        if(model == 509 || model == 481 || model == 510|| model == 592 || model == 577 || model == 511
                        || model == 512 || model == 593 || model == 520 || model == 553|| model == 476 || model == 519
                        || model == 460 || model == 513 || model == 548 || model == 425 || model == 417|| model == 487
                        || model == 488 || model == 497 || model == 563 || model == 447 || model == 469|| model == 430
                        || model == 446 || model == 452 || model == 453 || model == 454 || model == 472|| model == 473
                        || model == 484 || model == 493 || model == 539 || model == 595)
        {
                return true;
        }
        return false;
}

//Тестирование ПДД==============================================================
CALLBACK: IO1(playerid)
{
        SendClientMessage(playerid, COLOR_YELLOW, "[Введение]");
        SendClientMessage(playerid, COLOR_YELLOW, "---------------------------------------------------------------------------------------------------");
        SendClientMessage(playerid, COLOR_GREEN, "Приветствуем вас в нашей Автошколе г.Южный! Добро пожаловать!");
        SendClientMessage(playerid, COLOR_GREEN, "В данной автошколе вы можете обучится вождению на все виды транспорта.");
        SendClientMessage(playerid, COLOR_GREEN, "У нас есть 2 способа сдачи на водительские права: Теория+Практика и Экстерн.");
        SendClientMessage(playerid, COLOR_GREEN, "Вы предпочли: Экстерн. Пожалуйста прочтите и ознакомьтесь с инструктажем!");
        SendClientMessage(playerid, COLOR_YELLOW, "---------------------------------------------------------------------------------------------------");
}
CALLBACK: IO2(playerid)
{
        SendClientMessage(playerid, COLOR_YELLOW, "[Управление скоростью]");
        SendClientMessage(playerid, COLOR_YELLOW, "---------------------------------------------------------------------------------------------------");
        SendClientMessage(playerid, COLOR_GREEN, "Управление скоростью очень важно, так превышение скорости может привести к потере");
        SendClientMessage(playerid, COLOR_GREEN, "управляемости и возможной потере жизни. Это увеличивает");
        SendClientMessage(playerid, COLOR_GREEN, "возможность попадания в аварию. Очень важно набрать скорость, которая подходит");
        SendClientMessage(playerid, COLOR_GREEN, "к текущим условиям (или вы на шоссе или едете по гравию). Не слишком быстро и не слишком медленно.");
        SendClientMessage(playerid, COLOR_YELLOW2, " ");
}
CALLBACK: IO3(playerid)
{
        SendClientMessage(playerid, COLOR_GREEN, "Также важно не разговаривать по телефону с подружкой и не набирать СМСку, когда");
        SendClientMessage(playerid, COLOR_GREEN, "ведёте авто.Это также увеличивает возможность попадания в аварию");
        SendClientMessage(playerid, COLOR_GREEN, "пожалуйста, останавливайтесь, когда хотите поговорить по телефону или набрать СМС.");
        SendClientMessage(playerid, COLOR_YELLOW, "---------------------------------------------------------------------------------------------------");
}
CALLBACK: IO4(playerid)
{
        SendClientMessage(playerid, COLOR_YELLOW, "[Дорожные знаки]");
        SendClientMessage(playerid, COLOR_YELLOW, "---------------------------------------------------------------------------------------------------");
        SendClientMessage(playerid, COLOR_GREEN, "Белая линия после барьеров означает, что здесь запрещена");
        SendClientMessage(playerid, COLOR_GREEN, "стоянка всегда, здесь всегда должно быть свободное место. Это также");
        SendClientMessage(playerid, COLOR_GREEN, "означает запрет остановки, кроме случаев критического состояния здоровья. Вам разрешено");
        SendClientMessage(playerid, COLOR_GREEN, "остановиться здесь только в том случае, если этого от вас требует полицейский.");
        SendClientMessage(playerid, COLOR_YELLOW, "---------------------------------------------------------------------------------------------------");
}
CALLBACK: IO5(playerid)
{
        SendClientMessage(playerid, COLOR_YELLOW, "[Дорожные правила]");
        SendClientMessage(playerid, COLOR_YELLOW, "---------------------------------------------------------------------------------------------------");
        SendClientMessage(playerid, COLOR_GREEN, "На четырёхполосной дороге (по 2 полосы на каждый путь) вам");
        SendClientMessage(playerid, COLOR_GREEN, "разрешено находиться на левой полосе только при обгоне другого");
        SendClientMessage(playerid, COLOR_GREEN, "транспортного средства либо при повороте влево в пределах 100 метров");
        SendClientMessage(playerid, COLOR_GREEN, "Вас ждёт уголовная ответственность за нахождение на этой полосе в других случаях.");
        SendClientMessage(playerid, COLOR_YELLOW2, " ");
}
CALLBACK: IO6(playerid)
{
        SendClientMessage(playerid, COLOR_YELLOW, "Окончание информационного курса.");
        SendClientMessage(playerid, COLOR_YELLOW, "Мы надеемся, что вы обратили на это внимание, так как теперь вам предстоит ответить на несколько вопросов!");
        SendClientMessage(playerid, COLOR_YELLOW, "---------------------------------------------------------------------------------------------------");
        SetTimerEx("DKT1", 5000, 0, "d", playerid);
}
CALLBACK: DKT1(playerid)
{
        SendClientMessage(playerid, COLOR_YELLOW, "Добро пожаловать в тест для водителей.");
        SendClientMessage(playerid, COLOR_NEWS, "---------------------------------------------------------------------------------------------------");
        SendClientMessage(playerid, COLOR_NEWS, "В тесте, вам будет задано несколько вопросов, чтобы проверить ваши знания");
        SendClientMessage(playerid, COLOR_NEWS, "по темам, которые были рассмотрены в теоретическом курсе безопасного вождения.");
        SendClientMessage(playerid, COLOR_NEWS, "Если вы ответите неправильно, вы провалите тест, но мы не будем штрафовать вас.");
        SendClientMessage(playerid, COLOR_NEWS, "---------------------------------------------------------------------------------------------------");
        SendClientMessage(playerid, COLOR_NEWS, "Чтобы ответить на вопрос, просто напишите номер правильного ответа.");
        SendClientMessage(playerid, COLOR_NEWS, "Если вопрос содержит два ответа, вы будете уведомлены об этом");
        SendClientMessage(playerid, COLOR_NEWS, "Чтобы написать 2 ответа, если ответы были 1 и 2, напишите: 1/2");
        SetTimerEx("DKT2", 20000, 0, "d", playerid);
}
CALLBACK: DKT2(playerid)
{
        DKT[playerid] = 1;
        SendClientMessage(playerid, COLOR_RED, "|____________________[Вопрос 1]____________________|");
        SendClientMessage(playerid, COLOR_YELLOW, "Если на улице с двухсторонним движением Вы услышите сирену спец. автомобиля, Вы должны:");
        SendClientMessage(playerid, COLOR_YELLOW, "1: Ускорить движение и освободить дорогу.");
        SendClientMessage(playerid, COLOR_YELLOW, "2: Прижаться на сколько можно вправо и остановиться.");
        SendClientMessage(playerid, COLOR_YELLOW, "3: Дать сигнал для обгона Вашей машины.");
        SendClientMessage(playerid, COLOR_YELLOW, "4: Продолжить движение с прежней скоростью.");
        SendClientMessage(playerid, COLOR_RED, "|___________________________________________________|");
        SendClientMessage(playerid, COLOR_YELLOW, " [Подсказка]Ответ:2");
        SendClientMessage(playerid, COLOR_RED, " ");
        SendClientMessage(playerid, COLOR_RED, " ");
}
CALLBACK: DKT3(playerid)
{
        DKT[playerid] = 2;
        SendClientMessage(playerid, COLOR_RED, "|____________________[Вопрос 2]____________________|");
        SendClientMessage(playerid, COLOR_YELLOW, "На дороге с двухсторонним движением перед правым поворотом Вы должны занять позицию:");
        SendClientMessage(playerid, COLOR_YELLOW, "1: С правой стороны дороги.");
        SendClientMessage(playerid, COLOR_YELLOW, "2: С левой стороны дороги.");
        SendClientMessage(playerid, COLOR_YELLOW, "3: С правой стороны от разделительной полосы.");
        SendClientMessage(playerid, COLOR_YELLOW, "4: Не имеет значения, где остановиться. Водитель подал сигнал поворота.");
        SendClientMessage(playerid, COLOR_RED, "|___________________________________________________|");
        SendClientMessage(playerid, COLOR_YELLOW, " [Подсказка]Ответ:1");
        SendClientMessage(playerid, COLOR_RED, " ");
}
CALLBACK: DKT4(playerid)
{
        DKT[playerid] = 3;
        SendClientMessage(playerid, COLOR_RED, "|____________________[Вопрос 3]____________________|");
        SendClientMessage(playerid, COLOR_YELLOW, "Почему опасно использование телефона во время движения?");
        SendClientMessage(playerid, COLOR_YELLOW, "1: Набор СМС во время вождения может причинить воспаление пальцев на руках.");
        SendClientMessage(playerid, COLOR_YELLOW, "2: Разговор по телефону во время движения может причинить сбой связи.");
        SendClientMessage(playerid, COLOR_YELLOW, "3: Разговор по телефону во время движения может обернуться аварией.");
        SendClientMessage(playerid, COLOR_YELLOW, "4: Это совсем не опасно.");
        SendClientMessage(playerid, COLOR_RED, "|___________________________________________________|");
        SendClientMessage(playerid, COLOR_YELLOW, " [Подсказка]Ответ:3");
        SendClientMessage(playerid, COLOR_RED, " ");
}
CALLBACK: DKT5(playerid)
{
        DKT[playerid] = 4;
        SendClientMessage(playerid, COLOR_RED, "|____________________[Вопрос 4]____________________|");
        SendClientMessage(playerid, COLOR_AMDRED, "[Примечание]: Здесь 2 ответа!");
        SendClientMessage(playerid, COLOR_YELLOW, "Что означает белая линия рядом с барьером?");
        SendClientMessage(playerid, COLOR_YELLOW, "1: Запрещён поворот направо.");
        SendClientMessage(playerid, COLOR_YELLOW, "2: Запрещена парковка в любое время.");
        SendClientMessage(playerid, COLOR_YELLOW, "3: Запрещена остановка, кроме случаев критическоо состояния здоровья.");
        SendClientMessage(playerid, COLOR_YELLOW, "4: Это ничего не значит.");
        SendClientMessage(playerid, COLOR_RED, "|___________________________________________________|");
        SendClientMessage(playerid, COLOR_YELLOW, " [Подсказка]Ответ:2/3");
        SendClientMessage(playerid, COLOR_RED, " ");
}
CALLBACK: DKT6(playerid)
{
        DKT[playerid] = 5;
        SendClientMessage(playerid, COLOR_RED, "|____________________[Вопрос 5]____________________|");
        SendClientMessage(playerid, COLOR_AMDRED, "[Примечание]: Здесь 2 ответа!");
        SendClientMessage(playerid, COLOR_YELLOW, "Когда вам разрешено находиться на левой полосе, если дорога имеет 4 полосы (по 2 на каждый путь)?");
        SendClientMessage(playerid, COLOR_YELLOW, "1: Ожидается поворот налево в пределах 100 метров.");
        SendClientMessage(playerid, COLOR_YELLOW, "2: Госпиталь в пределах 150 метров.");
        SendClientMessage(playerid, COLOR_YELLOW, "3: Всегда.");
        SendClientMessage(playerid, COLOR_YELLOW, "4: При обгоне другого транспортного средства.");
        SendClientMessage(playerid, COLOR_RED, "|___________________________________________________|");
        SendClientMessage(playerid, COLOR_YELLOW, " [Подсказка]Ответ:1/4");
        SendClientMessage(playerid, COLOR_RED, "");
}

CALLBACK: OnPlayerExitVehicle(playerid, vehicleid)
{
        SaveCar(vehicleid);
        StopAudioStreamForPlayer(playerid);
        //
        test1[playerid] = 0;
        seatbelt[playerid] = 0;
        dvig[playerid] = 0;
        DisableAll(playerid);
        if(TakingLesson[playerid] == 1)
        {
                SendClientMessage(playerid, COLOR_RED, "Автосдача прекращена, вы покинули автомобиль");
                DisablePlayerRaceCheckpoint(playerid); CPL[playerid] = 0;
                TakingLesson[playerid] = 0;
                SetVehicleToRespawn(GetPlayerVehicleID(playerid));
                return 1;
        }
        return true;
}
stock DisableAll(playerid){SetCameraBehindPlayer( playerid );DestroyObject( Player[playerid][camobj] );return true;}


 

 

Share this post


Link to post
Share on other sites

ГПС будет установлен?

 

Share this post


Link to post
Share on other sites

@AZUFRE нет

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Boomi4
      By Boomi4
      Не могу запустить сервер. Туповат в этом.
      Как я понял Плагин mysql_debian_static не запускается и от него уже все проблемы.
      Если есть решения подскажите пожалуйста.
       
       
    • vizixov
      By vizixov
      Привет! Помогите! Как реализовать чтобы на текстдраве при нажатии на 1 кнопку 1 раз на виполнялся SetPlayerGravity и GameTextForPlayer одна за другой при других нажатиях. Снизу прикрепил скриншот как бы я хотел видеть ето дело помогите реализовать.