Вопросы

В общем, есть гараж, есть виртуальный мир, и есть кмд /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 пользователей онлайн

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

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

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.