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

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

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

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

Полные комплект команды МП (хп,броня,тп и оружия)

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

dan4ik228

Дебютант
Здравствуйте:av:,я написал полную команду, здесь сразу есть всё для МП


Данная команда даёт ХП кто стоит возле вас на МП

PHP:
if(strcmp(cmd, "/hpmp", true) == 0) 
    { 
        if (PlayerInfo[playerid][pAdmin] >= 1 )// ИМ и старше 
        { 
            for(new i = 0; i < MAX_PLAYERS; i++) 
               { 
                if(GetDistanceBetweenPlayers(playerid,i) < 32 && playerid != i ) 
                { 
                    SetPlayerHealth(i,100); 
                     SendClientMessage(i, COLOR_GRAD1, " Администратор пополнил тебе здоровье."); 
                  } 
            } 
            SendClientMessage(playerid, COLOR_GRAD1, " Ты пополнил здоровье рядом находящимся игрокам."); 
            return 1; 
        } 
        SendClientMessage(playerid, COLOR_GRAD1, " Нет прав для использования этой команды"); 
        return 1; 
     }
--------------------------------------------------------------------------------------------------
Данная команда даёт броню кто стоит возле вас на МП

PHP:
if(strcmp(cmd, "/armormp", true) == 0) 
    { 
        if (PlayerInfo[playerid][pAdmin] >= 1 )// ИМ и старше 
        { 
            for(new i = 0; i < MAX_PLAYERS; i++) 
               { 
                 if(GetDistanceBetweenPlayers(playerid,i) < 32 && playerid != i ) 
                 { 
                      SetPlayerArmour(i,100); 
                       SendClientMessage(i, COLOR_GRAD1, " Администратор пополнил тебе Броню."); 
                   } 
            } 
            SendClientMessage(playerid, COLOR_GRAD1, " Ты пополнил здоровье рядом находящимся игрокам."); 
            return 1; 
        } 
        SendClientMessage(playerid, COLOR_GRAD1, " Нет прав для использования этой команды"); 
        return 1; 
     }
--------------------------------------------------------------------------------------------------
На всех рп серверах есть МП(конкурсы ивенты и.т.д), чтоб тп на МП , восновном все люди пишут в репорт свой ид но я сделал иначе!
для начало содаем enum для тп


PHP:
enum IMPEnum
{
    IMPID,
    IMPType,        // тип ивента,если 0 то ивент отключен
    IMPRW,             // конфисковывать ли оружие?
    IMPFreeze,         // замораживать ли игроков?
    IMPGunID,        // оружие
    IMPAmmo,        // патроны  к оружию
    IMPCar,            // модель машины если 0  = ент
    Float:IMPPosX,  // позиция X
    Float:IMPPosY,  // позиция  Y
    Float:IMPPosZ,  // позиция Z
    IMPInt,          // интерьер
       IMPObjInt,      // интерьер обьектов
    IMPPosR         // радиус по XY
}
new IMP[IMPEnum];
затем создаем команду чтоб открыть/закрыть телепорт у нас будет /mp
идем в Public OnPlayerCommandText


PHP:
if(strcmp(cmd, "/mp", true) == 0 || strcmp(cmd, "/meropr", true) == 0)
    {
        if (PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] >= 3)
        {
            new type,radius,wr,stype[64];
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, " Использование: /mp [тип ивента не более 10] [радиус телепорта] (конф оружие 1/0) (заморозка 1/0)");
                return 1;
            }
            type = strval(tmp);
            if(type>10 || type<0)
            {
                SendClientMessage(playerid, COLOR_GRAD1, " Недопустимое значение.");
                return 1;
            }
            if(type==0)
            {
                if(IMP[IMPType]==0)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, " Мероприятие не было начато!");
                    return 1;
                }
                IMP[IMPType]=0;
                GetPlayerName(playerid, sendername, sizeof(sendername));
                format(string, sizeof(string), " Объявление: ТП завершен! Контракт: [%d]%s Номер: %d ",  playerid,sendername,PlayerInfo[playerid][pPnumber]);
                BroadCast(TEAM_GROVE_COLOR,string);
                return 1;
            }
            IMP[IMPType]=type;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                radius = 4;
            }
            else radius = strval(tmp);
            if(radius>10 || radius<0) return SendClientMessage(playerid, COLOR_GRAD1, " Недопустимое значение.");
            IMP[IMPPosR]=radius;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                wr=0;
            }
            else wr = strval(tmp);
            if(wr<0 || wr >1)return SendClientMessage(playerid, COLOR_GRAD1, " Недопустимое значение.");
            IMP[IMPRW]=wr;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                wr=0;
            }
            else wr = strval(tmp);
            if(wr<0 || wr >1)return SendClientMessage(playerid, COLOR_GRAD1, " Недопустимое значение.");
            IMP[IMPFreeze]=wr;
            GetPlayerPos(playerid,IMP[IMPPosX],IMP[IMPPosY],IMP[IMPPosZ]);IMP[IMPInt]=GetPlayerInterior(playerid);
            switch(type)// причина
            {
                case 1: format(stype,64, "Ивент:  ДМ , после ТП сразу в линию!");
                case 2: format(stype,64, "Ивент:  Гонка , после ТП сразу по машинам и в Линию!");
                case 3: format(stype,64, "Ивент:  Дерби , после ТП сразу по машинам!");
                case 4: format(stype,64, "Телепорт: к Мерии ");
                case 5: format(stype,64, "Ивент:  ТДМ, Террористы против Ментов!");
                case 6: format(stype,64, "Телепорт: Осмотр местности для ТДМ, после ТП в Линию!");
                case 7: format(stype,64, "Ивент: Гонка на Гидрах(В разрабоке) ");
                case 8: format(stype,64, "Ивент: Скриптовый ДМ, после ТП сразу в Линию! ");
                case 9: format(stype,64, "Ивент: Скриптовая гонка, после ТП сразу по машинам и в Линию! ");
                case 10: format(stype,64, "Ивент: Скриптовый Дерби, после ТП сразу в Линию! ");
                default: return 1;
            }
//            format(string, sizeof(string), " Администратор %s: [%s] Ипспользуйте: /tomp для телепорта.", sendername,stype);
            GetPlayerName(playerid, sendername, sizeof(sendername));
            format(string, sizeof(string), " Объявление: %s,пишем ИД! Контракт: [%d]%s Номер: %d ",  stype,playerid,sendername,PlayerInfo[playerid][pPnumber]);
            BroadCast(TEAM_GROVE_COLOR,string);
        }
    }
    if (!strcmp("/tomp", cmd,true))
    {
        ToIvent(playerid);
        return 1;
    }
чтоб открыть тп надо написать так: /mp [тип мероприятия от 1 до 10][радиус от 1 до 10][дать оружие1/0][зароморить1/0] .
чтоб закрыть тп пишем /mp 0 0 0 0!
____________________________________
Дальше суем это в конец мода!


PHP:
 ToIvent(playerid)
{
    new carid;
    if(PlayerInfo[playerid][pJailed]>0) SendClientMessage(playerid, COLOR_GREY, " Недопустимая комманда для заключенных.");
     else
    {
        if(IMP[IMPType]>0)
        {
            if(IMP[IMPType]==4)//телепорт к мерии
            {
                SetPlayerPos(playerid,1498.0271,-1744.0148,13.5469);
                SetPlayerFacingAngle(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(IMP[IMPType]==7) //телепорт на гидрах
            {
                SetPlayerPos(playerid,1214.2761,-903.8991,42.6997);
                PutPlayerInVehicle(playerid,520,1);
                LockCar(carid);
                Gas[carid] = GasMax;
                SetPlayerHealth(playerid,100);
                SetPlayerVirtualWorld(playerid, 1);
                }
            if(IMP[IMPType]==9) //телепорт на гидрах
            {
                SetPlayerPos(playerid,PlayMission[kCP1][0],PlayMission[kCP1][1],PlayMission[kCP1][2]);
                //PutPlayerInVehicle(playerid,520,1);
                SetPlayerHealth(playerid,100);
                SetPlayerVirtualWorld(playerid, 1);
                }
            else
            {
                SetPlayerPos(playerid,IMP[IMPPosX]+RandomEx(-IMP[IMPPosR],IMP[IMPPosR]),IMP[IMPPosY]+RandomEx(-IMP[IMPPosR],IMP[IMPPosR]),IMP[IMPPosZ]);
                SetPlayerInterior(playerid,IMP[IMPInt]);
            }
            SetPlayerHealth(playerid,100);
            if(IMP[IMPRW]) ResetPlayerWeapons(playerid);
            if(IMP[IMPFreeze]) TogglePlayerControllable(playerid,0);
            SendClientMessage(playerid, COLOR_GREY, " Тебя телепортировали на ивент.");
        }
        else SendClientMessage(playerid, COLOR_GRAD1, " Ивент отключен.");
    }
}
RandomEx(min, max)
{
    return random(max - min) + min;
}
и теперь идем в public OnPlayerText (это нужно чтоб если ты написал в чат свой ид то ты будешь тп!)

PHP:
if(IMP[IMPType]!=0)
    {
        new id=ReturnUser(text);
        if(id==playerid)
        ToIvent(playerid);
        return 0;
    }
--------------------------------------------------------------------------------------------------
Данная команда даёт оружия кто стоит возле вас на МП

PHP:
if(strcmp(cmd, "/givegunmp", true) == 0) 
   { 
       if(IsPlayerConnected(playerid)) 
       { 
            if (PlayerInfo[playerid][pAdmin] < 2 ) return SendClientMessage(playerid, COLOR_GRAD1, " Нет прав для использования этой команды"); 
         new gun; 
         new ammo; 
         tmp = strtok(cmdtext, idx); 
         gun = strval(tmp); 
         if(!strlen(tmp)) 
         { 
            SendClientMessage(playerid, COLOR_GRAD1, " Используйте: /givegungro  [Ид-оружия] [патроны]"); 
            SendClientMessage(playerid, COLOR_GRAD4, "3(Club) 4(knife) 5(bat) 6(Shovel) 7(Cue) 8(Katana) 10-13(Dildo) 14(Flowers) 16(Grenades) 18(Molotovs) 22(Pistol) 23(SPistol)"); 
            SendClientMessage(playerid, COLOR_GRAD3, "24(Eagle) 25(shotgun) 29(MP5) 30(AK47) 31(M4) 33(Rifle) 34(Sniper) 37(Flamethrower) 41(spray) 42(exting) 43(Camera) 46(Parachute)"); 
            return 1; 
         } 
         if(gun < 1||gun > 46||gun==27||gun==1||gun==2||gun==9||gun==17||gun==19||gun==20||gun==21||gun==36||gun==38||gun==39||gun==40||gun==44||gun==45) 
         { SendClientMessage(playerid, COLOR_GRAD1, " Неизвестное оружие!"); return 1; } 
         tmp = strtok(cmdtext, idx); 
         ammo = strval(tmp); 
         if(ammo <1||ammo > 999) 
         { SendClientMessage(playerid, COLOR_GRAD1, " Патронов от 1 до 999 шт!"); return 1; } 
         for(new i = 0; i < MAX_PLAYERS; i++) 
            { 
            if(GetDistanceBetweenPlayers(playerid,i) < 32 && playerid != i ) 
            { 
//                  PyxiTime[playa] = 5; 
                  ServerGivePlayerWeapons(i, gun, ammo); 
                  SendClientMessage(i, COLOR_GRAD1, " Администратор выдал тебе оружие."); 
               } 
         } 
         SendClientMessage(playerid, COLOR_GRAD1, " Ты дал оружие рядом находящимся игрокам."); 
         printf("Использвалась команда %s",cmd); 
         return 1; 
      } 
      return 1; 
   }
**************************
От + не откажусь :df:
**************************
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу