[/roadblock]создание блока для копов



 
ФорумПоследние изображенияПоискРегистрацияВход

 

 [/roadblock]создание блока для копов

Перейти вниз 
Участников: 2
АвторСообщение
NikeDunk




Сообщения : 37
Дата регистрации : 2011-08-11

[/roadblock]создание блока для копов Empty
СообщениеТема: [/roadblock]создание блока для копов   [/roadblock]создание блока для копов EmptyЧт Авг 11, 2011 11:29 am

Всем доброго времени суток. Я долго пытался сделать блоки для копов и они все получались с багами . Потом я увидел блоки на одном серве и нашел их в одном моде. Вот немног оподправил их под себя и решил выложить суда.

Что дает команда: Команда позволяет законника ставить блоки для так сказать перекрытия дороги, чтобы легче было проверять водителей и т.д. В общем сами решайте что делать будете.
Ко всем форвардам ставим:
Код:
forward ResetRoadblockTimer();
forward RemoveRoadblock(playerid); 
Потом ко всем new ставим:
Код:
new roadblocktimer = 0; 
В pInfo ставим
Код:
pRoadblock
В public OnPlayerConnect(playerid) ставим
Код:
PlayerInfo[playerid][pRoadblock] = 0; 
Потом в public OnPlayerDisconnect(playerid, reason) а точнее в конец его ставим
Код:
    if (PlayerInfo[playerid][pRoadblock] != 0)
    {
        RemoveRoadblock(playerid);
    } 
Потом куда хотите ставьте паблики:
Код:
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;
И наконец сами команды:
Код:
  if(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
Переделывал проверки на фракции и редактировал немного код. В общем это команда пойдет на все моды!!!
Вернуться к началу Перейти вниз
Vanek




Сообщения : 1
Дата регистрации : 2011-09-16

[/roadblock]создание блока для копов Empty
СообщениеТема: Re: [/roadblock]создание блока для копов   [/roadblock]создание блока для копов EmptyПт Сен 16, 2011 5:04 am

Здрасте. Херли вы материалы пиз**те а ресурс откуда взяли не указываете? Вот [url=forum.pawno.ru/showthread.php/36391-All-roadblock-создание-блока-для-копов] ресурс [/url]
Вернуться к началу Перейти вниз
 
[/roadblock]создание блока для копов
Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» Урок по создание фракции.
» Создание диалогового окна!
» [Урок] Создание Алкотеста
» Создание gang zone с захватом TDM
» Создание ворот на кнопке/автоматическое закрытие

Права доступа к этому форуму:Вы не можете отвечать на сообщения
SPawno :: PAWNO :: PAWNO WIKI-
Перейти:  
Создать форум | Общество и актуальные темы | Общественные темы | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении | Последние обсуждения