Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Timer и SetVehicleZAngel - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

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

  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Тема закрыта

[ Pawn ]
Timer и SetVehicleZAngel ТУТ ВИДЕО!!! ПОМОГИТЕ!!!

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

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


CMD:vcall(playerid, params[])
{
	extract params -> new id; else
	return 1;

	SetVehicleVirtualWorld(id, 1);

	if(pInfo[playerid][vip]) return SetTimerEx("veh_call", 100, false, "ii", playerid, id);//если игрок с випкой, время ожидания сокращается
	else return SetTimerEx("veh_call", 5000, false, "ii", playerid, id);//и наоборот
}

forward veh_call(playerid, id);
public veh_call(playerid, id)
{
	new Float:x, Float:y, Float:z;
	GetPlayerTurn(playerid, x, y, z, 5, 180);

	SetVehiclePos(id, x, y, z);

	new Float:a;
	GetPlayerFacingAngle(playerid, a);

	a += -90;

	SetVehicleZAngle(id, a);

	SetVehicleVirtualWorld(id, 0);
}

GetPlayerTurn (http://pawn-wiki.ru/...-getplayerturn/)


Для тех, кто вставит этот код себе, чтобы проверить работоспособность, вот видео, где я использую данную команду.

/vcall - вызов т/с по номеру
/vip - инверсия переменной pInfo[id][vip]

ВИДЕО

Сообщение отредактировал Sonic X: 14 Март 2018 - 16:05

0

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

  • Х_X
  • Вставить ник
  • Раскрыть информацию
Я просто не понимаю, почему если без таймера или с очень маленькой задержкой команда работает нормально, но стоить поставить таймер - всё, т/с не поворачивается.. :evil:

Сообщение отредактировал Sonic X: 13 Март 2018 - 21:34

0

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

  • Х_X
  • Вставить ник
  • Раскрыть информацию
Подниму
0

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

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
SetVehicleZAngle:
This function does not work on unoccupied vehicles (It is believed to be a GTA limitation).

Сообщение отредактировал Jackson2008: 14 Март 2018 - 07:53

0

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

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

Просмотр сообщенияJackson2008 (14 Март 2018 - 07:47) писал:

SetVehicleZAngle:
This function does not work on unoccupied vehicles (It is believed to be a GTA limitation).

Ты видео смотрел? Я не говорю про то, что ты моим словам не веришь, но на видео видно, что всё работает, только с задержкой проблема проявляется. Да и как я говорил, такая же система есть на одном сервере - не стоит говорить о невозможности.

Сообщение отредактировал Sonic X: 14 Март 2018 - 15:23

0

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

  • Stone tm
  • Вставить ник
  • Раскрыть информацию
Что-то здесь не чисто, возможно именно в самой функции
0

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

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

Сообщение отредактировал #diviasys: 14 Март 2018 - 16:46

0

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

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

Просмотр сообщенияSonic X (14 Март 2018 - 15:17) писал:

Ты видео смотрел? Я не говорю про то, что ты моим словам не веришь, но на видео видно, что всё работает, только с задержкой проблема проявляется. Да и как я говорил, такая же система есть на одном сервере - не стоит говорить о невозможности.

Да, я видел видео. Пока что единственная зацепка - это именно эта функция, не знаю, попробуй удалять авто и создавать его на новых координатах с нужным поворотом
0

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

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

Просмотр сообщения#diviasys (14 Март 2018 - 16:23) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Просмотр сообщенияJackson2008 (14 Март 2018 - 16:23) писал:

Да, я видел видео. Пока что единственная зацепка - это именно эта функция, не знаю, попробуй удалять авто и создавать его на новых координатах с нужным поворотом


Тогда вопрос, не будет ли смешивания ID?

То есть два игрока практически одновременно используют эту команду, то ID могут перепутаться. Например, есть NRG-500 (id = 1) и FCR-900 (id = 2). То при вызове их практически одновременно, не может быть потом такого, что у FCR-900 id будет 1, а NRG-500 id будет 2?? Ведь есть погрешности в таймерах :sad:
0

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

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSonic X (14 Март 2018 - 17:12) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


В этом же таймере ты удаляешь и сразу создаешь новый транспорт, который займет тот же ID, но потребуется передавать больше аргументов

DestroyVehicle(id);//id = 3
CreateVehicle(...);//vehicleid = 3

0

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


  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Тема закрыта

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