Форум Pawn.Wiki - Воплоти мечту в реальность!: Работа Дальнобойщика - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Работа Дальнобойщика
Оценка: ***** 2 Голосов

#1
Пользователь офлайн   Cris_Pro 

  • Хочу создать серверок..
  • Вставить ник
  • Раскрыть информацию
...::define::...
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_WHITE 0xFFFFFFAA


...::new::...
new Fura[2];
new Pricep[10];
new Text3D:Pricep3dtext[10];
new Checkpoint[MAX_PLAYERS];


...::forward::...
forward RazgruzFurui(playerid);


public OnFilterScriptInit()
Fura[0] = AddStaticVehicleEx(515,12.1930,-224.1917,6.4553,90.0913,-1,-1,600000); // Фура № 1
        AddStaticVehicleEx(515,12.2435,-232.4889,6.4411,89.7957,-1,-1,600000); // Фура № 2
        AddStaticVehicleEx(515,12.2912,-240.7080,6.4506,89.8790,-1,-1,600000); // Фура № 3
	AddStaticVehicleEx(403,12.8029,-248.9818,6.0362,90.7330,-1,-1,600000); // Фура
	AddStaticVehicleEx(403,12.9481,-257.2370,6.0355,90.5530,-1,-1,600000); // Фура
	AddStaticVehicleEx(403,12.8305,-265.2685,6.0354,89.7056,-1,-1,600000); // Фура
	AddStaticVehicleEx(514,-18.8261,-220.4126,6.0162,175.5331,-1,-1,600000); // Фура
	AddStaticVehicleEx(514,-26.6368,-219.4905,6.0159,175.7046,-1,-1,600000); // Фура
	Fura[1] = AddStaticVehicleEx(514,-34.4157,-218.6096,6.0108,175.0944,-1,-1,600000); // Фура
        Pricep[0] = AddStaticVehicleEx(435,-55.1299,-224.4092,6.0257,266.6206,-1,-1,600000); // Прицеп № 1
        Pricep[1] = AddStaticVehicleEx(435,-23.1413,-274.3386,6.0080,180.5373,-1,-1,600000); // Прицеп № 2
        Pricep[2] = AddStaticVehicleEx(435,-14.7631,-274.5206,6.0191,180.1252,-1,-1,600000); // Прицеп № 3
	Pricep[3] = AddStaticVehicleEx(584,-61.6196,-321.5299,6.0160,270.4092,-1,-1,600000); // Прицеп
	Pricep[4] = AddStaticVehicleEx(591,-61.4658,-307.4087,6.0192,270.4079,-1,-1,600000); // Прицеп
	Pricep[5] = AddStaticVehicleEx(450,-1.2615,-339.9842,6.0233,89.0408,-1,-1,600000); // Прицеп
	Pricep[6] = AddStaticVehicleEx(450,-1.2152,-322.3202,6.0038,89.9523,-1,-1,600000); // Прицеп
	Pricep[7] = AddStaticVehicleEx(450,-1.1001,-301.1582,6.0088,89.6910,-1,-1,600000); // Прицеп
	Pricep[8] = AddStaticVehicleEx(591,-116.4185,-322.6622,2.0134,179.6741,-1,-1,600000); // Прицеп
	Pricep[9] = AddStaticVehicleEx(584,-231.7576,-190.1307,2.0194,259.2906,-1,-1,600000); // Прицеп

Pricep3dtext[0] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Аммуниция{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[0], Pricep[0], 0.0, 0.0, 0.0);
   	Pricep3dtext[1] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Спиртные напитки{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[1], Pricep[1], 0.0, 0.0, 0.0);
	Pricep3dtext[2] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Одежда{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[2], Pricep[2], 0.0, 0.0, 0.0);
	Pricep3dtext[3] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Бензин{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[3], Pricep[3], 0.0, 0.0, 0.0);
	Pricep3dtext[4] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Замороженные продукты{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[4], Pricep[4], 0.0, 0.0, 0.0);
	Pricep3dtext[5] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Щебень{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[5], Pricep[5], 0.0, 0.0, 0.0);
	Pricep3dtext[6] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Песок{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[6], Pricep[6], 0.0, 0.0, 0.0);
	Pricep3dtext[7] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Известняк{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[7], Pricep[7], 0.0, 0.0, 0.0);
	Pricep3dtext[8] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Замороженные продукты{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[8], Pricep[8], 0.0, 0.0, 0.0);
	Pricep3dtext[9] = Create3DTextLabel("{ffa500}[Груз: {FFFFFF}Бензин{ffa500}]", COLOR_ORANGE, 0.0, 0.0, -100.0, 50.0, 0, 1);
	Attach3DTextLabelToVehicle(Pricep3dtext[9], Pricep[9], 0.0, 0.0, 0.0);


public OnPlayerConnect(playerid)
Checkpoint[playerid]=0;


public OnPlayerDeath(playerid, killerid, reason)
 DisablePlayerCheckpoint(playerid);
		   Checkpoint[playerid] = 0;
		    SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));


public OnPlayerStateChange(playerid, newstate, oldstate)
if(newstate == PLAYER_STATE_DRIVER)
    {
        new model = GetVehicleModel(GetPlayerVehicleID(playerid));
	    if(model==515 || model==514 || model==403)
	    {
	    	SendClientMessage(playerid,COLOR_ORANGE,"ИНФОРМАЦИЯ:{FFFFFF} Для того чтобы начать работать подцепите прицеп и введите [/DELIVERY]");
            SendClientMessage(playerid,COLOR_ORANGE,"ИНФОРМАЦИЯ:{FFFFFF} Чтобы уйти с работы дальнобойщика введите [/OFF]");


public OnPlayerCommandText(playerid, cmdtext[])
if (!strcmp("/off",cmdtext,true,10) && IsPlayerConnected(playerid))
{
			Checkpoint[playerid] = 0;
		    DisablePlayerCheckpoint(playerid);
		    SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
}






	if(strcmp(cmdtext,"/delivery",true)==0)
	{
		if(IsPlayerConnected(playerid))
		{
		    if(IsPlayerInRangeOfPoint(playerid,200.0,-75.1052,-289.7339,6.4286))
		    {
                new model = GetVehicleModel(GetPlayerVehicleID(playerid));
				if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==515 || GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==514 || GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==403)
				{
			    	SendClientMessage(playerid,COLOR_ORANGE,"ИНФОРМАЦИЯ:{FFFFFF} Вы должны быть в Фуре за рулём!");
			    	return true;
				}
				if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
				{
			    	SendClientMessage(playerid,COLOR_ORANGE,"ИНФОРМАЦИЯ:{FFFFFF} Вы не подцепили прицеп!");
			    	return true;
				}
				DisablePlayerCheckpoint(playerid);
			 	GameTextForPlayer(playerid, "~r~Goto redmarker", 2500, 1);
				Checkpoint[playerid] = 1;
				new traileid = GetVehicleTrailer(GetPlayerVehicleID(playerid));
				if(traileid == Pricep[5] || traileid == Pricep[6] || traileid == Pricep[7]) // Стройки
				{
	 		    	new rand666=random(4);
			    	switch (rand666)
			    	{
				    	case 0:SetPlayerCheckpoint(playerid,-2101.1555,208.4684,34.8973,8.0);
				    	case 1:SetPlayerCheckpoint(playerid,2801.4639,-2436.1069,13.2421,8.0);
				    	case 2:SetPlayerCheckpoint(playerid,2619.9587,833.6466,4.9254,8.0);
				    	case 3:SetPlayerCheckpoint(playerid,680.4613,896.6621,-40.3721,8.0);
			    	}
				}
				if(traileid == Pricep[3] || traileid == Pricep[9]) // Заправки
				{
	 		    	new rand666=random(4);
			    	switch (rand666)
			    	{
				    	case 0:SetPlayerCheckpoint(playerid,2193.5149,2476.3335,10.8203,8.0);
				    	case 1:SetPlayerCheckpoint(playerid,-2442.1062,953.0255,45.2969,8.0);
				    	case 2:SetPlayerCheckpoint(playerid,-1624.4644,-2697.6082,48.5391,8.0);
				    	case 3:SetPlayerCheckpoint(playerid,1918.5468,-1792.2303,13.3828,8.0);
			    	}
				}
				if(traileid == Pricep[8] || traileid == Pricep[4]) // Продукты
				{
	 		    	new rand666=random(4);
			    	switch (rand666)
			    	{
				    	case 0:SetPlayerCheckpoint(playerid,2119.4260,-1826.5001,13.5549,8.0);
				    	case 1:SetPlayerCheckpoint(playerid,2073.7229,2225.8416,10.8203,8.0);
				    	case 2:SetPlayerCheckpoint(playerid,1383.9170,264.0096,19.5669,8.0);
				    	case 3:SetPlayerCheckpoint(playerid,-1802.8058,960.6457,24.8906,8.0);
			    	}
				}
				if(traileid == Pricep[2]) // Одежда
				{
	 		    	new rand666=random(4);
			    	switch (rand666)
			    	{
				    	case 0:SetPlayerCheckpoint(playerid,505.3549,-1366.4999,16.1252,8.0);
				    	case 1:SetPlayerCheckpoint(playerid,2247.9878,-1663.3557,15.4690,8.0);
				    	case 2:SetPlayerCheckpoint(playerid,2105.0955,2248.5913,11.0234,8.0);
				    	case 3:SetPlayerCheckpoint(playerid,-1889.1820,874.3929,35.1719,8.0);
			    	}
				}
				if(traileid == Pricep[1]) // Спирт напитки
				{
	 		    	new rand666=random(4);
			    	switch (rand666)
			    	{
				    	case 0:SetPlayerCheckpoint(playerid,2303.3145,-1635.1567,14.1720,8.0);
				    	case 1:SetPlayerCheckpoint(playerid,1830.3245,-1682.8469,13.1551,8.0);
				    	case 2:SetPlayerCheckpoint(playerid,-2244.7861,-87.9356,34.9299,8.0);
				    	case 3:SetPlayerCheckpoint(playerid,-2555.2585,191.8923,5.7216,8.0);
			    	}
				}
				if(traileid == Pricep[0]) // Амуниция
				{
	 		    	new rand666=random(4);
			    	switch (rand666)
			    	{
				    	case 0:SetPlayerCheckpoint(playerid,1363.6267,-1282.4384,13.5469,8.0);
				    	case 1:SetPlayerCheckpoint(playerid,2394.5999,-1978.2787,13.1115,8.0);
				    	case 2:SetPlayerCheckpoint(playerid,2156.1287,940.5781,10.4309,8.0);
				    	case 3:SetPlayerCheckpoint(playerid,-2626.6106,211.0776,4.2099,8.0);
			    	}
				}
			}
			else
			{
		    	SendClientMessage(playerid,COLOR_ORANGE,"ИНФОРМАЦИЯ:{FFFFFF} Вы не находитесь на дальнобое или у Вас уже есть груз!");
			}
		}
		return true;
	}
	return false;
}


public OnPlayerEnterCheckpoint(playerid)
if(Checkpoint[playerid] == 1)
	{
		if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
		{
		    SendClientMessage(playerid, COLOR_ORANGE,"ИНФОРМАЦИЯ:{FFFFFF} Вы потеряли прицеп!");
		    DisablePlayerCheckpoint(playerid);
		    return true;
		}
		DisablePlayerCheckpoint(playerid);
		TogglePlayerControllable(playerid,0);
		SendClientMessage(playerid, COLOR_ORANGE,"ИНФОРМАЦИЯ:{FFFFFF} Подождите какое-то време, пока разгрузят фуру!");
		SetTimerEx("RazgruzFurui",15000,false,"i",playerid);
	}
	else if(Checkpoint[playerid] == 2)
	{
	    if(IsPlayerInAnyVehicle(playerid))
	    {
			if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
			{
			    SendClientMessage(playerid, COLOR_ORANGE,"ИНФОРМАЦИЯ:{FFFFFF} Вы потеряли прицеп!");
			    DisablePlayerCheckpoint(playerid);
			    return true;
			}
			new zarplata = 10000 + random(10000);
			new string[64];
			format(string, sizeof(string), "ИНФОРМАЦИЯ:{FFFFFF} Вы доставили груз и получили $%d", zarplata);
			SendClientMessage(playerid, COLOR_ORANGE,string);
			GivePlayerMoney(playerid, zarplata);
			Checkpoint[playerid] = 0;
		    DisablePlayerCheckpoint(playerid);
		    SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));


public RazgruzFurui(playerid)
{
	TogglePlayerControllable(playerid,1);
	SendClientMessage(playerid, COLOR_WHITE,"ИНФОРМАЦИЯ:{FFFFFF} Разгрузка фуры завершена...");
    SendClientMessage(playerid, COLOR_WHITE,"ИНФОРМАЦИЯ:{FFFFFF} Верните прицеп обратно где взяли, там же вам выдадут зарплату за рейс");
 	Checkpoint[playerid] = 2;
	SetPlayerCheckpoint(playerid,-0.8136,-249.4456,5.0401,8.0);
	return true;
}



Вот и все. Урок был написан по просьбе пользователя John_Collins

Автор:Nameless

Если я создала тему не в том разделе - перенесите.
Если уже было - Удалите.
Удачи!
Ps: если что то забыла пишите.

Помог? Ставь + в репутацию. Вам не сложно, а мне приятно. =)

Мои Контакты :
Skype : Kristina.maksimovna
vk.com id142466421

Сообщение отредактировал KrIsTiN@: 26 января 2012 - 16:28

3

#2
Пользователь офлайн   Romzes 

  • ( ^_^ )
  • Вставить ник
  • Раскрыть информацию
Молодец что выложила. Видел кто то спрашивал на форуме...
0

#3
Пользователь офлайн   Romio2517 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Ошибок дофигища выдает при компилирований!
0

#4
Пользователь офлайн   fakeN 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Да и на сколько я знаю она работа с багами,подьезжаеш к прицепу фурой,затем пишеш /delivery,а потом /off /off и так много раз и тебе идуть деньги,сразу говарю может и нету просто баг встречал на 1-ом сервере
1

#5
Пользователь офлайн   alexis 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
оч долго искал СпС
0

#6
Пользователь офлайн   alexis 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
а никаких не надо инклудов подключать?
0

#7
Пользователь офлайн   alexis 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
проверь скобки тут во многом нехватает
и еще есть 1 баг если например принял работу и прописал /gps выбрал базу дальнобоя появляеться чекпоинт и в встаеш на него и машина разгружается потом еще раз и в итоге деньги появляються

Сообщение отредактировал alexis: 02 июня 2012 - 18:09

0

#8
Пользователь офлайн   GolDSNaR 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Как сделать так чтобы при спавнекар , когда игрок находиться в грузовике и с прицепленным трайлером не исчезал( не спавнился ) ?
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика