Форум Pawn.Wiki - Воплоти мечту в реальность!: Координаты капота и багажника автомобиля - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Координаты капота и багажника автомобиля Оценка: -----

#1
Пользователь офлайн   Romzes 

  • ( ^_^ )
  • Вставить ник
  • Раскрыть информацию
Параметры функции:
GetCoordBootVehicle(id машины, координата X, координата Y, координата Z);

Функция(Координаты капота):
stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z)
{
    new Float:angle,Float:distance;
    GetVehicleModelInfo(GetVehicleModel(vehicleid), 1, x, distance, z);
    distance = distance/2 + 0.1;
    GetVehiclePos(vehicleid, x, y, z);
    GetVehicleZAngle(vehicleid, angle);
    x -= (distance * floatsin(-angle+180, degrees));
    y -= (distance * floatcos(-angle+180, degrees));
    return 1;
}

Функция(Координаты багажника):
stock GetCoordBootVehicle(vehicleid, &Float:x, &Float:y, &Float:z)
{
    new Float:angle,Float:distance;
    GetVehicleModelInfo(GetVehicleModel(vehicleid), 1, x, distance, z);
    distance = distance/2 + 0.1;
    GetVehiclePos(vehicleid, x, y, z);
    GetVehicleZAngle(vehicleid, angle);
    x += (distance * floatsin(-angle+180, degrees));
    y += (distance * floatcos(-angle+180, degrees));
    return 1;
}

Пример использования:
new Float:POS[3];
for(new i=0; i<MAX_VEHICLES; i++)
{
    GetCoordBootVehicle(i, POS[0], POS[1], POS[2]);
    if(IsPlayerInRangeOfPoint(playerid, 1.0, POS[0], POS[1], POS[2]))
    {
        // тут ваш код
    }
}


Автор: Essle
5

#2
Пользователь офлайн   Mitya 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Прикольно для RP )) + )) :biggrin:
0

#3
Пользователь офлайн   Stich 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияMitya (30 августа 2012 - 02:22) писал:

Прикольно для RP )) + )) :biggrin:

Причем тут РП? Можно и на DM мод поставить.
0

#4
Пользователь офлайн   Mitya 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияStich (30 августа 2012 - 08:28) писал:

Причем тут РП? Можно и на DM мод поставить.

ну мне кажется что для RP лучше сойдет чем для DM.
0

#5
Пользователь офлайн   Vladislav4k 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Проблема возникла, сделал всё по уроку и добавил это в команду, т.е. когда вводишь команду, должен появлятья пикак у того авто, в каком сидит человек, который ввёл эту команду, а вместо этого, пикапы появляются у вех машин на ервере. Вопрос: какую проверку надо ставить, чтобы пикап был у одной машины.
0

#6
Пользователь офлайн   Luppy 

  • Потерявшийся.
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияVladislav4k (08 января 2014 - 19:35) писал:

Проблема возникла, сделал всё по уроку и добавил это в команду, т.е. когда вводишь команду, должен появлятья пикак у того авто, в каком сидит человек, который ввёл эту команду, а вместо этого, пикапы появляются у вех машин на ервере. Вопрос: какую проверку надо ставить, чтобы пикап был у одной машины.


Из-за цикла появляются пикапы у всех авто.

new Float:POS[3];
if(IsPlayerInAnyVehicle(playerid))
{
    GetCoordBootVehicle(vehicleid, POS[0], POS[1], POS[2]);
    if(IsPlayerInRangeOfPoint(playerid, 1.0, POS[0], POS[1], POS[2]))
    {
        // тут ваш код
    }
}

Вот так используй.

Сообщение отредактировал Luppy: 10 января 2014 - 01:34

1

#7
Пользователь офлайн   Vladislav4k 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
DELETE

Сообщение отредактировал Vladislav4k: 09 января 2014 - 19:54

0

#8
Пользователь офлайн   Vladislav4k 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
GetCoordBootVehicle(i, POS[0], POS[1], POS[2]);
Ошибка в этой строчке, а именно "неизвестный символ "i". Понимаю, что чем то надо заменить, но чем? Ставил playerid - функция не работает
0

#9
Пользователь офлайн   Luppy 

  • Потерявшийся.
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияVladislav4k (10 января 2014 - 00:55) писал:

GetCoordBootVehicle(i, POS[0], POS[1], POS[2]);
Ошибка в этой строчке, а именно "неизвестный символ "i". Понимаю, что чем то надо заменить, но чем? Ставил playerid - функция не работает

Я уже второй день с павн не вылажу. Пора заканчивать, а то мелю уже сам не знаю что. :facepalm:

В общем, не playerid,а vehicleid:

new Float:POS[3];
new vehicleid; 
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
    GetCoordBootVehicle(vehicleid, POS[0], POS[1], POS[2]);
    if(IsPlayerInRangeOfPoint(playerid, 1.0, POS[0], POS[1], POS[2]))
    {
        // тут ваш код
    }
}

Сообщение отредактировал Luppy: 10 января 2014 - 01:34

1

#10
Пользователь офлайн   Vladislav4k 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Ух, огромное спасибо! Долго с этой системой е###ся. Что бы я без тебя делал! Потом ещё репу дам :)
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика