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

В теме 4 сообщения

Введение на ваш сервер категорий прав А 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;}


 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@AZUFRE нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Sasha123452
      Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka и тд. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины). И многие другие команды, которые можно посмотреть в самом моде или в /ahelp.
    • От Sasha123452
      Слив мода LINE RP
      Скачать файл Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka и тд. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины). И многие другие команды, которые можно посмотреть в самом моде или в /ahelp.
      Добавил Sasha123452 Добавлено 14.10.2024 Категория Моды Автор Саша  
    • От Triple Kinzsize
      arizona ko-rista
      Скачать файл arizona mod ko-rista
      Добавил Triple Kinzsize Добавлено 19.12.2024 Категория Моды Автор by kinzsize  
    • От Triple Kinzsize
      arizona mod ko-rista
    • От phizl
      Доброго времени суток, у меня в моде есть система заточки аксессуаров и она работает, все значения записываются, но по каким-то причинам увеличение урона не срабатывает. У меня есть инклуд weapon-config, до этого в нём не было перехвата функции, я его сделал и по идее дефолтные паблики OnPlayerGiveDamage и OnPlayerTakeDamage щас срабатывают. Буду очень благодарен любой помощи! (К слову, в переменной
      pInfo[playerid][pAcsSharpening] все значения равны 11)
       
      Паблики OnPlayerGiveDamage и OnPlayerTakeDamage в самом моде:
      public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {     new damage;     switch(pInfo[playerid][pAcsSharpening][2])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     switch(pInfo[playerid][pAcsSharpening][3])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     return 1; } public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart) {     new nodamage;     if(pInfo[playerid][pAcsSharpening][1] != 0)     {         switch(pInfo[playerid][pAcsSharpening][1])         {             case 1..3: nodamage = 0;             case 4: nodamage = 2;             case 5: nodamage = 4;             case 6: nodamage = 5;             case 7: nodamage = 6;             case 8: nodamage = 8;             case 9: nodamage = 10;             case 10: nodamage = 12;             case 11,12: nodamage = 15;         }     }     if(pInfo[playerid][pAcsSharpening][4] != 0)     {         switch(pInfo[playerid][pAcsSharpening][4])         {             case 1..3: nodamage = 0;             case 4..11: nodamage = pInfo[playerid][pAcsSharpening][4]-2;             case 12: nodamage = 9;         }     }     new damage;     switch(pInfo[playerid][pAcsSharpening][2])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     switch(pInfo[playerid][pAcsSharpening][3])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     if(pInfo[playerid][pAcsSharpening][1] == 0 && pInfo[playerid][pAcsSharpening][4] == 1 || pInfo[playerid][pAcsSharpening][4] == 0 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100) * nodamage;     if(pInfo[playerid][pAcsSharpening][4] == 1 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100)*nodamage*2;     return 1; }  
      Эти же паблики, но в weapon-config с моим перехватом (расположен внизу каждого паблика), мало ли как-то не так сделал