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

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

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

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

Проблема в пикапе

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

Dima_Tushin

Компетентный
Всем привет делал на сервер ферму и столкнулся с проблемой не могу исправить уже давно все мучаюсь и мучаюсь не могу исправить и теперь решил выложить сюда может вы мне поможете суть ошибки когда садишься в машину фермера Walton едишь на поле да все приехал на чекпоинт 5 сек прошло пикап появился (пикап работает ) потом иду за 2 машиной Walton тоже еду на поле все приехал пикап появился (получается уже 2 пикапа на поле загрузки ) вот суть ошибки: 1 пикап который мы поставили 1 машины Walton не работает а последнюю машину которую поставили на поле пикап работает как сделать чтобы все 2 пикапа функционировали

Код:

PHP:
new FermPickup;//Пикап для сбора урожая
PHP:
		if(carid >= FermCar[0] && carid <= FermCar[1])
		{
		    if(PlayerInfo[playerid][pFerma] != 255 || PlayerInfo[playerid][pFermaJob] == 3 || PlayerInfo[playerid][pFermaJob] == 2)
		    {
			    if(LoadZern[carid-FermCar[0]] < 1000)//Если в машине меньше 0 зёрен то...
			    {
			        new string[50+MAX_PLAYER_NAME-2];
			        static const ferm[] = "В грузовике %d / 1000 зёрен";
			        format(string, sizeof(string), ferm, LoadZern[carid-FermCar[0]]);
			        SendClientMessage(playerid, COLOR_GREEN, string);
			        new rand = random(sizeof(SborFerm_0));//Рандомное значение на собирание кустиков!
			        SetPlayerCheckpoint(playerid, SborFerm_0[rand][0], SborFerm_0[rand][1], SborFerm_0[rand][2],5.0);
			    }
			    else//Если больше 1000 то...
			    {
			        LoadZern[carid-FermCar[0]] = 1000;//Приравниваем значение зёрен к 1000 чтобы не было бага с количеством!
			        new string[50+MAX_PLAYER_NAME-2];
			        static const ferm[] = "В грузовике %d / 1000 зёрен";
			        format(string, sizeof(string), ferm, LoadZern[carid-FermCar[0]]);
			        SendClientMessage(playerid, COLOR_GREEN, string);
			        SendClientMessage(playerid, COLOR_GREEN, "Сбор урожая завершен. Теперь направляйтесь к ферме и разгрузитесь{FFFFFF} (( Командой: /funload ))");
			        DestroyDynamicPickup(FermPickup);//Удалили пикап
			        Delete3DTextLabel(FermText3D[playerid]);//Удалили текст
			        if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
			        DisablePlayerCheckpoint(playerid);//Удалили чекпоинт
			    }
			}
			else
			{
				SendClientMessage(playerid, COLOR_WHITE, "Вы не Фермер/Владелец/Заместитель!");
				RemovePlayerFromVehicleAC(playerid);
				SetTimerEx("RemovePlayerFromVehicleEx", 3000, false, "i", playerid);
				return 1;
			}
		}
PHP:
public OnPlayerPickUpDynamicPickup(playerid, pickupid)
{
	printf("Ferm pickupid %d", pickupid);
	if(pickupid == FermPickup)
	{
	    if(PlayerKist[playerid] == true)
	    {
			for(new f = 0; f < sizeof(FermInfo); f++)
			{
			    new carid = !GetPlayerVehicleID(playerid);
			    if(LoadZern[carid-FermCar[0]] > 1000)//Если в машине меньше 1000 зерен то...
			    {
			        new string[30+MAX_PLAYER_NAME-2];
			        LoadZern[carid-FermCar[0]] = 1000;
			        SendClientMessage(playerid, COLOR_WHITE, "Грузовик полон!");
					static const ferm_1[] = "Загруженно\n{ffffff}%d / 1000";
					format(string, sizeof(string), ferm_1, LoadZern[carid-FermCar[0]]);
					DisablePlayerCheckpoint(playerid);
					if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
					PlayerKist[playerid] = false;
			    }
			    else
			    {
			        new string[50+MAX_PLAYER_NAME-2];
			        FermInfo[f][fZaseeno] -= 5;//Отнимаем -5 засеености!
			        LoadZern[carid-FermCar[0]] += 5;//Загрузили +5 зерен!
			        FermZarabotok[playerid] += FermInfo[f][fPayday];//Прибовляем заработок
			        static const ferm[] = "~b~count:~w~+%d$";
					format(string, sizeof(string), ferm, FermZarabotok[playerid]);
					GameTextForPlayer(playerid, string, 3000, 1);
					DisablePlayerCheckpoint(playerid);//Удалили чекпоинт
					GetXYInFrontOfPlayer(playerid, X12, Y12, Z12);
					SetPlayerCheckpoint(playerid, X12+random(10), Y12+random(10), Z12, 1.0);
					if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
					static const ferm_1[] = "Загруженно\n{ffffff}%d / 1000";
					format(string, sizeof(string), ferm_1, LoadZern[carid-FermCar[0]]);
					Update3DTextLabelText(FermText3D[playerid], COLOR_YELLOW, string);
					PlayerKist[playerid] = false;
					if(gettime() - GetPVarInt(playerid, "BotFarm") < 20)
					{
						if(GetPVarInt(playerid, "BotCount") == 1)
						{
						    static const ferm_2[] = "<<Warning>> Игрок %s[%d]: Возможно бот фермер";
							format(string, sizeof(string), ferm_2, PlayerInfo[playerid][pName], playerid);
							SendAdminMessage(COLOR_ADMIN, string);
							SetPVarInt(playerid, "BotCount", 0);
						}
					}
					SetPVarInt(playerid, "BotFarm", gettime());
					SetPVarInt(playerid, "BotCount", GetPVarInt(playerid, "BotCount") +1);
			    }
			}
		}
		else
		{
            SendClientMessage(playerid, COLOR_GREEN, "{00D607} Для начала соберите урожай {FFFFFF}(( Встаньте на красный чекпоинт, и ждите 15 секунд ))");
            SendClientMessage(playerid, COLOR_GREEN, "{00D607} Когда соберёте положите в кузов автомобиля {FFFFFF}(( Встаньте на желтую стрелку ))");
            SendClientMessage(playerid, COLOR_GREEN, "{00D607} Если захотите завершить работу, пройдите к раздевалке {FFFFFF}(( Встаньте на синий пикап у фермы ))");
            SendClientMessage(playerid, COLOR_GREEN, "{00D607} Если вы фермер, то просто сядьте в машину для завершения сбора урожая, /funload - разгрузить урожай");
			DisablePlayerCheckpoint(playerid);
			if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
			GetXYInFrontOfPlayer(playerid, X12, Y12, Z12);
			SetPlayerCheckpoint(playerid, X12+random(10), Y12+random(10), Z12, 1.0);
			PlayerKist[playerid] = false;
		}
	}
	return 1;
}
таймер после которого ставиться пикап
PHP:
		if(SbotTime_1[i] > 0)
		{
		    SbotTime_1[i]--;
		    if(SbotTime_1[i] == 0)
		    {
		        SbotTime_1[i] = 0;
				for(new q = 0; q < 4; q++)//Цикл место сбора урожая
				{
					if(IsPlayerInRangeOfPoint(i, 5.0, SborFerm_0[q][0], SborFerm_0[q][1], SborFerm_0[q][2]))//Проверяем есть ли игрок в радиусе 5 метров от чекпоинта!
					{
						new carid = GetPlayerVehicleID(i);
						GetVehiclePos(carid, X12, Y12, Z12);
						GetXYInFrontOfPlayer(i, X12, Y12,-3.0);
						FermPickup = CreateDynamicPickup(19197, 23, X12, Y12, Z12+0.3);
						GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(carid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
						zavodis[i] = false;
						new string[30+MAX_PLAYER_NAME-2];
						static const ferm[] = "Загруженно\n%d / 1000";
						format(string, sizeof(string), ferm, LoadZern[carid-FermCar[0]]);
						FermText3D[i] = Create3DTextLabel(string, COLOR_YELLOW, X12, Y12, Z12+0.5, 15.0, 0, 1);
						SendClientMessage(i, COLOR_WHITE, "{0289CC}Машина на месте. Теперь вы и ваши рабочие, могут загружать её");
						SendClientMessage(i, COLOR_WHITE, "{0289CC}Если решите завершить сбор урожая, /fpanel [9] завершить сбор урожая");
						DisablePlayerCheckpoint(i);//Удаляем чекпоинт!
					}
				}
		    }
		}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу