Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Исправляем баги в моде Rezone-Rp 7.0. (Для Новичков).

Статус
В этой теме нельзя размещать новые ответы.

Maks_Sempai

Компетентный
Привет всем пользователям Pawno-Info. Я тут шарился на просторах Rezone, и наткнулся на очень простые баги. Не знаю был ли урок по их исправлению но я не нашёл.
-----------------------------------------------------------------------
P.S - Урок создан исключительно для новичков.
Кому-то что-то не нравиться сразу говорю идите лесом.
-----------------------------------------------------------------------​
1 - баг.
Баг с /atune.
Суть бага: Могли пользоваться все.
Просто замените свою команду на эту

Код:
if(strcmp(cmd, "/atune", true) == 0)
    {
        if (PlayerInfo[playerid][pAdmin] >= 9999) //Меняйте уровень админки на свой!
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
            SPD(playerid, 8004, 2, "Тюнинг меню", "Диски \nГидравлика \nАрхангел Тюнинг \nЦвет \nВинилы ", "Выбрать", "Назад");
        }
        else return SendClientMessage(playerid, COLOR_RED, "{ff0000}x{c0c0c0} Вы не водитель машины!");
    }
-----------------------------------------------------------------------​
2 - баг.Баг с /gmx.
Cуть бага: Могли пользоваться все.
Просто замените свою команду на эту
Код:
else if(strcmp(cmd, "/gmx", true) == 0)
    {
        if (PlayerInfo[playerid][pAdmin] >= 9999) //Меняйте уровень админки на свой!
        {
            SendClientMessageToAll(COLOR_YELLOW2,">>> {ECF2B6}Внимание! Происходит рестарт сервера, это займёт менее 15 секунд <<<");
            SendClientMessageToAll(COLOR_YELLOW2,">>> {ECF2B6}Администрация {E1F52F} "NameServer" {ECF2B6}приносит извинения, за предоставленные неудобства <<<");
            format(string, sizeof(string), "~r~RESTART");
            foreach (new i : Player)
            {
                new txtid;
                GameTextForPlayer(i, string, 5000, txtid);
            }
            SaveMaterials();
            GameModeExitFunc();
            format(string, sizeof(string), "~r~RESTART");
        }
        return true;
    }
-----------------------------------------------------------------------​

Обновлено: Истиную благодарность можете дать DmX и Steve


-----------------------------------------------------------------------​
3 - баг.Баг с /cuff.
Суть бага: Если игрок в наручниках то может двигаться/драться. Просто замените свою команду на мою.
Код:
else if(strcmp(cmd, "/cuff", true) == 0)
    {
        if(IsACop(playerid)|| IsAArm(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{2fff00}•{c0c0c0} /cuff [ID/NickName]");
            giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(IsACop(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Вы не можете надеть наручники на законника!");
                    if(PlayerCuffed[giveplayerid] == false)
                    {
                        if(ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            format(string, sizeof(string), "На Вас надел наручники %s.", sendername);
                            SendClientMessage(giveplayerid, 0x6495EDFF, string);
                            format(string, sizeof(string), "Вы надели наручники на %s.", giveplayer);
                            SendClientMessage(playerid, 0x6495EDFF, string);
                            format(string, sizeof(string), "%s надел(а) на %s наручники.", sendername ,giveplayer);
                            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            PlayerCuffed[giveplayerid] = true;
                            SetPlayerSpecialAction(giveplayerid, SPECIAL_ACTION_CUFFED);
                            TogglePlayerControllable(giveplayerid, 0); //Заморозка на наручники
                        }
                        else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Игрок не рядом с вами!");
                    }
                    else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Игрок уже в наручниках!");
                }
                else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Вы указал свой id");
            }
            else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Этот игрок в оффлайн!");
        }
        else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Вы не Полицейский/ФБР/Армия !");
    }
-----------------------------------------------------------------------​
4 - баг.Баг с /uncuff.
Суть бага: Если снять с игрока наручники то он будет стоять каббу-то в наручниках. Для начала надо изменить /cuff.
Код:
else if(strcmp(cmd, "/uncuff", true) == 0)
    {
        if(IsACop(playerid)|| IsAArm(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{2fff00}•{c0c0c0} /cuff [ID/NickName]");
            giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(IsACop(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Вы не можете надеть наручники на законника!");
                    if(PlayerCuffed[giveplayerid] ==true)
                    {
                        if(ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            format(string, sizeof(string), "С Вас снял наручники %s.", sendername);
                            SendClientMessage(giveplayerid, 0x6495EDFF, string);
                            format(string, sizeof(string), "Вы сняли наручники с %s.", giveplayer);
                            SendClientMessage(playerid, 0x6495EDFF, string);
                            PlayerCuffed[giveplayerid] = false;
                            RemovePlayerAttachedObject(playerid, 6);
                            SetPlayerSpecialAction(giveplayerid, SPECIAL_ACTION_NONE);
                            TogglePlayerControllable(giveplayerid, 1); //Заморозка на наручники
                        }
                        else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Игрок не рядом с вами!");
                    }
                    else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Игрок не в наручниках!");
                }
                else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Вы указал свой id");
            }
            else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Этот игрок в оффлайн!");
        }
        else return SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Вы не Полицейский/ФБР/Армия !");
    }
-----------------------------------------------------------------------​
5 - баг.Баг с /tazer.
Суть бага: Если ударить тазером то игрок будет стоять всё время при это оглушится сам сотрудник LSPD.
Код:
else if(strcmp(cmd, "/tazer", true) ==0)    {
            if(IsACop(playerid) || PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 3 )
            {
                if(IsPlayerInAnyVehicle(playerid)) return     SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Невозможно использовать в машине!");
                if(Tazer[playerid] == 1) return  SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Перезарядка тайзера ещё не прошла!");
                new suspect = GetClosestPlayer(playerid);
                if(IsPlayerConnected(suspect))
                {
                        if(PlayerCuffed[suspect] == true) return  SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Игрок уже в наручниках!");
                        if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
                    {
                        if(IsACop(suspect)) return   SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Вы не можете ударить тазером законника");
                        if(IsPlayerInAnyVehicle(suspect)) return      SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Человек в машине!");
                        GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "Вас оглушили электрошокером %s на 15 секунд.", sendername);
                        SendClientMessage(suspect, 0x6495EDFF, string);
                        format(string, sizeof(string), "Вы оглушили электрошокером %s на 15 секунд.", giveplayer);
                        SendClientMessage(playerid, 0x6495EDFF, string);
                        format(string, sizeof(string), "%s оглушил(а) %s ", sendername ,giveplayer);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        TogglePlayerControllable(suspect, 0);
                        SetPlayerSpecialAction(suspect,SPECIAL_ACTION_HANDSUP);
                        Tazer[suspect] = 1;
                        TazerTime[suspect] = 10;
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Рядом с тобой никого нет!");
                        return 1;
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "{ff0000}x{c0c0c0} Вам не доступна данная команда!");
            }
        return 1;
    }
-----------------------------------------------------------------------​
Вот и всё, найденые исправленные баги буду отписывать сюда.
Кто нашёл ещё какие-нибудь баги прошу писать их сюда - ИСПРАВЛЮ.
У меня не было префикса "Урок", поставьте если не сложно.

+ не прошу. Т.к это в помощь новичкам.
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу