Вопросы

В общем, есть гараж, есть виртуальный мир, и есть кмд /park(паркует машину), и есть /fixcar(возвращает машины на припаркованные координаты).

И есть код, когда захожу в гараж создаётся вирт мир для авто и человека. Так вот, есть там переменная значения этого мира. И есть у меня своя переменная вирт мира. Совместил получил ничего. Помогите. И ещё добавил создания вирт мира в /fixcar.

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


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

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

  • 0

@Nekit_Krut18 сначала нужно создать машину

16 часов назад, Nekit_Krut18 сказал:

PI[playerid][PlayerCarID][0] = CreateVehicle(PI[playerid][cModel][0], PI[playerid][cX][0],PI[playerid][cY][0],PI[playerid][cZ][0],PI[playerid][cA][0], PI[playerid][cColor][0], PI[playerid][cColor][1], 90000);

потом vehicleid это PI[playerid][PlayerCarID][0]

и у этого vehicleid менять интерьер и виртуальный мир. 

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


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

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


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

UP

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


Ссылка на сообщение
  • 0
В 16.07.2019 в 16:09, Nekit_Krut18 сказал:

Совместил получил ничего.

Что значит "совместил"? Что значит "ничего"? В чем заключена проблема? И чем, собственно, необходимо помочь? 

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


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

@DEST Уже подхимичил, с бд считывается значение, это значение устанавивает вирт мир для авто, и интерьер тоже. Ввожу /fixcar машина пропадает, нету её в вирт мире 1 и интерьере 1 тоже. Есть нехитрая кмд которая узнаёт вирт мир игрока и интерьер тоже. Я в таком-же а машины нет.

 

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


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

@Nekit_Krut18 Посмотрите вирт. мир машины с помощью еще более нехитрой команды: 

Спойлер

CMD:getvehvw(playerid, params[]) {
  new veh_id; 
  
  if (sscanf(params, "d", veh_id)) 
    return SendClientMessage(playerid, -1, "Используйте: /getvehvw [id машины]"); 
  
  new veh_vw = GetVehicleVirtualWorld(veh_id); 
  
  new string[50]; 
  format(string, sizeof(string), "Вирт.Мир: %d, ID: %d", veh_vw, veh_id); 
  SendClientMessage(playerid, -1, string); 
  
  return 1; 
}

 

И отследите места, где с помощью SetVehicleVirtualWorld меняется вирт. мир машины. 

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


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

@DEST Хорошо Дест

--- Объединено

@Nekit_Krut18 Короче почему-то не устанавливается вирт мир для авто при вводе /fixcar, хотя система то проста. 

--- Объединено

@DEST Короче сам задал машине через кмд мир вирт. и интерьер, и она появилась. Значит не правильно обозначаю машину в /fixcar, именно вместо vehiceid тоесть вот отсюда SetVehicleVirtualWorld(vihecleid, num), num значение с бд.(вирт мир). Как теперь обозначить лич кар всместо vehicleid?

 

Заметка от DEST , создано

Объединил сообщения.

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


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

@Nekit_Krut18 в массиве данных с игроком, вероятно, хранится ID загруженной машины. Поищите использование машины в  других командах / процедурах. 

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


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

@DEST Да, Есть, я думаю это сModel, и вот что есть ещё PlayerCarID[3], вот это я и задаю.

Цитата

Kod


// Машина
 	cModel[2],
	cClass[2],
	cFuel[2],
	cColor[2],
	cColor1[2],
	cLock[2],
	cCost[2],

 


    

@DEST И вот даже док-ва что это PI[playerid][PlayerCarID][0], это и есть сама машина, этот код из загрузки авто.

Цитата

PI[i][PlayerCarID][1] = CreateVehicle(PI[i][cModel][1], PI[i][cX][1],PI[i][cY][1],PI[i][cZ][1],PI[i][cA][1], PI[i][cColor1][0], PI[i][cColor1][1], 90000);

 

 

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

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


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

@Nekit_Krut18 ну вот ее значит и используйте вместо vehicleid.

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


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

@DEST Я использовал, и вот ещё использовал из кода. Вот что я думаю правильно это создание лич авто при вводе /fixcar

Цитата

PI[playerid][PlayerCarID][0] = CreateVehicle(PI[playerid][cModel][0], PI[playerid][cX][0],PI[playerid][cY][0],PI[playerid][cZ][0],PI[playerid][cA][0], PI[playerid][cColor][0], PI[playerid][cColor][1], 90000);

 

 

@DEST Вот что я использовал и ничего. Последнее это то что я скинул выше.

Цитата

new vehicleid = PI[playerid][cModel][0];
//////////////////////////////////
new vehicleid = GetPlayerVehicleID(playerid);
//////////////////////////////////
new vehicleid = PI[playerid][PlayerCarID][0];

 

 

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


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

@Nekit_Krut18 Покажите полный код Вашей системы. 

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


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

@DEST 

Цитата

cmd:fixcar(playerid,params[])
{
	new cares[MAX_PLAYERS] = 0;
	new totalstring[220];
	if(sscanf(params,"d",params[0])) return SendClientMessage(playerid,COLOR_ORANGE,"Èñïîëüçóéòå: /fixcar [1/2]");
	if(params[0] == 1)
	{
		if(PI[playerid][PlayerCarID][0] != INVALID_VEHICLE_ID) cares[playerid]++;
		if(cares[playerid] <= 0) return SendClientMessage(playerid,COLOR_DARKORANGE,"Ó Âàñ íåò òðàíñïîðòà");
		if(PI[playerid][cModel][0] > 0)
		{
			if(PI[playerid][cPaintjob][0] > 3 || PI[playerid][cPaintjob][0] < 0) PI[playerid][cPaintjob][0] = 3;
			if(PI[playerid][PlayerCarID][0] != INVALID_VEHICLE_ID)
			{
				DestroyVehicle(PI[playerid][PlayerCarID][0]);
				PI[playerid][PlayerCarID][0] = INVALID_VEHICLE_ID;
			}
			if(PI[playerid][cX][0] == 0 && PI[playerid][cY][0] == 0 && PI[playerid][cZ][0] == 0)
			{
			    new r = random(44);
			    PI[playerid][PlayerCarID][0] = CreateVehicle(PI[playerid][cModel][0], SalonRandSpawn[r][0], SalonRandSpawn[r][1], SalonRandSpawn[r][2], SalonRandSpawn[r][3], PI[playerid][cColor][0], PI[playerid][cColor][1], 90000);
			    ShowPlayerDialog(playerid, D_NULL, 0, "{"#cSV"}Àâòîñàëîí", "{FFFFFF}Âû íå ïðèïàðêîâàëè âàø àâòîìîáèëü #1 ïåðåä âûõîäîì.\n\
				{FFFFFF}Çàáðàòü âàø àâòîìîáèëü âû ìîæåòå íà ïàðêîâêå àâòîñàëîíà {"#cSV"}''Àíàøàí''.\n\
				{FF0000}Ïîñòàðàéòåñü íå çàáûòü ïðèïàðêîâàòü âàø àâòîìîáèëü â ýòîò ðàç.", "Çàêðûòü", "");
			}
			else
			{
			//new idx;
			//num = g_garages[idx][G_SQL_ID];
			//num = GetPlayerVirtualWorld(playerid);
			//idx = GetNearestGarage(playerid);
   			new num = PI[playerid][cVirtual][0];
   			//new vehicleid = PI[playerid][PlayerCarID][0];
   			//PI[playerid][PlayerCarID][1]
   			//new vehicleid = GetPlayerVehicleID(playerid);
   			new vehicleid = PI[playerid][cModel][0];
   			
            LinkVehicleToInterior(vehicleid, num);
  			SetVehicleVirtualWorld(vehicleid, num);
			PI[playerid][PlayerCarID][0] = CreateVehicle(PI[playerid][cModel][0], PI[playerid][cX][0],PI[playerid][cY][0],PI[playerid][cZ][0],PI[playerid][cA][0], PI[playerid][cColor][0], PI[playerid][cColor][1], 90000);
			//SetPlayerInterior(playerid, num);
			//SetPlayerVirtualWorld(playerid, num);
			}
			CarDoors(PI[playerid][PlayerCarID][0], PI[playerid][cLock][0]);
			Fuel[PI[playerid][PlayerCarID][0]] = PI[playerid][cFuel][0];
			SetVehicleHealth(PI[playerid][PlayerCarID][0], 1000);
			Engine[PI[playerid][PlayerCarID][0]] = Lights[PI[playerid][PlayerCarID][0]] = false;
			IsLocked[PI[playerid][PlayerCarID][0]] = (!PI[playerid][cLock][0]) ? (false) : (true);
			for(new i; i < 14; i++)
			{
			    if(PI[playerid][cVehcoms][i]) AddVehicleComponent(PI[playerid][PlayerCarID][0], PI[playerid][cVehcoms][i]);
			}
			if(PI[playerid][cPaintjob][0] != 3) ChangeVehiclePaintjob(PI[playerid][PlayerCarID][0], PI[playerid][cPaintjob]);
	        if(Settings[playerid][5] == 1)
	        {
				//----------------------------[ Ñèñòåìêà 3D íîìåðîâ]-------------------
				if(VehicleLabel[PI[playerid][PlayerCarID][0]] != Text3D:INVALID_3DTEXT_ID)
				{
				    DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][PlayerCarID][0]]);
				    VehicleLabel[PI[playerid][PlayerCarID][0]] = Text3D:INVALID_3DTEXT_ID;
				}
				if(strcmp(PI[playerid][pNumberVehicle],"None",true,64) != 0)
				{
					format(totalstring,220,"%s",PI[playerid][pNumberVehicle]);
					VehicleLabel[PI[playerid][PlayerCarID][0]] = CreateDynamic3DTextLabel(totalstring, 0xFFFFFFFF, 0, 0, 0, 10.0,INVALID_PLAYER_ID, PI[playerid][PlayerCarID][0], 1);
				}
				else
				{
				    VehicleLabel[PI[playerid][PlayerCarID][0]] = CreateDynamic3DTextLabel("[ ÒÐÀÍÇÈÒ ]", 0xFFFFFFFF, 0, 0, 0, 10.0,INVALID_PLAYER_ID, PI[playerid][PlayerCarID][0], 1);
				}
			}
			SetVehicleNumberPlate(PI[playerid][PlayerCarID][0], PI[playerid][pNumberVehicle]);
		}
		SendClientMessage(playerid,COLOR_BLUE,"Òðàíñïîðò {FFCC00}¹1 {1D99D4}äîñòàâëåí ê ìåñòó ïàðêîâêè.");
	}
	else if(params[0] == 2)
	{
		if(PI[playerid][PlayerCarID][1] != INVALID_VEHICLE_ID) cares[playerid]++;
		if(cares[playerid] <= 0) return SendClientMessage(playerid,COLOR_DARKORANGE,"Ó Âàñ íåò òðàíñïîðòà");
		if(PI[playerid][cModel][1] > 0)
		{
			if(PI[playerid][cPaintjob][1] > 3 || PI[playerid][cPaintjob][1] < 0) PI[playerid][cPaintjob][1] = 3;
			if(PI[playerid][PlayerCarID][1] != INVALID_VEHICLE_ID)
			{
				DestroyVehicle(PI[playerid][PlayerCarID][1]);
				PI[playerid][PlayerCarID][1] = INVALID_VEHICLE_ID;
			}
			if(PI[playerid][cX][1] == 0 && PI[playerid][cY][1] == 0 && PI[playerid][cZ][1] == 0)
			{
			    new r = random(44);
			    PI[playerid][PlayerCarID][1] = CreateVehicle(PI[playerid][cModel][1], SalonRandSpawn[r][0], SalonRandSpawn[r][1], SalonRandSpawn[r][2], SalonRandSpawn[r][3], PI[playerid][cColor1][0], PI[playerid][cColor1][1], 90000);
			    ShowPlayerDialog(playerid, D_NULL, 0, "{"#cSV"}Àâòîñàëîí", "{FFFFFF}Âû íå ïðèïàðêîâàëè âàø àâòîìîáèëü #2 ïåðåä âûõîäîì.\n\
				{FFFFFF}Çàáðàòü âàø àâòîìîáèëü âû ìîæåòå íà ïàðêîâêå àâòîñàëîíà {"#cSV"}''Àíàøàí''.\n\
				{FF0000}Ïîñòàðàéòåñü íå çàáûòü ïðèïàðêîâàòü âàø àâòîìîáèëü â ýòîò ðàç.", "Çàêðûòü", "");
			}
			else
			{
			    //new idx;
				//idx = GetNearestGarage(playerid);
				//num1 = g_garages[idx][G_SQL_ID]+2;
				//num = GetPlayerVirtualWorld(playerid);
   				new num1 = PI[playerid][cVirtual][1];
				//new vehicleid = PI[playerid][PlayerCarID][1];
				//new vehicleid = GetPlayerVehicleID(playerid);
				new vehicleid = PI[playerid][cModel][1];
				
			    LinkVehicleToInterior(vehicleid, num1);
  				SetVehicleVirtualWorld(vehicleid, num1);
			    PI[playerid][PlayerCarID][1] = CreateVehicle(PI[playerid][cModel][1], PI[playerid][cX][1],PI[playerid][cY][1],PI[playerid][cZ][1],PI[playerid][cA][1], PI[playerid][cColor1][0], PI[playerid][cColor1][1], 90000);
				//SetPlayerInterior(playerid, num1);
				//SetPlayerVirtualWorld(playerid, num1);
			}
			CarDoors(PI[playerid][PlayerCarID][1], PI[playerid][cLock][1]);
			Fuel[PI[playerid][PlayerCarID][1]] = PI[playerid][cFuel][1];
			SetVehicleHealth(PI[playerid][PlayerCarID][1], 1000);
			Engine[PI[playerid][PlayerCarID][1]] = Lights[PI[playerid][PlayerCarID][1]] = false;
			IsLocked[PI[playerid][PlayerCarID][1]] = (!PI[playerid][cLock][1]) ? (false) : (true);
			for(new i; i < 14; i++)
			{
			    if(PI[playerid][cVehcoms1][i]) AddVehicleComponent(PI[playerid][PlayerCarID][1], PI[playerid][cVehcoms1][i]);
			}
			if(PI[playerid][cPaintjob][1] != 3) ChangeVehiclePaintjob(PI[playerid][PlayerCarID][1], PI[playerid][cPaintjob][1]);
	        if(Settings[playerid][5] == 1)
	        {
				//----------------------------[ Ñèñòåìêà 3D íîìåðîâ]-------------------
				if(VehicleLabel[PI[playerid][PlayerCarID][1]] != Text3D:INVALID_3DTEXT_ID)
				{
				    DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][PlayerCarID][1]]);
				    VehicleLabel[PI[playerid][PlayerCarID][1]] = Text3D:INVALID_3DTEXT_ID;
				}
				if(strcmp(PI[playerid][pNumberVehicle],"None",true,64) != 0)
				{
					format(totalstring,220,"%s",PI[playerid][pNumberVehicle1]);
					VehicleLabel[PI[playerid][PlayerCarID][1]] = CreateDynamic3DTextLabel(totalstring, 0xFFFFFFFF, 0, 0, 0, 10.0,INVALID_PLAYER_ID, PI[playerid][PlayerCarID][1], 1);
				}
				else
				{
				    VehicleLabel[PI[playerid][PlayerCarID][1]] = CreateDynamic3DTextLabel("[ ÒÐÀÍÇÈÒ ]", 0xFFFFFFFF, 0, 0, 0, 10.0,INVALID_PLAYER_ID, PI[playerid][PlayerCarID][1], 1);
				}
			}
			SetVehicleNumberPlate(PI[playerid][PlayerCarID][1], PI[playerid][pNumberVehicle1]);
		}
		SendClientMessage(playerid,COLOR_BLUE,"Òðàíñïîðò {FFCC00}¹2 {1D99D4}äîñòàâëåí ê ìåñòó ïàðêîâêè.");
	}
	return 1;
}

 

 

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


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

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

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

    • Talex
      От Talex
      Всем привет, сливаю первый мод!
      Информация о моде:

      — Основа Gamenix.
      — Мод переведен на Mysql R39, теперь ни каких слётов нет, мод работает стабильно с онлайном 160+.
      — Новый автосалон на TextDraw.
      — Система 3-х автомобилей (1 можно купить по дефолту, 2 и 3 за донат).
      — Автомобили у игроков теперь не пропадают (Id'ы авто сбивались, с номерами теперь тоже всё в порядке).
      — Оформление сервера полностью переработано, теперь оно более красивое.
      — Защита от копирования карты.
      — в меню сервера добавлен пункт визуальных настроек.
      — Номера на транспорт теперь можно приобрести в /donate.
      — Сделан новый красивый спидометр.
      — При получении номера, добавлен выбор региона.
      — Сделана система радаров и промокодов, создание прямо из игры.
      — Новый интерьер казино.
      — Магазин скинов теперь на TextDraw.
      — Автошкола полностью функционирует.
      — Добавлена информация после коннекта о последнем входе в собственный аккаунт.
      — Приватная защита от всех видов DDoS атак и DoS атак.                                                                                                                                    
      — пароль от АП (/alog) теперь у каждого администратора индивидуальный.
      — Изменено оформление самого мода
      Это не все изменения мода, их ещё очень много. все не упомнишь. 
      Автор мода: Неизвестен
      CUNBERS RP 8.4.3.rar