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

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

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

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

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

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

PI

The world on the edge of reality
Данная система похожа на систему из САМП-РП.
Версия:v.1.2
объясню подробнее:законники должны на авианосце привезти материалы на склад в зону 51...там есть пекапы по которым банды могут воровать материалы...в общак банд можно так же воровать маты теперь...когда подходишь к пекапу набираешь команду /materials get - взять 1к матов садишься в свой фургон (обязательно в фургон от банды) вводишь /materials put положить маты в фургон...команда /unloding разгрузить маты у себя на базе(не доработано еще)
(скажу сразу будет обновляться)
Если заметили ошибку или хотите предложить что либо пишите(отзывы очень важны)

Ко всем new добавим
PHP:
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
вставляем
PHP:
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()
пикапы и авиносцы
PHP:
   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)
PHP:
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
вставляем
PHP:
		if(dialogid == 5551)
	{
	if(response)
	{
    SetPlayerCheckpoint(playerid,136.7081,1875.6571,22.4375,5.0);
    }
	}
в public OnPlayerEnterCheckpoint
вставляем
PHP:
if(PlayerToPoint(2.0, playerid,136.7081,1875.6571,22.4375))
    {
	colmats+=5000;
    DisablePlayerCheckpoint(playerid);
     }
в public OnPlayerCommandText
вставляем
PHP:
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

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