Перейти к содержанию
Авторизация  
XuPypg

Система материалов

Рекомендуемые сообщения

XuPypg

Данная система похожа на систему из САМП-РП.

Версия:v.1.2

объясню подробнее:законники должны на авианосце привезти материалы на склад в зону 51...там есть пекапы по которым банды могут воровать материалы...в общак банд можно так же воровать маты теперь...когда подходишь к пекапу набираешь команду /materials get - взять 1к матов садишься в свой фургон (обязательно в фургон от банды) вводишь /materials put положить маты в фургон...команда /unloding разгрузить маты у себя на базе(не доработано еще)

(скажу сразу будет обновляться)

Если заметили ошибку или хотите предложить что либо пишите(отзывы очень важны)

 

Ко всем new добавим

new mats1;
new mats2;
new colmats;
new matscar1;
new matscar2;
new objakgro;
new objakbal;
new objakcor;
new objakvag;
new objakrif;
new furgon[5];
new matso;
в паблик

public OnPlayerPickUpPickup

вставляем

else if(pickupid == mats1)
      {
      new l = PlayerInfo[playerid][pLeader];
      new m = PlayerInfo[playerid][pMember];
      if(l==14 || l==1 ||l==2||l==3||l==8||l==12||l==20 || l==15 || l==16 || l==17 || l==18 || m==14 || m==15 || m==16 || m==17 || m==18|| m==1 ||m==2||m==3||m==8||m==12||m==20)
      {
        if(colmats < 20)
        {
          SendClientMessage(playerid, COLOR_RED, "На складе нет материалов");
        }
        else
        {
         PlayerInfo[playerid][pMats]+=20;
         SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы взяли несколько комплектов");
         colmats=colmats-20;
        }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREEN, "Вы не состоите в преступных группировках или вы не законник");
    }
    return 1;
    }
       else if(pickupid == mats2)
      {
      new l = PlayerInfo[playerid][pLeader];
      new m = PlayerInfo[playerid][pMember];
      if(l==14 || l==1 ||l==2||l==3||l==8||l==12||l==20 || l==15 || l==16 || l==17 || l==18 || m==14 || m==15 || m==16 || m==17 || m==18|| m==1 ||m==2||m==3||m==8||m==12||m==20)
      {
        if(colmats < 20)
        {
          SendClientMessage(playerid, COLOR_RED, "На складе нет материалов");
        }
        else
        {
         PlayerInfo[playerid][pMats]+=20;
         SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы взяли несколько комплектов");
         colmats=colmats-20;
        }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREEN, "Вы не состоите в преступных группировках или вы не законник");
    }
    return 1;
    }
в паблик

public OnGameModeInit()

пикапы и авиносцы

objakgro = CreatePickup(1239,2,2505.8123,-1694.6447,13.5579);
objakcor = CreatePickup(1239,2,1663.2285,-2113.6067,13.5469);
objakbal = CreatePickup(1239,2,2644.9167,-2033.7373,13.5540);
objakrif = CreatePickup(1239,2,2184.0181,-1812.2617,13.5469);
objakvag = CreatePickup(1239,2,2767.7549,-1616.6736,10.9219);
 mats1 = CreatePickup(1239,2,129.8493,1875.6160,17.8359);
    mats2 = CreatePickup(1239,2,124.8786,1876.2286,17.8359);
   matscar1 = AddStaticVehicleEx(548,-1287.83801270,447.79321289,9.08756161,0.00000000,-1,-1,30000); //Cargobob
    matscar2 = AddStaticVehicleEx(470,-1349.24914551,456.36822510,7.29751158,0.00000000,-1,-1,30000); //Patriot
    CreatePickup(1239,2,275.2503,1829.7740,17.6406);
    Create3DTextLabel("/materials",0xBFF600FF,275.2503,1829.7740,17.6406,20.0,0);
furgon[3]=AddStaticVehicleEx(418,2649.13476562,-2009.16430664,13.49035358,268.69067383,85,85,30000); 
furgon[2]=AddStaticVehicleEx(418,2505.81274414,-1672.85095215,13.26896763,67.48950195,16,16,30000); 
furgon[4]=AddStaticVehicleEx(418,2187.64599609,-1797.88012695,13.11032677,49.62463379,108,108,30000); 
furgon[1]=AddStaticVehicleEx(418,2771.26904297,-1609.55798340,10.67187500,272.66064453,6,6,30000); 
furgon[0]=AddStaticVehicleEx(418,1694.37329102,-2118.54394531,13.52521706,326.25524902,2,2,30000);
в паблик public CarEnter(playerid,carid)

if(carid >= matscar1 && carid <= matscar2)
    {
        if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3||PlayerInfo[playerid][pMember] == 1|| PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pMember] == 2|| PlayerInfo[playerid][pLeader] == 2||PlayerInfo[playerid][pMember] == 8|| PlayerInfo[playerid][pLeader] == 8||PlayerInfo[playerid][pMember] == 12|| PlayerInfo[playerid][pLeader] == 12||PlayerInfo[playerid][pMember] == 20|| PlayerInfo[playerid][pLeader] == 20)//фракции ставим свои...это законники
        {
        ShowPlayerDialog(playerid,5551,DIALOG_STYLE_MSGBOX,"Система материалов","{FF0000}Вы хотете отвезти материалы на военную базу?","Да","Отмена");
        }
        else
        {
            SendClientMessage(playerid,COLOR_LIGHTRED2,"Вы законник!");
            RemovePlayerFromVehicle(playerid);
        }
    }
в public OnDialogResponse

вставляем

if(dialogid == 5551)
    {
    if(response)
    {
    SetPlayerCheckpoint(playerid,136.7081,1875.6571,22.4375,5.0);
    }
    }
в public OnPlayerEnterCheckpoint

вставляем

if(PlayerToPoint(2.0, playerid,136.7081,1875.6571,22.4375))
    {
    colmats+=5000;
    DisablePlayerCheckpoint(playerid);
     }
в public OnPlayerCommandText

вставляем

if(strcmp(cmd,"/materials",true)==0)
    {
        if(IsPlayerConnected(playerid))
        {
        new l = PlayerInfo[playerid][pLeader];
          new m = PlayerInfo[playerid][pMember];
          new ran = PlayerInfo[playerid][pRank];
          if(l==14|| l==15 || l==16 || l==17 || l==18 || (m==14&&ran>=4) || (m==15&&ran>=4) || (m==16&&ran>=4) || (m==17&&ran>=4) || (m==18&&ran>=4))
            {
            new x_nr[256];
            x_nr = strtok(cmdtext, idx);
            if(!strlen(x_nr))
            {
                SendClientMessage(playerid, COLOR_WHITE, " Используйте: /materials [name]");
                SendClientMessage(playerid, COLOR_WHITE, "Доступные названия: Get, Put.");
                return 1;
            }
            if(strcmp(x_nr,"get",true) == 0)
            {
                if(PlayerToPoint(3.0,playerid,275.2503,1829.7740,17.6406))
                {
                if( matso >= 1000)
                {
                SendClientMessage(playerid, COLOR_GREY, "У вас уже есть на руках большой комплект материалов!");
                }
                else
                {
                 matso = 1000;
                 SendClientMessage(playerid, COLOR_GREY, "Вы взяли один большой комплект материалов!");
                 SendClientMessage(playerid, COLOR_GREY, "Отнесите его в ваш фургон и отвезите на базу!");
                 ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
                 SetPlayerAttachedObject(playerid, 1 , 2060, 1,0.11,0.36,0.0,0.0,90.0);
                 ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
                }
                 }
            }
            else if(strcmp(x_nr,"put",true) == 0)
            {
                new caridi = GetPlayerVehicleID(playerid);
                if(caridi == furgon[0] || caridi == furgon[1]|| caridi == furgon[2]|| caridi == furgon[3]|| caridi == furgon[4])
                {
                        if(mater[caridi] > 3000)
                        {
                            SendClientMessage(playerid,COLOR_GREY,"Больше 3-х больших комплектов материалов возить нельзя!");
                            return 1;
                        }
                        else
                        {
                            if (matso==1000)
                            {
                            mater[caridi] += 1000;
                            matso-=1000;
                            SendClientMessage(playerid, COLOR_GREY, "Вы положили большой комплект материалов фургон!");
                            if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1);
                            }
                        }
                }
                else
                {
                 SendClientMessage(playerid, COLOR_GREY, "Вы должны сидеть в фургоне чтоб положить комплект материалов!");
                }
            }
            }
            else
            {
             SendClientMessage(playerid,COLOR_GREY,"Вы не состоите в преступных группировках либо у вас маленький ранг");
             return 1;
            }
        }
        return 1;
    }
    if(strcmp(cmd, "/unloding", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
        new l = PlayerInfo[playerid][pLeader];
          new m = PlayerInfo[playerid][pMember];
          new ran = PlayerInfo[playerid][pRank];
        new caridi = GetPlayerVehicleID(playerid);
              if(l==14|| (m==14&&ran>=4))
            {
              format(string, sizeof(string), "*Вы положили в общак банды Grove Street %d материалов.",mater[caridi]);
            SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
            objakgro+=mater[caridi];
            }
            else if(l==15||m==15&&ran>=4)
            {
            format(string, sizeof(string), "*Вы положили в общак банды El Coronas %d материалов.",mater[caridi]);
            SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
            objakcor+=mater[caridi];
            }
            else if(l==16||m==16&&ran>=4)
            {
            format(string, sizeof(string), "*Вы положили в общак банды Ballas gang %d материалов.",mater[caridi]);
            SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
            objakbal+=mater[caridi];
            }
            else if(l==17||m==17&&ran>=4)
            {
            format(string, sizeof(string), "*Вы положили в общак банды Rifa gang %d материалов.",mater[caridi]);
            SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
            objakrif+=mater[caridi];
            }
            else if(l==18||m==18&&ran>=4)
            {
            format(string, sizeof(string), "*Вы положили в общак банды Vagos gang %d материалов.",mater[caridi]);
            SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
            objakvag+=mater[caridi];
            }
        }
        return 1;
    }
Автор: 9GYAR

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

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

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.