Question

if(pickupid == Pickup[46])// штрафстоянка
{
	if(CarInfo[p][i][cModel], SalonRandSpawn[r][0], SalonRandSpawn[r][1], SalonRandSpawn[r][2], SalonRandSpawn[r][3], CarInfo[p][i][cColor1], CarInfo[p][i][cColor2], 90000) return SendClientMessage(playerid, COLOR_GREY, "{BEBEBE}[INFO] Вашего авто нет на страфстоянке!");
	{
		ShowPlayerDialog(playerid, D_PODEZD+8,DIALOG_STYLE_MSGBOX,"{FFCC00}Штрафстоянка","{ffffff}Вы не припоркавали свое авто и Вам был выписан штраф в размере {FFCC00}5000 рублей?", "Забрать", "Нет");
	}
}

 

Edited by odosenok

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

Неужели сложно было по-человечески код выложить?

Share this post


Link to post

8 answers to this question

  • 0

Получайте координаты машины через https://wiki.sa-mp.com/wiki/GetVehiclePos и проверяете коорд-ы на равенство. 

Share this post


Link to post
  • 0

с кодом извените при копировании косяк получился

 

Прописал по Вашему приведенному примеру вот так

	if(pickupid == Pickup[46])// штрафстоянка
	{
		new currentveh;
		currentveh = GetPlayerVehicleID(playerid);
		new Float:vehx, Float:vehy, Float:vehz;
		GetVehiclePos(currentveh, 2065.4912,-2579.1953,10.4813);

		new vehpostext[96];
		format(vehpostext, sizeof(vehpostext), "Вашего авто на штрафстоянке нет! %f, %f, %f", vehx, vehy, vehz);
		SendClientMessage(playerid, 0xFFFFFFFF, vehpostext);
		else
	    {
	        ShowPlayerDialog(playerid, D_PODEZD+8,DIALOG_STYLE_MSGBOX,"{FFCC00}Штрафстоянка","{ffffff}Вы не припоркавали свое авто и Вам был выписан штраф в размере {FFCC00}5000 рублей?", "Забрать", "Нет");
	    }
	}
Спойлер

и получил в ответ вот такие две ошибки


D:\МОЙ СЕРВЕР\локальный сервер\gamemodes\mrpv1.pwn(21741) : error 035: argument type mismatch (argument 2)
D:\МОЙ СЕРВЕР\локальный сервер\gamemodes\mrpv1.pwn(21746) : error 029: invalid expression, assumed zero
Pawn compiler 3.10.8	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

 

 

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

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

Share this post


Link to post
  • 0
36 минут назад, Андрей Лазарев сказал:

 


GetVehiclePos(currentveh, 2065.4912,-2579.1953,10.4813);

 

 

Здесь координаты не нужны. Если вы хотите проверить, находится ли транспорт возле этих координат, используйте следующий фрагмент кода:

new Float:dist = GetVehicleDistanceFromPoint(vehicleid, 2065.4912,-2579.1953,10.4813); // получим расстояние от штрафстоянки до транспорта
if(dist > 30.0) { // если это расстояние больше 30.0
	// транспортное средство находится за пределами штрафстоянки
}

 

Share this post


Link to post
  • 0
1 час назад, odosenok сказал:

 

Здесь координаты не нужны. Если вы хотите проверить, находится ли транспорт возле этих координат, используйте следующий фрагмент кода:


new Float:dist = GetVehicleDistanceFromPoint(vehicleid, 2065.4912,-2579.1953,10.4813); // получим расстояние от штрафстоянки до транспорта
if(dist > 30.0) { // если это расстояние больше 30.0
	// транспортное средство находится за пределами штрафстоянки
}

 

Акуда это все вставить?

Share this post


Link to post
  • 0
if(dist > 30.0)
{
new vehpostext[96];
		format(vehpostext, sizeof(vehpostext), "Вашего авто на штрафстоянке нет! %f, %f, %f", vehx, vehy, vehz);
		SendClientMessage(playerid, 0xFFFFFFFF, vehpostext);
}

 

Share this post


Link to post
  • 0

вылетело сразу куча ошибок

 

Вот все координаты куда отправляются авто может через этот new можно как то реализовать?

new Float:SalonRandSpawn[][4] =
{
	{2065.4912,-2579.1953,10.4813,91.0366}, // íå ïðèïîðêîâàë
	{2065.5889,-2582.6274,10.4814,90.4351}, // íå ïðèïîðêîâàë
	{2065.6494,-2586.1033,10.4893,89.6405}, // íå ïðèïîðêîâàë
	{2065.6750,-2589.3721,10.4891,90.1443}, // íå ïðèïîðêîâàë
	{2065.7200,-2592.7258,10.4890,90.4671}, // íå ïðèïîðêîâàë
	{2065.6912,-2596.0198,10.4892,89.8759}, // íå ïðèïîðêîâàë
	{2065.9014,-2599.2756,10.4890,89.0267}, // íå ïðèïîðêîâàë
	{2066.0120,-2605.9817,10.4893,90.5266}, // íå ïðèïîðêîâàë
	{2065.7261,-2609.3379,10.4890,90.5358}, // íå ïðèïîðêîâàë
	{2065.8752,-2602.6418,10.4890,90.8253} // íå ïðèïîðêîâàë
};

 

Share this post


Link to post
  • 0

@Андрей Лазарев, можешь изложить логику этой минисистемы, чтобы я уловил ее суть? Меня некоторые строки смущают, поэтому не могу даже прикинуть какой-то вариант тебе.

Share this post


Link to post
  • 0
9 часов назад, Talex сказал:

@Андрей Лазарев, можешь изложить логику этой минисистемы, чтобы я уловил ее суть? Меня некоторые строки смущают, поэтому не могу даже прикинуть какой-то вариант тебе.

Суть заключается в том что при покупке авто его нужно припорковать. Но если при выходе из игры авто не было припарковано то при следующем заходе в игру оно спавнится на штрафстоянке вот мне и нужно чтобы при заходе на пикап страфстоянки была проверка на авто находится ли оно по данным координатам или нет. Так как сейчас пикап работает постоянно не зависимо от того есть там авто или нет все ровно требует заплатить штраф

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Filatov123
      By Filatov123
      fatal error 100: cannot read from file: "performance"