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

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

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

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

Работа "Комбайнера"

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

Dima_Neo

Умник
Решил выложить работа комбайнера.Если уже было то извените

Для начала ко всем new добавим

PHP:
new FarmerVar[MAX_PLAYERS];
new FarmerPickup[MAX_PLAYERS][2];
new JustStarted[MAX_PLAYERS];
Ко всем forward добавим

PHP:
forward IsAHarvest(carid);
где нибудь вверху мода добавим
PHP:
new Float:gSweeperPoints[16][3] = {
{2003.3517,-1730.5336,13.1080},
{2243.8682,-1895.1603,13.1057},
{2872.5264,-1507.8936,10.5887},
{2733.4851,-1079.1128,69.0215},
{2491.6882,-1096.9484,48.1798},
{1973.2815,-1173.0474,25.6866},
{1441.3285,-1038.8422,23.4461},
{1041.5815,-776.1030,104.3925},
{958.6799,-1034.2134,29.8119},
{995.9623,-1351.8215,13.0737},
{793.3896,-1583.4993,13.1155},
{368.1902,-1977.2362,7.3970},
{834.1572,-1794.8837,13.5680},
{1243.4885,-1853.9174,13.1080},
{1527.9438,-1663.3240,13.1080},
{2083.6062,-1843.3563,13.1080}};
дальше в public OnPlayerConnect(playerid) добавим
PHP:
FarmerVar[playerid] = 0; FarmerPickup[playerid][0] = 0;
в public OnPlayerDeath(playerid, killerid, reason) добавим

PHP:
       if(FarmerVar[playerid] != 0)
	{
	    FarmerVar[playerid] = 0;
	    DisablePlayerCheckpoint(playerid);
	}
В public OnPlayerEnterCheckpoint(playerid) добавим

PHP:
//----------------------------[Работа Колхозние]-------------------------------
	 if(FarmerVar[playerid] == 1)
	{
	    if (IsPlayerInAnyVehicle(playerid))
		{
		    new carid = GetPlayerVehicleID(playerid);
		    new cash=(random(70-20)+20);
		    if(IsAHarvest(carid))
		    {
		        switch(FarmerPickup[playerid][0])
		        {
		            case 0:
		        	{
		            	SetPlayerCheckpoint(playerid, -205.9348,-1332.2749,10.4056, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 1:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 2:
		        	{
		        	    if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~Added to your paycheck~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
		        	        JustStarted[playerid] = 0;
		        	    }
		            	SetPlayerCheckpoint(playerid, -548.5396,-1329.0653,19.6210, 5.0);
					}
					case 3:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 4:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
		        	        JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -370.9486,-1281.1089,29.8698, 5.0);
					}
					case 5:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 6:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
		        	        JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -258.3272,-1387.9211,10.1292, 5.0);
					}
					case 7:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 8:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
		        	        JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -288.8517,-1385.0117,9.8957, 5.0);
					}
					case 9:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 10:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
                   			JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -283.1325,-1338.2822,7.4280, 5.0);
					}
					case 11:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 12:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
                   			JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -224.5992,-1509.1902,7.4473, 5.0);
					}
					case 13:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 14:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
                   			JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -247.2859,-1528.8744,6.5904, 5.0);
					}
					case 15:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 16:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
                   			JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -283.9610,-1549.7180,6.4975, 5.0);
					}
					case 17:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 18:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
                   			JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -431.6107,-1334.0961,28.6561, 5.0);
					}
					case 19:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 20:
		        	{
		            	if(JustStarted[playerid] != 1)
		        	    {
		        	        PlayerInfo[playerid][pPayCheck] += cash * 5;
		            		format(string, sizeof(string), "~w~šO€AB‡EìO K ˆAPŒ‡AE~n~~g~$%d",cash);
		            		GameTextForPlayer(playerid, string, 5000, 1);
		        	    }
		        	    else
		        	    {
                   			JustStarted[playerid] = 0;
		        	    }
		        	    SetPlayerCheckpoint(playerid, -476.4104,-1391.6769,20.4733, 5.0);
					}
					case 21:
		        	{
		            	SetPlayerCheckpoint(playerid, -376.7750,-1437.6874,25.7266, 5.0);
		            	if(JustStarted[playerid] != 0)
                        {
                        	JustStarted[playerid] = 0;
					 	}
					}
					case 22:
		        	{
		            	DisablePlayerCheckpoint(playerid);
		            	TogglePlayerControllable(playerid, 0);
		            	GameTextForPlayer(playerid, "~w~BBEƒ…E /exit O€‘ B‘‡Eˆ… …ˆ KO–€A†ìA~n~~r~—OìYC 100$", 5000, 1);
                        nMoney[playerid] += 100;
						GivePlayerMoney(playerid, 100);
					}
		        }
		        FarmerPickup[playerid][0]++;
		        PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
		    }
		}
		return 1;
	}
в public OnPlayerStateChange(playerid, newstate, oldstate) добавим

PHP:
                       if(IsAHarvest(newcar))
		{
			if(PlayerInfo[playerid][pJob] == 19)
			{
			    if(FarmerVar[playerid] == 0)
			    {
			    	SendClientMessage(playerid, COLOR_WHITE, "*Команды /startharvest, /stopharvest или /exit ");
			    	TogglePlayerControllable(playerid, 0);
				}
				else { }
			}
			else
			{
	        	SendClientMessage(playerid, COLOR_RED,"** У вас нет ключей от этого транспорта ");
			    RemovePlayerFromVehicle(playerid);
			}
		}
В public OnPlayerExitVehicle(playerid, vehicleid) добавим

PHP:
if(IsAHarvest(vehicleid))
	{
	    if(FarmerVar[playerid] == 1)
	    {
			SetTimer("FarmerExit", 7000, 0);
			GameTextForPlayer(playerid, "~n~~w~Y BAC EC’ ~r~7~w~ CEKYìƒ~n~O€‘ BEPìY’C•", 5000, 3);
	    }
	}
в public PayDay() добавим

PHP:
if(FarmerVar[i] == 0)
           {
	FarmerPickup[i][0] = 0;
            }
Далее в команды
PHP:
	if(!strcmp(cmdtext, "/startharvest", true))
	{
	    if(IsPlayerConnected(playerid))
	    {
			if(!IsAHarvest(idcar))
			{
			    SendClientMessage(playerid, COLOR_RED, "** Вы не на ферме ");
			    return 1;
			}
			if(FarmerVar[playerid] == 1)
			{
			    SendClientMessage(playerid, COLOR_RED, "** Вы уже работайте ");
			    return 1;
			}
			if(FarmerPickup[playerid][0] >= 22)
			{
			    SendClientMessage(playerid, COLOR_WHITE, " Заработанная сумма прибавится к зарплате ");
			    return 1;
			}
	        if(PlayerInfo[playerid][pJob] == 19)
	        {
	            JustStarted[playerid] = 1;
	            FarmerVar[playerid] = 1;
	            TogglePlayerControllable(playerid, 1);
	            OnPlayerEnterCheckpoint(playerid);
	            SendClientMessage(playerid, COLOR_YELLOW, "*Фермер: Твоя задача ездить на комбайне по полю и собирать урожай.");
	        }
	    }
	    return 1;
	}
if(!strcmp(cmdtext, "/stopharvest", true))
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(FarmerVar[playerid] == 0)
			{
			    SendClientMessage(playerid, COLOR_RED, "** Вы не начали работать ");
			    return 1;
			}
			if(PlayerInfo[playerid][pJob] == 19)
			{
			    if(IsAHarvest(idcar))
			    {
			        TogglePlayerControllable(playerid, 1);
			        RemovePlayerFromVehicle(playerid);
			    }
			    if(FarmerPickup[playerid][0] >= 1 && FarmerPickup[playerid][0] <= 22)
				{
					FarmerPickup[playerid][0]--;
				}
				JustStarted[playerid] = 0;
			    FarmerVar[playerid] = 0;
			    DisablePlayerCheckpoint(playerid);
			}
	    }
	    return 1;
	}
В команду /exit добавим
PHP:
if(IsAHarvest(carid2))
	{
	   if (carid2 != 0)
	{
	SetVehicleToRespawn(carid2);
	}
	if(FarmerPickup[playerid][0] >= 1 && FarmerPickup[playerid][0] <= 22)
	{
	FarmerPickup[playerid][0]--;
	}
	 TogglePlayerControllable(playerid, 1);
	RemovePlayerFromVehicle(playerid);
	FarmerVar[playerid] = 0;
	 DisablePlayerCheckpoint(playerid);
            }
в public CustomPickups()

PHP:
else if (GetPlayerState(i) == 1 && PlayerToPoint(2.0, i,-382.6660,-1426.5121,26.2410))
		{
	                 if(PlayerInfo[i][pJob] > 0 || PlayerInfo[i][pMember] > 0) {}
		else { GameTextForPlayer(i, "~g~Welcome,~n~~y~you can become a ~r~Farmer~y~ here ~n~~w~Type /go if you wish to become one", 5000, 3); }
	}
Далее создадим public
PHP:
public FarmerExit(playerid)
{
	if(IsPlayerConnected(playerid))
	{
	    new vehicleid = GetPlayerVehicleID(playerid);
	    if(IsAHarvest(vehicleid))
	    {
	        return 1;
	    }
	    if(FarmerVar[playerid] == 0)
	    {
	        return 1;
	    }
	    if(FarmerPickup[playerid][0] >= 1 && FarmerPickup[playerid][0] <= 22)
		{
			FarmerPickup[playerid][0]--;
		}
    	DisablePlayerCheckpoint(playerid);
    	FarmerVar[playerid] = 0;
	}
	return 1;
}
Добавим public
PHP:
public IsAHarvest(carid)
{
	if(carid >= Harvest[0] && carid <= Harvest[1])
	{
		return 1;
	}
	return 0;
}
У кого есть в /help---> работа,то добавим

PHP:
else if(PlayerInfo[playerid][pJob] == 19) {
SendClientMessage(playerid,COLOR_CGREEN3d,"* Работа: /startharvest , /stopharvest"); }
return 1;
}
ко всем пикапам

PHP:
AddStaticPickup(1239, 23, -382.6660,-1426.5121,26.2410); // колхозник
Далее создадим транспорт

Ко всем new добавим
PHP:
new Harvest[2];//  Транспорт работы комбайнёра
Где все кары добавим

PHP:
	Harvest[0] = AddStaticVehicleEx(532,-387.4058,-1476.6927,26.7035,265.6719,0,0,40); // Harvest
	AddStaticVehicleEx(532,-382.8609,-1465.2964,26.7162,262.4081,0,0,40); //              Harvest
	AddStaticVehicleEx(532,-392.8095,-1487.2607,26.3314,268.0157,0,0,40); //              Harvest
	Harvest[1] = AddStaticVehicleEx(532,-399.6307,-1500.4774,25.4502,265.1973,0,0,40); // Harvest



Кому помог,спасибо за внимание:df:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу