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

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

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

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

/roadblock - блок пост для полиции

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

hOops

Новичок
Что дает команда: Команда позволяет законника ставить блоки для так сказать перекрытия дороги, чтобы легче было проверять водителей и т.д. В общем сами решайте что делать будете.
Ко всем форвардам ставим:
PHP:
forward ResetRoadblockTimer(); 
forward RemoveRoadblock(playerid);
Потом ко всем new ставим:
PHP:
new roadblocktimer = 0;

В pInfo ставим
PHP:
pRoadblock
В public OnPlayerConnect(playerid) ставим
PHP:
PlayerInfo[playerid][pRoadblock] = 0;

Потом в public OnPlayerDisconnect(playerid, reason) а точнее в конец его ставим
PHP:
if (PlayerInfo[playerid][pRoadblock] != 0)
    {
        RemoveRoadblock(playerid);
    }
Потом куда хотите ставьте паблики:
PHP:
public ResetRoadblockTimer()
{
    roadblocktimer = 0;
    return 1;
}
//==============================================================================
public RemoveRoadblock(playerid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
            {
                DisablePlayerCheckpoint(i);
            }
        }
    }
    DestroyObject(PlayerInfo[playerid][pRoadblock]);
    PlayerInfo[playerid][pRoadblock] = 0;
    return 1;
}
И наконец сами команды:
i
PHP:
f(strcmp(cmdtext, "/roadblock", true)==0 || strcmp(cmdtext, "/rb", true)==0)
    {
        if(PlayerInfo[playerid][pMember] == 1 && PlayerInfo[playerid][pLeader] == 1
        && PlayerInfo[playerid][pMember] == 2 && PlayerInfo[playerid][pLeader] == 2
        && PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pLeader] == 3) return SendClientMessage(playerid, COLOR_GREY, " Ты не законник!");
        if (PlayerInfo[playerid][pRoadblock] != 0) return SendClientMessage(playerid, COLOR_GREY, " Ты можешь использовать только 1 блок за раз, используй /unrb чтобы убрать его.");
        if (roadblocktimer != 0) return SendClientMessage(playerid, COLOR_GREY, " Подожди, прежде чем ставить еще один блок.");
        new Float:X, Float:Y, Float:Z, Float:A;
        GetPlayerPos(playerid, X, Y, Z);
        GetPlayerFacingAngle(playerid, A);
        PlayerInfo[playerid][pRoadblock] = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
        SetPlayerPos(playerid, X, Y, Z+4);
        GameTextForPlayer(playerid, "~w~Roadblock ~r~Placed", 5000, 5);
        SendClientMessage(playerid, COLOR_GREEN, " Блок поставлен успешно, используй /unrb или /roadunblock чтобы убрать его.");
        roadblocktimer = 1;
        GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), " Штаб:  %s установил дорожный блок, он помечен чекпоинтом на карте.", sendername);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1
                || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2
                || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
                {
                    SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
                    SendClientMessage(i, TEAM_BLUE_COLOR, string);
                    if (PlayerInfo[i][pRank] >= 5 && PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 1
                    || PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 2
                    || PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 3)
                    {
                        SendClientMessage(i, COLOR_YELLOW, " Ты можеш убрать все блоки, используя /unrball");
                    }
                }
            }
        }
        SetTimer("ResetRoadblockTimer", 60000, false);
        return 1;
    }

    if(strcmp(cmdtext, "/roadunblock", true)==0 || strcmp(cmdtext, "/unrb", true)==0)
    {
        if(PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1
        && PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] != 2
        && PlayerInfo[playerid][pMember] != 3 && PlayerInfo[playerid][pLeader] != 3)
        {
            SendClientMessage(playerid, COLOR_GREY, " Ты не законник!");
            return 1;
        }
        if (PlayerInfo[playerid][pRoadblock] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, " У тебя нету установленных дорожных блоков!");
            return 1;
        }
        RemoveRoadblock(playerid);
        SendClientMessage(playerid, COLOR_GREEN, " Дорожный блок успешно убран.");
        return 1;
    }

    if(strcmp(cmdtext, "/roadunblockall", true)==0 || strcmp(cmdtext, "/unrball", true)==0)
    {
        if (PlayerInfo[playerid][pRank] >= 5 && PlayerInfo[playerid][pMember] != 1||PlayerInfo[playerid][pLeader] != 1
        ||PlayerInfo[playerid][pMember] != 2 || PlayerInfo[playerid][pLeader] != 2
        ||PlayerInfo[playerid][pMember] != 3 || PlayerInfo[playerid][pLeader] != 3)
        {
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(PlayerInfo[i][pRoadblock] != 0)
                {
                    RemoveRoadblock(i);
                }
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            format(string, sizeof(string), " Штаб: Все дорожные блоки были убраны по указанию %s.", sendername);
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
                    {
                        SendClientMessage(i, TEAM_BLUE_COLOR, string);
                    }
                }
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_GREY, " Твой ранг должен быть 5, чтобы убрать се дорожные блоки!");
        }
        return 1;
    }
в игре пишем /roadblock
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу