Доступ к готовым решениям

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

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

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

Мануал Работа тракториста

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

#define

Компетентный
Решил написать простенькую работу тракториста, писалась для своего мода.​

Ко всем new:
PHP:
new traktorist;
new traktor[2];
ниже:
PHP:
new Trakrabota[MAX_PLAYERS];
enum
{
	trak1,
	trak2,
	trak3,
	trak4,
	trak5,
	trak6,
	trak7,
	trak8,
	trak9,
	trak10,
	trak11,
	trak12,
	trak13,
	trak14,
	trak15,
	trak16,
	trak17,
	trak18,
	trak19,
	trak20,
	trak21,
	trak22,
	trak23,
	trak24,
	trak25,
	trak26,
	trak27
}
в stock LoadPickups():
PHP:
traktorist = CreatePickup(1275,23,-17.1060,44.7226,3.1172);pickups++;
в public OnPlayerPickUpPickup(playerid, pickupid):
PHP:
	else if(pickupid == traktorist)
	{
		if(narabote[playerid] == 0)
		{
			narabote[playerid] = 1;
			Account[playerid][Job] = 5;
			if(Account[playerid][Pol] == 1) Account[playerid][RabSkin] = 34;
			else if(Account[playerid][Pol] == 2) Account[playerid][RabSkin] = 198;
			SendClientMessage(playerid,COLOR_WHITE,"Ваш рабочий день начат.");
			SendClientMessage(playerid,COLOR_BLUE,"Сядьте в трактор и следуйте дальнейшим указаниям!");
			SetPlayerPosEx(playerid,-18.3001,44.1988,3.1172,84.6510,0,0);
			SetPlayerSkin(playerid, Account[playerid][RabSkin]);
		}
		else
		{
			narabote[playerid] = 0;
			Account[playerid][Job] = 0;
			SendClientMessage(playerid,COLOR_WHITE,"Ваш рабочий день завершен.");
			SendClientMessage(playerid,COLOR_BLUE,"Заработная плата будет начислена во время PayDay");
			SetPlayerPosEx(playerid,-18.3001,44.1988,3.1172,84.6510,0,0);
			SetPlayerSkin(playerid, Account[playerid][Skin]);
		}
	}
в LoadCars:
PHP:
traktor[0] = AddStaticVehicleEx(531,-29.6789,49.6165,3.0828,251.0867,8,8,SPAWN); cars++;
	AddStaticVehicleEx(531,-30.7129,46.5287,3.0810,251.3527,8,8,SPAWN); cars++;
	AddStaticVehicleEx(531,-31.7905,43.2490,3.0815,251.2553,8,8,SPAWN); cars++;
	AddStaticVehicleEx(531,-32.8657,39.8263,3.0812,251.9834,8,8,SPAWN); cars++;
	AddStaticVehicleEx(531,-34.0581,36.4086,3.0814,251.7285,8,8,SPAWN); cars++;
	traktor[1] = AddStaticVehicleEx(531,-35.2377,33.1041,3.0830,250.7425,8,8,SPAWN); cars++;
в public OnVehicleSpawn(vehicleid):
PHP:
	else if(vehicleid >= traktor[0] && vehicleid <= traktor[1]) Delete3DTextLabel(trak3d[vehicleid]);
в public OnPlayerStateChange(playerid, newstate, oldstate):
PHP:
else if(mycar >= traktor[0] && mycar <= traktor[1])
		{
			if(Account[playerid][Job] != 5)
			{
				SendClientMessage(playerid, COLOR_GREY, "У вас нет ключей от трактора!");
				RemoveFromVehicle(playerid);
			}
			else if(Account[playerid][Job] == 5)
			{
				if(narabote[playerid] == 0)
				{
					SendClientMessage(playerid, COLOR_GREY, "Вам необходимо начать рабочий день!");
					RemoveFromVehicle(playerid);
				}
				else
				{
					TransportDuty[playerid] = 5;
					Vehrab[mycar] = 1;
					trak3d[mycar] = Create3DTextLabel("Рабочий трактор", COLOR_BLUE, 9999.0, 9999.0, 9999.0, 30.0, 0, 1);
					Attach3DTextLabelToVehicle(trak3d[mycar], mycar, 0, 0, 1.5);
					Trakrabota[playerid] = trak1;
					SetPlayerRaceCheckpoint(playerid,0,-17.1981,33.0643,3.0830,1.6521,37.3766,3.0826,5.0);//
				}
			}
		}
в LoadObj():
PHP:
 new traktorist = CreateObject(19353,-15.92213,46.54591,3.87812,0.00000,0.00000,70.00000,219.3096);
	SetObjectMaterialText(traktorist, "Работа тракториста", 0, 60, "Tahoma", 14, 1, 0xFFFFFFFF, 0, 1);
в public OnPlayerDisconnect(playerid, reason):
PHP:
else if(TransportDuty[playerid] == 5)
	{
		new veh = GetPlayerVehicleID(playerid);
		Delete3DTextLabel(trak3d[veh]);
		TransportDuty[playerid] = 0;
		Trakrabota[playerid] = 0;
		Vehrab[veh] = 0;
		DisablePlayerRaceCheckpoint(playerid);
	}
в public OnPlayerDeath(playerid, killerid, reason):
PHP:
else if(TransportDuty[playerid] == 5)
		{
			new veh = GetPlayerVehicleID(playerid);
			Delete3DTextLabel(trak3d[veh]);
			Trakrabota[playerid] = 0;
			TransportDuty[playerid] = 0;
			Vehrab[veh] = 0;
			DisablePlayerRaceCheckpoint(playerid);
		}
в public OnPlayerExitVehicle(playerid, vehicleid):
PHP:
	else if(TransportDuty[playerid] == 5)
	{
		new veh = GetPlayerVehicleID(playerid);
		Delete3DTextLabel(trak3d[veh]);
		Trakrabota[playerid] = 0;
		TransportDuty[playerid] = 0;
		Vehrab[veh] = 0;
		DisablePlayerRaceCheckpoint(playerid);
	}
в public OnPlayerEnterRaceCheckpoint(playerid):
PHP:
	else if(TransportDuty[playerid] == 5)
	{
		if(mycar >= traktor[0] && mycar <= traktor[1])
		{
			switch(Trakrabota[playerid])
			{
			case trak1:
				{
					Trakrabota[playerid] = trak2;
					SetPlayerRaceCheckpoint(playerid, 0,1.6521,37.3766,3.0826,19.8175,57.7015,3.0819, 5.0);
				}
			case trak2:
				{
					Trakrabota[playerid] = trak3;
					SetPlayerRaceCheckpoint(playerid, 0,19.8175,57.7015,3.0819,44.4404,43.4231,2.1990, 5.0);
				}
			case trak3:
				{
					Trakrabota[playerid] = trak4;
					SetPlayerRaceCheckpoint(playerid, 0,44.4404,43.4231,2.1990,63.1948,29.4199,0.5968, 5.0);
				}
			case trak4:
				{
					Trakrabota[playerid] = trak5;
					SetPlayerRaceCheckpoint(playerid, 0,63.1948,29.4199,0.5968,71.1656,7.3368,0.5748, 5.0);
				}
			case trak5:
				{
					Trakrabota[playerid] = trak6;
					SetPlayerRaceCheckpoint(playerid, 0,71.1656,7.3368,0.5748,49.1020,17.7793,1.8919, 5.0);
				}
			case trak6:
				{
					Trakrabota[playerid] = trak7;
					SetPlayerRaceCheckpoint(playerid, 0,49.1020,17.7793,1.8919,24.4158,16.5564,3.0833, 5.0);
				}
			case trak7:
				{
					Trakrabota[playerid] = trak8;
					SetPlayerRaceCheckpoint(playerid, 0,24.4158,16.5564,3.0833,-9.9489,-4.6979,3.0830, 5.0);
				}
			case trak8:
				{
					Trakrabota[playerid] = trak9;
					SetPlayerRaceCheckpoint(playerid, 0,-9.9489,-4.6979,3.0830,-21.2922,-28.3644,3.0830, 5.0);
				}
			case trak9:
				{
					Trakrabota[playerid] = trak10;
					SetPlayerRaceCheckpoint(playerid, 0,-21.2922,-28.3644,3.0830,-29.9428,-54.0198,3.0831, 5.0);
				}
			case trak10:
				{
					Trakrabota[playerid] = trak11;
					SetPlayerRaceCheckpoint(playerid, 0,-29.9428,-54.0198,3.0831,-37.4820,-82.0244,3.0830, 5.0);
				}
			case trak11:
				{
					Trakrabota[playerid] = trak12;
					SetPlayerRaceCheckpoint(playerid, 0,-37.4820,-82.0244,3.0830,-25.1149,-101.6695,3.0832, 5.0);
				}
			case trak12:
				{
					Trakrabota[playerid] = trak13;
					SetPlayerRaceCheckpoint(playerid, 0,-25.1149,-101.6695,3.0832,-12.7565,-75.2878,3.0829, 5.0);
				}
			case trak13:
				{
					Trakrabota[playerid] = trak14;
					SetPlayerRaceCheckpoint(playerid, 0,-12.7565,-75.2878,3.0829,-1.9015,-43.7647,3.0831, 5.0);
				}
			case trak14:
				{
					Trakrabota[playerid] = trak15;
					SetPlayerRaceCheckpoint(playerid, 0,-1.9015,-43.7647,3.0831,19.3960,-45.6502,3.0829, 5.0);
				}
			case trak15:
				{
					Trakrabota[playerid] = trak16;
					SetPlayerRaceCheckpoint(playerid, 0,19.3960,-45.6502,3.0829,41.4464,-83.4264,0.5751, 5.0);
				}
			case trak16:
				{
					Trakrabota[playerid] = trak17;
					SetPlayerRaceCheckpoint(playerid, 0,41.4464,-83.4264,0.5751,36.9415,-107.7688,0.5827, 5.0);
				}
			case trak17:
				{
					Trakrabota[playerid] = trak18;
					SetPlayerRaceCheckpoint(playerid, 0,36.9415,-107.7688,0.5827,2.0281,-108.3817,1.7186, 5.0);
				}
			case trak18:
				{
					Trakrabota[playerid] = trak19;
					SetPlayerRaceCheckpoint(playerid, 0,2.0281,-108.3817,1.7186,7.5546,-85.9519,2.3902, 5.0);
				}
			case trak19:
				{
					Trakrabota[playerid] = trak20;
					SetPlayerRaceCheckpoint(playerid, 0,7.5546,-85.9519,2.3902,39.7572,-56.9839,1.4001, 5.0);
				}
			case trak20:
				{
					Trakrabota[playerid] = trak21;
					SetPlayerRaceCheckpoint(playerid, 0,39.7572,-56.9839,1.4001,64.3539,-31.5502,0.7951, 5.0);
				}
			case trak21:
				{
					Trakrabota[playerid] = trak22;
					SetPlayerRaceCheckpoint(playerid, 0,64.3539,-31.5502,0.7951,68.0121,5.7788,0.7596, 5.0);
				}
			case trak22:
				{
					Trakrabota[playerid] = trak23;
					SetPlayerRaceCheckpoint(playerid, 0,68.0121,5.7788,0.7596,55.8001,21.8633,1.2762, 5.0);
				}
			case trak23:
				{
					Trakrabota[playerid] = trak24;
					SetPlayerRaceCheckpoint(playerid, 0,55.8001,21.8633,1.2762,37.7013,27.8044,3.0172, 5.0);
				}
			case trak24:
				{
					Trakrabota[playerid] = trak25;
					SetPlayerRaceCheckpoint(playerid, 0,37.7013,27.8044,3.0172,14.0094,30.2822,3.0827, 5.0);
				}
			case trak25:
				{
					Trakrabota[playerid] = trak26;
					SetPlayerRaceCheckpoint(playerid, 0,14.0094,30.2822,3.0827,-16.5458,37.0253,3.0827, 5.0);
				}
			case trak26:
				{
					Trakrabota[playerid] = trak27;
					SetPlayerRaceCheckpoint(playerid, 0,-16.5458,37.0253,3.0827,-16.5458,37.0253,3.0827, 5.0);
				}
			case trak27:
				{
					new veh = GetPlayerVehicleID(playerid);
					Delete3DTextLabel(trak3d[veh]);
					TransportDuty[playerid] = 0;
					Vehrab[veh] = 0;
					Trakrabota[playerid] = 0;
					DisablePlayerRaceCheckpoint(playerid);
					Account[playerid][Payday] += 50;
					SendClientMessage(playerid,COLOR_ORANGE,"Работа завершена, если хотите заработать еще, то сядьте в трактор повторно.");
				}
			}
		}
	}

Ну вот и всё, работа не сложная.


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