Вопросы

Как сделать что бы машину получить через пикап например встал на пикап заплатил 1500р и появилась машина в определенном месте, у меня 2 лвл автомобилей дальнобойщиков trucker1lvl и trucker2lvl

Отредактировано пользователем archiboy6

Поделиться сообщением


Ссылка на сообщение

56 ответов на этот вопрос

  • 0

@archiboy6 значит, сделаем так (замените свой код в OnPlayerExitVehicle): 
 

if(veh_dalnoboy[playerid] == vehicleid)
{
    if(PI[playerid][pJob] != JOB_TRUCK) return SendClientMessage(playerid, -1, "Вы не работаете дальнобойщиком!");

    SendClientMessage(playerid, -1, "Вы покинули авто дальнобойщика. У вас осталось 60 секунд или машина будет зареспавнена!");
    SetTimerEx("ExitVehicleTruck", 60*1000, false, "ii", playerid, vehicleid); 
    return true; 
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@archiboy6 создайте обычный пикап, и в OnPlayerPickUpPickup: 

if(pickupid == ID пикапа)
{
	veh_dalnoboy[playerid] = CreateVehicle(id машины, X, Y, Z, Angle, -1, -1, -1); 
	PI[playerid][pMember] -= 1500; 
	GivePlayerMoney(playerid, -1500); 
	SendClientMessage(playerid, -1, "Вы получили машину!");
	return true; 
}

К new: 

new veh_dalnoboy[MAX_PLAYERS]; 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs 

Спойлер

					if((vehicleid >= trucker1lvl[0] && vehicleid <= trucker1lvl[1]) || (vehicleid >= trucker2lvl[0] && vehicleid <= trucker2lvl[1]))
					{
						if(PI[playerid][pJob] != JOB_TRUCKER)
						{
						    SCM(playerid, COLOR_DARKORANGE, "Âû íå äàëüíîáîéùèê!");
						    SCM(playerid, COLOR_DARKORANGE, "Óñòðîèòüñÿ íà ðàáîòó ìîæíî â ïðàâèòåëüñòâå (/gps - 1 - 1).");
							RemoveFromVehicle(playerid);
							return 1;
						}
						new trucklevel, price;
						if(vehicleid >= trucker1lvl[0] && vehicleid <= trucker1lvl[1]) { trucklevel = 1; price = 200; }
						else if(vehicleid >= trucker2lvl[0] && vehicleid <= trucker2lvl[1]) { trucklevel = 2; price = 300; }
						if((trucklevel == 2 && PI[playerid][pTruckSkill] < TRUCK_LEVEL_2))
						{
							SCM(playerid, COLOR_GREY, "Âàø îïûò ðàáîòû äàëüíîáîéùèêîì íå äîñòàòî÷åí äëÿ ýòîãî òðàíñïîðòà");
							RemoveFromVehicle(playerid);
							return 1;
						}
						if(GetMoney(playerid) < price)
						{
							new string[128];
							format(string, sizeof(string), "Âàì íóæíî %d ðóá, ÷òîáû àðåíäîâàòü ýòîò ãðóçîâèê", price);
							SCM(playerid, COLOR_GREY, string);
							RemoveFromVehicle(playerid);
							return 1;
						}
						SetPVarInt(playerid, "truckprice", price);
						new string[150];
						if(PI[playerid][TruckerCarID] == vehicleid) { }
						else
						{
						    SetTimerEx("CheckRentCar",8000,0,"i",playerid);
							format(string, sizeof(string), "{ffffff}Âû õîòèòå àðåíäîâàòü äàííûé òÿãà÷?\nÑòîèìîñòü àðåíäû: {33ccff}%i ðóá", price);
							ShowPlayerDialog(playerid, 11212, DIALOG_STYLE_MSGBOX, "{ffa500}Àðåíäà", string, "Äà", "Íåò");
						}
					}
				}

Вот код как бод него подогнать этот по пикапу

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@archiboy6 у этого вообще другие функции, тут нет никакой выдачи автомобилей, зачем вам подгонять этот код под пикап? 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs Что бы на каждый лвл дальнобоя выдавался автомобиль такого же лвл

Поделиться сообщением


Ссылка на сообщение
  • 0

@archiboy6 

if(pickupid == ID пикапа)
{
	if(PI[playerid][pTruckSkill] == TRUCK_LEVEL_1)
	{
		veh_dalnoboy[playerid] = CreateVehicle(id машины, X, Y, Z, Angle, -1, -1, -1); //выдаем машину для 1 уровня дальнобойщика
	}
	else if(PI[playerid][pTruckSkill] == TRUCK_LEVEL_2)
	{	
		veh_dalnoboy[playerid] = CreateVehicle(id машины, X, Y, Z, Angle, -1, -1, -1); //выдаем машину для 2 уровня дальнобойщика
	} // по аналогии продолжать далее
	PI[playerid][pMember] -= 1500; 
	GivePlayerMoney(playerid, -1500); 
	SendClientMessage(playerid, -1, "Вы получили машину!");
	PutPlayerInVehicle(veh_dalnoboy[playerid], playerid, 0); // сажаем в созданную машину
	return true; 
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs 

D:\GHEKA\Ìîäû\AVRP\gamemodes\stel.pwn(18029) : error 017: undefined symbol "Angle"
D:\GHEKA\Ìîäû\AVRP\gamemodes\stel.pwn(18033) : error 017: undefined symbol "Angle"
	if(PI[playerid][pTruckSkill] == trucker1lvl[0])
	{
		veh_dalnoboy[playerid] = CreateVehicle(515, 1746.5354,2263.7712,16.5069, Angle, -1, -1, -1); //âûäàåì ìàøèíó äëÿ 1 óðîâíÿ äàëüíîáîéùèêà
	}
	else if(PI[playerid][pTruckSkill] == TRUCK_LEVEL_2)
	{
		veh_dalnoboy[playerid] = CreateVehicle(515, 1746.5354,2263.7712,16.5069, Angle, -1, -1, -1); //âûäàåì ìàøèíó äëÿ 2 óðîâíÿ äàëüíîáîéùèêà
	} // ïî àíàëîãèè ïðîäîëæàòü äàëåå

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs Когда хочу устроиться дальнобойщиком пишет вы получили машину

Поделиться сообщением


Ссылка на сообщение
  • 0

@archiboy6 Так как вы скинули прошлый код иероглифами, мне это ничего не говорит. Скидывайте строку с данной проверкой. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs 

if(pickupid == meriapick[2])
	{
		if(PI[playerid][pJob] == JOB_TRUCKER) ResetTruck(playerid);
		else if(PI[playerid][pMember]) return SCM(playerid, COLOR_GREY, "Вы состоите в организации!");
		ShowPlayerDialog(playerid, D_HEAL+17, 2, "{ffa500}Устройство на работу", "{ffffff}Водитель автобуса\t\t| {33AAFF}2 уровень\n{ffffff}Водитель такси\t\t| {33AAFF}2 уровень\n{ffffff}Автомеханик\t\t\t| {33aaff}3 уровень\n{ffffff}Дальнобойщик\t\t| {33aaff}4 уровень\n{ffffff}Уволиться с работы", "Выбор", "Отмена");
	}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs 

Спойлер

	if(pickupid == dalnoboypick)
	if(PI[playerid][pJob] != JOB_TRUCKER)
	{
      SCM(playerid, COLOR_DARKORANGE, "Вы не дальнобойщик!");
      SCM(playerid, COLOR_DARKORANGE, "Устроиться на работу можно в правительстве (/gps - 1 - 1).");
	  RemoveFromVehicle(playerid);
	  return 1;
	}
   {
	if(PI[playerid][pTruckSkill] == trucker1lvl[0])
	{
		veh_dalnoboy[playerid] = CreateVehicle(515, 1746.5354,2263.7712,16.5069, 187.3303, -1, -1, -1); //выдаем машину для 1 уровня дальнобойщика
	}
	else if(PI[playerid][pTruckSkill] == TRUCK_LEVEL_2)
	{
		veh_dalnoboy[playerid] = CreateVehicle(515, 1746.5354,2263.7712,16.5069, 187.3303, -1, -1, -1); //выдаем машину для 2 уровня дальнобойщика
	} // по аналогии продолжать далее
	PI[playerid][pMember] -= 1500;
	GivePlayerMoney(playerid, -1500);
	SendClientMessage(playerid, -1, "Вы получили машину!");
	PutPlayerInVehicle(veh_dalnoboy[playerid], playerid, 0); // сажаем в созданную машину
	return true;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@archiboy6 Вы неправильно сделали, я же написал по аналогии. А вы TRUCKER_LEVEL_1 заменили на trucker1lvl[0] поэтому и не работает. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs Так на TRUCK_LEVEL_1 выдает ошибки, нету такого потому что

 

@stibs Все равно не работает пишет вы получили машину

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs Это я хочу устроиться в мерии и пишет такое когда становлюсь на пикап

Поделиться сообщением


Ссылка на сообщение
  • 0

@archiboy6 А код закинули в обычный. Значит, либо создавайте как обычный, либо код из OnPlayerPickUpPickup переносите в OnPlayerDynamicPickupPickUp

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs У меня тут все пикапы Dynamic

@stibs И все равно когда становлюсь в мерии на пикап устройства пишет вы получили машину.

@stibs Вот зайди сам посмотри

217.106.106.87:8202

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs Нет такого паблика у меня нет, я закинул туда там где все пикапы

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо