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

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

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

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

Мануал Делаем работу Дальнобойщика как на Samp-Rp

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

$MaX$

Умник
Здравствуйте уважаемы пользователи Pawno-Info
Наверно все играли в Samp-Rp и все знают работу дальнобойщика.
Вот решил сделать урок.

И так начнем

Ко всем new:
PHP:
new Text3D:GasZavod[2][MAX_PLAYERS];				
new Text3D:Doki[2][MAX_PLAYERS];					
new Text3D:Sklad[2][MAX_PLAYERS];					
new Text3D:Derevobuy[2][MAX_PLAYERS];				
new PetrolTanker[2];								
new Linerunner[2];									
new Roadtrain[2];								
new bGruz[MAX_PLAYERS];							
new levelDexp = 20000;							
new Gruz[MAX_PLAYERS];							
new Benzbuy[2] = {500,500};
new ugolbuy[2] = {400,400}; 
new Buyderevo[2] = {600,600}; 
new Sellugol[2] = {600,600};
new Sellderevo[2] = {800,800};
new Sellbenz[2] = {700,700};
new bool:DriverJob[MAX_PLAYERS];
new bool:jobcar[MAX_PLAYERS];
Дальше находим enum pInfo и в самый конец добавляем:
PHP:
pDLevel,
	pDExp,
	pDMgruz,
	pDgruz,
Дальше находим public OnPlayerConnect(playerid) и после KrishaOffer[playerid] = 999; ставим:
PHP:
	new strings[200];
	format(strings, sizeof(strings),"Порт SF\nНефть: %d\nУголь: %d\nДерево: %d",Sellbenz[1],Sellugol[1],Sellderevo[1]);
	Doki[1][playerid] = Create3DTextLabel(strings,0xFFFF00AA,-1731.4509,118.9413,3.5547,20.0,0,1);
	format(strings, sizeof(strings),"Порт LS\nНефть: %d\nУголь: %d\nДерево: %d",Sellbenz[0],Sellugol[0],Sellderevo[0]);
	Doki[0][playerid] = Create3DTextLabel(strings,0xFFFF00AA,2768.4402,-2456.2515,13.6432,20.0,0,1);
	format(strings, sizeof(strings),"Нефтезавод №1\n Цена груза: %d",Benzbuy[0]);
	GasZavod[0][playerid] = Create3DTextLabel(strings,0xFFFF00AA,256.4736,1414.5182,10.7075,20.0,0,1);
	format(strings, sizeof(strings),"Нефтезавод №2\n Цена груза: %d",Benzbuy[1]);
	GasZavod[1][playerid] = Create3DTextLabel(strings,0xFFFF00AA,-1046.7723,-670.7208,32.3516,20.0,0,1);
        format(strings, sizeof(strings),"Склад угля №1\n Цена за тонну груза: %d",ugolbuy[0]); 
        Sklad[0][playerid] = Create3DTextLabel(strings,0xFFFF00AA,608.7718,847.8765,-43.1532,20.0,0,1); 
        format(strings, sizeof(strings),"Лесопилка №1\n Цена за тонну: %d",Buyderevo[0]); 
        Derevobuy[0][playerid] = Create3DTextLabel(strings,0xFFFF00AA,-449.3336,-65.9115,59.4158,20.0,0,1); 
        format(strings, sizeof(strings),"Лесопилка№2\n Цена за тонну: %d",Buyderevo[1]); 
        Derevobuy[1][playerid] = Create3DTextLabel(strings,0xFFFF00AA,-1978.6846,-2434.8274,30.6250,20.0,0,1); 
        format(strings, sizeof(strings),"Склад угля №2\n Цена за тонну груза: %d",ugolbuy[1]);
	Sklad[1][playerid] = Create3DTextLabel(strings,0xFFFF00AA,-1873.0896,-1720.2430,21.7500,20.0,0,1);
	PlayerInfo[playerid][pDLevel] = 0;
	PlayerInfo[playerid][pDExp] = 0;
	PlayerInfo[playerid][pDgruz] = 0;
	DriverJob[playerid] = false;
Дальше добавим case 32000:
PHP:
				case 32000:
				{
					if(response)
					{
						new car = GetPlayerVehicleID(playerid);
						if(car >= PetrolTanker[0] && car <= PetrolTanker[1])
						{
							if(PlayerInfo[playerid][pDLevel] >= 15)
							{
								if(PlayerInfo[playerid][pCash] <= 5000)
								{
									SendClientMessage(playerid, COLOR_WHITE, "Не достаточно денег");
									RemovePlayerFromVehicle(playerid);
									TogglePlayerControllable(playerid, 1);
									return true;
								}
								jobcar[car] = true;
								PlayerInfo[playerid][pCash] -= 5000;
								TogglePlayerControllable(playerid, 1);
								SendClientMessage(playerid, COLOR_WHITE, "Вы начали работу! Покупайте и отвозите грузы!");
								return true;
							}
							else
							{
								SendClientMessage(playerid, COLOR_WHITE, "Этот грузовик 15 уровня Дальнобойщика!");
								RemovePlayerFromVehicle(playerid);
								TogglePlayerControllable(playerid, 1);
							}
						}
						else if(car >= Linerunner[0] && car <= Linerunner[1])
						{
							if(PlayerInfo[playerid][pDLevel] >= 0)
							{
								if(PlayerInfo[playerid][pCash] < 5000)
								{
									SendClientMessage(playerid, COLOR_WHITE, "Не достаточно денег");
									RemovePlayerFromVehicle(playerid);
									TogglePlayerControllable(playerid, 1);
									return true;
								}
								jobcar[car] = true;
								PlayerInfo[playerid][pCash] -= 5000;
								TogglePlayerControllable(playerid, 1);
								SendClientMessage(playerid, COLOR_WHITE, "Вы начали работу! Покупайте и отвозите грузы!");
								return true;
							}
						}
						else if(car >= Roadtrain[0] && car <= Roadtrain[1])
						{
							if(PlayerInfo[playerid][pDLevel] > 25)
							{
								if(PlayerInfo[playerid][pCash] < 5000)
								{
									SendClientMessage(playerid, COLOR_WHITE, "Не достаточно денег");
									RemovePlayerFromVehicle(playerid);
									TogglePlayerControllable(playerid, 1);
									return true;
								}
								jobcar[car] = true;
								PlayerInfo[playerid][pCash] -= 5000;
								TogglePlayerControllable(playerid, 1);
								SendClientMessage(playerid, COLOR_WHITE, "Вы начали работу! Покупайте и отвозите грузы!");
								return true;
							}
							else
							{
								SendClientMessage(playerid, COLOR_WHITE, "Этот грузовик 25 уровня Дальнобойщика!");
								RemovePlayerFromVehicle(playerid);
								TogglePlayerControllable(playerid, 1);
							}
						}
						return true;
					}
					else
					{
						RemovePlayerFromVehicle(playerid);
						TogglePlayerControllable(playerid, 1);
						return true;
					}
				}
Теперь делаем сохранения ищем public OnPlayerRegister(playerid, password[]) и ставим:
PHP:
		ini_setInteger(File,"DLevel",PlayerInfo[playerid][pDLevel]);
			ini_setInteger(File,"DExp",PlayerInfo[playerid][pDExp]);
			ini_setInteger(File,"DMgruz",PlayerInfo[playerid][pDMgruz]);
			ini_setInteger(File,"Dgruz",PlayerInfo[playerid][pDgruz]);
Ищем public OnPlayerUpdateRL и ставим:
PHP:
			ini_setInteger(File,"DLevel",PlayerInfo[playerid][pDLevel]);
				ini_setInteger(File,"DExp",PlayerInfo[playerid][pDExp]);
				ini_setInteger(File,"DMgruz",PlayerInfo[playerid][pDMgruz]);
				ini_setInteger(File,"Dgruz",PlayerInfo[playerid][pDgruz]);
Ищем public OnPlayerLogin(playerid,password[]) и ставим:
PHP:
	ini_getInteger(File,"DLevel",PlayerInfo[playerid][pDLevel]);
		ini_getInteger(File,"DExp",PlayerInfo[playerid][pDExp]);
		ini_getInteger(File,"DMgruz",PlayerInfo[playerid][pDMgruz]);
		ini_getInteger(File,"Dgruz",PlayerInfo[playerid][pDgruz]);
Теперь делаем команды ищем public OnPlayerCommandText(playerid, cmdtext[]) и ставим:
PHP:
		if(strcmp(cmd,"/tload",true) == 0)
  {
  if(PlayerInfo[playerid][pJob] != 99)return SendClientMessage(playerid,COLOR_GREY,"Вы не Дальнобойщик");
  	new maxguz = PlayerInfo[playerid][pDMgruz];
			if(IsPlayerConnected(playerid))
			{
				if(Gruz[playerid] == 0)
				{
					if(!GetVehicleTrailer(GetPlayerVehicleID(playerid)))
					{
						tmp = strtok(cmdtext, idx);
						if(!strlen(tmp))  return SendClientMessage(playerid, COLOR_WHITE, "Введите: /tload [количество]");
						if(IsPlayerInRangeOfPoint(playerid, 7.0, 256.4736,1414.5182,10.7075))
						{
							if(PlayerInfo[playerid][pCash] < 2*Benzbuy[0])  return SendClientMessage(playerid,0x008080FF,"У вас не достаточно денег!");
							new gruz;
							gruz = strval(tmp);
							if(gruz > maxguz) return SendClientMessage(playerid, 0x6495EDFF, "Вы не можете увезти столько груза");
							if(gruz < 1 || gruz > 40) return SendClientMessage(playerid, 0x6495EDFF, "Нельзя меньше 1 больше 40!");
							if(PlayerInfo[playerid][pCash] < gruz*Benzbuy[0]) return SendClientMessage(playerid, 0x6495EDFF, "У вас нет столько денег!");
							PlayerInfo[playerid][pCash] -= gruz*Benzbuy[0];
							PlayerInfo[playerid][pDgruz] += gruz;
							format(string, sizeof(string), "Вы купили %d тонн(ы) нефти за %d вирт", gruz,Benzbuy[0]*gruz);
							SendClientMessage(playerid, 0x6495EDFF, string);
							CreateVehicle(584, 249.1628,1420.7445,11.1698,269.4982,1,1, 300);
							DriverJob[playerid] = true;
							Gruz[playerid] = 1;
							bGruz[playerid] = 1;
							return true;
						}
						else if(IsPlayerInRangeOfPoint(playerid, 7.0,-1046.7723,-670.7208,32.3516)) 
						{
							if(PlayerInfo[playerid][pCash] < Benzbuy[0])  return SendClientMessage(playerid,0x008080FF,"У вас не достаточно денег!");
							new gruz;
							gruz = strval(tmp);
							if(gruz > maxguz) return SendClientMessage(playerid, 0x6495EDFF, "Вы не можете увезти столько груза");
							if(gruz < 1 || gruz > 40) return SendClientMessage(playerid, 0x6495EDFF, "Нельзя меньше 1 больше 40!");
							if(PlayerInfo[playerid][pCash] < gruz*Benzbuy[1]) return SendClientMessage(playerid, 0x6495EDFF, "У вас нет столько денег!");
							PlayerInfo[playerid][pCash] -= gruz*Benzbuy[1];
							PlayerInfo[playerid][pDgruz] += gruz;
							format(string, sizeof(string), "Вы купили %d тонн(ы) нефти за %d вирт", gruz,Benzbuy[1]*gruz);
							SendClientMessage(playerid, 0x6495EDFF, string);
							CreateVehicle(584,-1043.4102,-686.8473,32.6164,1.1470,1,1, 60);
							DriverJob[playerid] = true;
							Gruz[playerid] = 1;
							bGruz[playerid] = 2;
							return true;
						}
						else if(IsPlayerInRangeOfPoint(playerid, 7.0,608.7718,847.8765,-43.1532)) 
						{
							new gruz;
							gruz = strval(tmp);
							if(gruz > maxguz) return SendClientMessage(playerid, 0x6495EDFF, "Вы не можете увезти столько груза");
							if(gruz < 1 || gruz > 40) return SendClientMessage(playerid, 0x6495EDFF, "Нельзя меньше 1 больше 40!");
							if(PlayerInfo[playerid][pCash] < gruz*ugolbuy[0]) return SendClientMessage(playerid, 0x6495EDFF, "У вас нет столько денег!");
							PlayerInfo[playerid][pCash] -= gruz*ugolbuy[0];
							PlayerInfo[playerid][pDgruz] += gruz;
							format(string, sizeof(string), "Вы купили %d тонн(ы) угля за %d вирт", gruz,ugolbuy[0]*gruz);
							SendClientMessage(playerid, 0x6495EDFF, string);
							CreateVehicle(450,588.2112,844.9619,-42.8014,272.4998,1,1, 300);
							DriverJob[playerid] = true;
							Gruz[playerid] = 2;
							bGruz[playerid] = 3;
							return true;
						}
						else if(IsPlayerInRangeOfPoint(playerid, 7.0,-1873.0896,-1720.2430,21.7500))
						{
							new gruz;
							gruz = strval(tmp);
							if(gruz > maxguz) return SendClientMessage(playerid, 0x6495EDFF, "Вы не можете увезти столько груза");
							if(gruz < 1 || gruz > 40) return SendClientMessage(playerid, 0x6495EDFF, "Нельзя меньше 1 больше 40!");
							if(PlayerInfo[playerid][pCash] < gruz*ugolbuy[1]) return SendClientMessage(playerid, 0x6495EDFF, "У вас нет столько денег!");
							PlayerInfo[playerid][pCash] -= gruz*ugolbuy[1];
							PlayerInfo[playerid][pDgruz] += gruz;
							format(string, sizeof(string), "Вы купили %d тонн(ы) угля за %d вирт", gruz,ugolbuy[1]*gruz);
							SendClientMessage(playerid, 0x6495EDFF, string);
							CreateVehicle(450,-1881.3596,-1689.1852,22.3543,172.1823,1,1, 300);
							DriverJob[playerid] = true;
							Gruz[playerid] = 2;
							bGruz[playerid] = 4;
							return true;
						}
						else if(IsPlayerInRangeOfPoint(playerid, 7.0,-449.3336,-65.9115,59.4158))
						{
							new gruz;
							gruz = strval(tmp);
							if(gruz > maxguz) return SendClientMessage(playerid, 0x6495EDFF, "Вы не можете увезти столько груза");
							if(gruz < 1 || gruz > 40) return SendClientMessage(playerid, 0x6495EDFF, "Нельзя меньше 1 больше 40!");
							if(PlayerInfo[playerid][pCash] < gruz*Buyderevo[0]) return SendClientMessage(playerid, 0x6495EDFF, "У вас нет столько денег!");
							PlayerInfo[playerid][pCash] -= gruz*Buyderevo[0];
							PlayerInfo[playerid][pDgruz] += gruz;
							format(string, sizeof(string), "Вы купили %d тонн(ы) дерева за %d вирт", gruz,Buyderevo[0]*gruz);
							SendClientMessage(playerid, 0x6495EDFF, string);
							CreateVehicle(435,-468.4995,-88.6335,59.8888,354.5496,1,1, 300);
							DriverJob[playerid] = true;
							Gruz[playerid] = 3;
							bGruz[playerid] = 5;
							return true;
						}
						else if(IsPlayerInRangeOfPoint(playerid, 7.0,-1978.6846,-2434.8274,30.6250)) 
						{
							new gruz;
							gruz = strval(tmp);
							if(gruz > maxguz) return SendClientMessage(playerid, 0x6495EDFF, "Вы не можете увезти столько груза");
							if(gruz < 1 || gruz > 40) return SendClientMessage(playerid, 0x6495EDFF, "Нельзя меньше 1 больше 40!");
							if(PlayerInfo[playerid][pCash] < gruz*Buyderevo[1]) return SendClientMessage(playerid, 0x6495EDFF, "У вас нет столько денег!");
							PlayerInfo[playerid][pCash] -= gruz*Buyderevo[1];
							PlayerInfo[playerid][pDgruz] += gruz;
							format(string, sizeof(string), "Вы купили %d тонн(ы) дерева за %d вирт", gruz,Buyderevo[1]*gruz);
							SendClientMessage(playerid, 0x6495EDFF, string);
							CreateVehicle(435,-1970.7585,-2433.0134,30.6250,137.8556,1,1, 300);
							DriverJob[playerid] = true;
							Gruz[playerid] = 3;
							bGruz[playerid] = 6;
							return true;
						}
						else
						{
							SendClientMessage(playerid, 0x008080FF, "Вы не на месте закупки!");
						}
					}
					else
					{
						SendClientMessage(playerid, 0x008080FF, "Вы уже загружены!");
					}
				}
			}
			return true;
		}
		if(strcmp(cmdtext, "/tunload", true) == 0)
		{
		    if(PlayerInfo[playerid][pJob] != 99)return SendClientMessage(playerid,COLOR_GREY,"Вы не Дальнобойщик");
			if(DriverJob[playerid] == true)
			{
				if(GetVehicleTrailer(GetPlayerVehicleID(playerid)))
				{
					if(IsPlayerInRangeOfPoint(playerid, 7.0, 2768.4402,-2456.2515,13.6432) || IsPlayerInRangeOfPoint(playerid, 7.0, -1731.4509,118.9413,3.5547))
					{
						switch(bGruz[playerid])
						{
							case 1:
							{
								PlayerInfo[playerid][pCash] += PlayerInfo[playerid][pDgruz]*Sellbenz[0];
								PlayerInfo[playerid][pDExp] = PlayerInfo[playerid][pDgruz]*1000;
								format(string, sizeof(string), "Вы продали груз за: %d",PlayerInfo[playerid][pDgruz]*Sellbenz[0]);
								SendClientMessage(playerid, 0x458E1DAA, string);
							}
							case 2:
							{
								PlayerInfo[playerid][pCash] += PlayerInfo[playerid][pDgruz]*Sellbenz[1];
								PlayerInfo[playerid][pDExp] = PlayerInfo[playerid][pDgruz]*1000;
								format(string, sizeof(string), "Вы продали груз за: %d",PlayerInfo[playerid][pDgruz]*Sellbenz[1]);
								SendClientMessage(playerid, 0x458E1DAA, string);
							}
							case 3:
							{
								PlayerInfo[playerid][pCash] += PlayerInfo[playerid][pDgruz]*Sellugol[0];
								PlayerInfo[playerid][pDExp] = PlayerInfo[playerid][pDgruz]*1000;
								format(string, sizeof(string), "Вы продали груз за: %d",PlayerInfo[playerid][pDgruz]*Sellugol[0]);
								SendClientMessage(playerid, 0x458E1DAA, string);
							}
							case 4:
							{
								PlayerInfo[playerid][pCash] += PlayerInfo[playerid][pDgruz]*Sellugol[1];
								PlayerInfo[playerid][pDExp] = PlayerInfo[playerid][pDgruz]*1000;
								format(string, sizeof(string), "Вы продали груз за: %d",PlayerInfo[playerid][pDgruz]*Sellugol[1]);
								SendClientMessage(playerid, 0x458E1DAA, string);
							}
							case 5:
							{
								PlayerInfo[playerid][pCash] += PlayerInfo[playerid][pDgruz]*Sellderevo[0];
								PlayerInfo[playerid][pDExp] = PlayerInfo[playerid][pDgruz]*1000;
								format(string, sizeof(string), "Вы продали груз за: %d",PlayerInfo[playerid][pDgruz]*Sellderevo[0]);
								SendClientMessage(playerid, 0x458E1DAA, string);
							}
							case 6:
							{
								PlayerInfo[playerid][pCash] += PlayerInfo[playerid][pDgruz]*Sellderevo[1];
								PlayerInfo[playerid][pDExp] = PlayerInfo[playerid][pDgruz]*1000;
								format(string, sizeof(string), "Вы продали груз за: %d",PlayerInfo[playerid][pDgruz]*Sellderevo[1]);
								SendClientMessage(playerid, 0x458E1DAA, string);
							}
						}
						DestroyVehicle(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
						Expirence(playerid);
						UpdateCost(playerid);
						DriverJob[playerid] = false;
						PlayerInfo[playerid][pDgruz] = 0;
						Gruz[playerid] = 0;
						return true;
					}
					else
					{
						SendClientMessage(playerid,0xFFFFFFFF,"Вы не в порту!");
					}
				}
			}
			else
			{
				SendClientMessage(playerid, 0xFF000000, "Вы не загружены!");
			}
			return true;
		}
		if(strcmp(cmdtext, "/tskill", true) == 0)
		{
		    if(PlayerInfo[playerid][pJob] != 99)return SendClientMessage(playerid,COLOR_GREY,"Вы не Дальнобойщик");
			new gtext[7];
			switch(Gruz[playerid])
			{
				case 1: gtext ="Бензин";
				case 2: gtext ="Уголь";
				case 3: gtext ="Дерево";
				case 0: gtext ="Нет";
			}
			new level = PlayerInfo[playerid][pDLevel];
			new exp = PlayerInfo[playerid][pDExp];
			new nxtlevel = PlayerInfo[playerid][pDLevel]+1;
			new expamount = nxtlevel*levelDexp;
			new gruz = PlayerInfo[playerid][pDgruz];
			new mazgruz = PlayerInfo[playerid][pDMgruz];
			new coordsstring[128];
			new msg[] = "Навык:\n\t\tLVL: %d\n\t\tExp: %d/%d\nФура:\n\t\tМакс груз: %dò.\n\t\tЗагружено: %d\nГруз: %s";
			format(coordsstring, 128, msg,level,exp,expamount,mazgruz,gruz,gtext);
			ShowPlayerDialog(playerid,31999,0,"Статистика Дальнобойщика",coordsstring,"Ок","");
			return true;
		}
		if(strcmp(cmdtext, "/tmonitor", true) == 0)
		{
		    if(PlayerToPoint(1.0,playerid,-1731.5077,118.8833,3.5547) || PlayerToPoint(1.0,playerid,2768.2495,-2456.6716,13.6432))
		    if(PlayerInfo[playerid][pJob] != 99)return SendClientMessage(playerid,COLOR_GREY,"Вы не Дальнобойщик");
			new strin[500];
			new msg1[] = "Цены продуктов:\n\t\tНефтезавод №1 Цена 1т: \n\t\t\t%d\n\t\tНефтезавод №2 Цена 1т: \n\t\t\t%d\n\t\tСклад угля №1 Цена 1т: \n\t\t\t%d\n\t\tСклад угля №2 Цена 1т:\n\t\t\t%d\n\t\tЛесопилка №1 Цена 1т:\n\t\t\t%d\n\t\tЛесопилка №2 Цена 1т: \n\t\t\t%d\nПорт LS, Цена 1т:\n\t\tНефть: %d\n\t\tУголь: %d\n\t\tДерево: %d\nПорт SF, Цена 1т:\n\t\tНефть: %d\n\t\tУголь: %d\n\t\tДерево: %d";
			format(strin, 500, msg1,Benzbuy[0],Benzbuy[1],ugolbuy[0],ugolbuy[1],Buyderevo[0],Buyderevo[1],Sellbenz[0],Sellugol[0],Sellderevo[0],Sellbenz[1],Sellugol[1],Sellderevo[1]);
			ShowPlayerDialog(playerid,31998,0,"Мониторинг цен:",strin,"Ок","");
			return true;
		}
Дальше в конце мода добавляем:
PHP:
stock UpdateCost(playerid)
{
	new rand = 100 + random(1000);
	Sellbenz[0] += rand;
	Sellbenz[1] += rand;
	Sellugol[0] += rand;
	Sellugol[1] += rand;
	Sellderevo[0] += rand;
	Sellderevo[1] += rand;
	Benzbuy[0] += rand;
	Benzbuy[1] += rand;
	ugolbuy[0] += rand;
	ugolbuy[1] += rand;
	Buyderevo[0] += rand;
	Buyderevo[1] += rand;
	new string[60];
	format(string, sizeof(string),"Порт ЛС\nНефть: %d\nУголь: %d\nДерево: %d",Sellbenz[0],Sellugol[0],Sellderevo[0]);
	Update3DTextLabelText(Doki[0][playerid],0xFFFF00AA,string);
	format(string, sizeof(string),"Порт СФ\nНефть: %d\nУголь: %d\nДерево: %d",Sellbenz[1],Sellugol[1],Sellderevo[1]);
	Update3DTextLabelText(Doki[1][playerid],0xFFFF00AA,string);
	format(string, sizeof(string),"Нефтезавод №1 \n Цена за тонну груза: %d",Benzbuy[0]);
	Update3DTextLabelText(GasZavod[0][playerid],0xFFFF00AA,string);
	format(string, sizeof(string),"Нефтезавод №2 \n Цена за тонну груза: %d",Benzbuy[1]);
	Update3DTextLabelText(GasZavod[1][playerid],0xFFFF00AA,string);
	format(string, sizeof(string),"Cклад угля №1 \n Цена за тонну груза: %d",ugolbuy[0]);
	Update3DTextLabelText(Sklad[0][playerid],0xFFFF00AA,string);
	format(string, sizeof(string),"Cклад угля №2 \n Цена за тонну груза: %d",ugolbuy[1]);
	Update3DTextLabelText(Sklad[1][playerid],0xFFFF00AA,string);
	format(string, sizeof(string),"Лесопилка №1\n Цена за тонну: %d",Buyderevo[0]);
	Update3DTextLabelText(Derevobuy[0][playerid],0xFFFF00AA,string);
	format(string, sizeof(string),"Лесопилка №2\n Цена за тонну: %d",Buyderevo[1]);
	Update3DTextLabelText(Derevobuy[1][playerid],0xFFFF00AA,string);
	return true;
}
И ещё 1:
PHP:
stock Expirence(playerid)
{
	new exp = PlayerInfo[playerid][pDExp];
	new nxtlevel = PlayerInfo[playerid][pDLevel]+1;
	new expamount = nxtlevel*levelDexp;
	if(exp == expamount)
	{
		PlayerInfo[playerid][pDLevel] += 1;
		PlayerInfo[playerid][pDMgruz] *= 2;
		PlayerInfo[playerid][pDExp] = 0;
		return true;
	}
	return true;
}
Далее делаем аренду грузовиков ищем if(newcar >= rentcarls[0] && newcar <= rentcarls[23]) и ниже ставим:
PHP:
		new car = GetPlayerVehicleID(playerid);
			if(car >= PetrolTanker[0] && car <= PetrolTanker[1]) 
			{
				if(jobcar[car] == false)
				{
					TogglePlayerControllable(playerid, 0);
					ShowPlayerDialog(playerid,32000,0,"Аренда","Вы хотите арендовать грузовик за 5000?","Да","Нет");
					if(PlayerInfo[playerid][pJob] == 99)
					{
					}
					else
					{
						SendClientMessage(playerid, COLOR_WHITE, "Вы не Дальнобойщик!");
						RemovePlayerFromVehicle(playerid);
						TogglePlayerControllable(playerid, 1);
					}
				}
			}
			if(car >= Linerunner[0] && car <= Linerunner[1])
			{
				if(jobcar[car] == false)
				{
					ShowPlayerDialog(playerid,32000,0,"Аренда","Вы хотите арендовать грузовик за 5000?","Да","Нет");
					TogglePlayerControllable(playerid, 0);
					if(PlayerInfo[playerid][pJob] == 99)
					{
					}
					else
					{
						SendClientMessage(playerid, COLOR_WHITE, "Вы не Дальнобойщик!");
						RemovePlayerFromVehicle(playerid);
						TogglePlayerControllable(playerid, 1);
					}
				}
			}
			if(car >= Roadtrain[0] && car <= Roadtrain[1])
			{
				if(jobcar[car] == false)
				{
					ShowPlayerDialog(playerid,32000,0,"Аренда","Вы хотите арендовать грузовик за 5000?","Да","Нет");
					TogglePlayerControllable(playerid, 0);
					if(PlayerInfo[playerid][pJob] == 99)
					{
					}
					else
					{
						SendClientMessage(playerid, COLOR_WHITE, "Вы не Дальнобойщик!");
						RemovePlayerFromVehicle(playerid);
						TogglePlayerControllable(playerid, 1);
					}
				}
			}
Теперь добавляем грузовики:
PHP:
	//-----------------[От 1 и более уровня]------------------------------------------
	Linerunner[0] = AddStaticVehicle(403,2260.9980,2779.8608,11.4380,89.9999,28,1); // 0
	AddStaticVehicle(403,2260.9980,2770.3906,11.4380,89.9999,30,1); // 0
	AddStaticVehicle(403,2260.9980,2764.0408,11.4380,89.9999,40,1); // 0
	AddStaticVehicle(403,2260.9983,2754.5005,11.4380,89.9999,25,1); // 0
	AddStaticVehicle(403,2260.9988,2747.9705,11.4380,90.0005,101,1); // 0
	Linerunner[1] = AddStaticVehicle(403,2260.9983,2738.4004,11.4380,89.9999,113,1); // 0
   //-----------------[от 25 и более уровня]----------------------------------------
    Roadtrain[0] = AddStaticVehicle(515,2296.0073,2779.9189,11.8265,270.0013,54,77); // 25
	AddStaticVehicle(515,2296.0146,2770.4751,11.8305,270.2599,11,76); // 25
	AddStaticVehicle(515,2296.0159,2763.8289,11.8284,270.0019,62,77); // 25
	AddStaticVehicle(515,2296.0044,2754.3877,11.8305,269.7369,13,76); // 25
	AddStaticVehicle(515,2296.0159,2747.9287,11.8284,270.0018,24,77); // 25
	AddStaticVehicle(515,2296.0159,2738.3289,11.8284,270.0019,63,78); // 25
	AddStaticVehicle(515,2347.0161,2738.2393,11.8725,270.0006,34,36); // 25
	AddStaticVehicle(515,2347.0161,2747.8691,11.8727,270.0008,34,36); // 25
	AddStaticVehicle(515,2347.0161,2754.4189,11.8728,270.0009,34,36); // 25
	AddStaticVehicle(515,2347.0161,2763.9092,11.8726,270.0006,34,36); // 25
	AddStaticVehicle(515,2347.0159,2770.5994,11.8725,270.0005,34,36); // 25
	Roadtrain[1] = AddStaticVehicle(515,2347.0159,2779.9290,11.8282,270.0015,34,36);
Теперь добавим координаты в /gps ищем else if(strcmp(cmd, "/gps", true) == 0) и в конце прописываем \n[Ваш номер] Дальнобойщики

Ищем case 10000: и добавляем:
PHP:
case 7:	ShowPlayerDialog(playerid,31996, DIALOG_STYLE_LIST,"Дальнобойщики","[1]Порт LS\n[2]Порт SF\n[3]Нефтезавод №1\n[4]Нефтезавод №2\n[5]Склад угля №1\n[6]Склад угля №2\n[7]Лесопилка №1\n[8]Лесопилка №2\n[9]Аренда грузовиковí","Выбрать","Назад");
Добавляем координаты:
PHP:
		        case 31996:
				{
					if(response)
					{
						switch(listitem)
						{
							case 0:
							{
								SetPlayerCheckpoint(playerid,2768.4402,-2456.2515,13.6432,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							}
							case 1:
							{
								SetPlayerCheckpoint(playerid,-1731.4509,118.9413,3.5547,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							} 
							case 2:
							{
								SetPlayerCheckpoint(playerid,256.4736,1414.5182,10.7075,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							}
							case 3:
							{
								SetPlayerCheckpoint(playerid,-1046.7723,-670.7208,32.3516,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							} 
							case 4:
							{
								SetPlayerCheckpoint(playerid,608.7718,847.8765,-43.1532,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							}
							case 5:
							{
								SetPlayerCheckpoint(playerid,-1873.0896,-1720.2430,21.7500,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							}
							case 6:
							{
								SetPlayerCheckpoint(playerid,-449.3336,-65.9115,59.4158,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							}
							case 7:
							{
								SetPlayerCheckpoint(playerid,-1978.6846,-2434.8274,30.6250,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							}
							case 8:
							{
								SetPlayerCheckpoint(playerid,2363.2495,2819.7153,11.4025,8);
								SendClientMessage(playerid,COLOR_WHITE,"Место на карте помечено красной меткой");
							} 
						}
					}
					else
					{
						ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_LIST, "- GPS -", "[1] Важные места\n[2] По работе\n[3] Развлечения\n[4] Автосалоны\n[5] Автомастерские\n[6] Базы организаций\n[7] Фермы\n[8] Дальнобойщики\n[9] Отключить GPS", "Выбрать", "Отмена");
						return true;
					}
				}
Дальше добавляем работу в мэрии ищем case 10092: и добавляем в конце \nДальнобойщик (( с 7лвл ))

Теперь ищем case 10098: добавим:
PHP:
     else if(listitem == 8) //Ставьте вместо 8 ваш номер
		     {
		     if(PlayerInfo[playerid][pJob] == 99) return SendClientMessage(playerid, COLOR_GRAD1, "Вы уже устроены на эту работу!");
             if(PlayerInfo[playerid][pLevel] < 7) return	SendClientMessage(playerid, COLOR_GRAD1, "Вам требуется 7 уровень!");
		     PlayerInfo[playerid][pJob] = 99;
		     PlayerInfo[playerid][pDMgruz] = 2;
             SendClientMessage(playerid, COLOR_WHITE, "Вас успешно приняли на работу Дальнобойщика");
  			 SendClientMessage(playerid, 0x6495EDFF, "Чтобы начать работу, едьте на стоянку грузовиков Las Venturas  ((/gps))");
   			 SendClientMessage(playerid, 0x6495EDFF, "((Команды: /tskill /tmonitor /tload /tunload))");
		     return true;
		     }
Думаю помог с вас +
Этот мануал для RLS
Вырезал из мода Fortune Role Play
Автор работы дальнобойщиков Skinni
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу