Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
Я думаю каждый играл в GTA San Andreas.
И не мало кто видел, как проводятся гонки.
Так вот, как же мне сделать такую систему обгона, как в сингле?
Меняется мгновенно, если же к примеру играет 2 игрока и я на миллиметр обгоняю первого, я сразу же становлюсь первым а он вторым.
Не понимаю как сделать. Через консинус? Синус? Тангенс? Высчитывать расстояние машины? Позиции игроков? Разность позиций? Что именно? Может кто поможет?
Posts: 1,912
Threads: 5
Joined: Feb 2007
Reputation:
0
Считать расстояние до ближайшего чекпоинта, кто к нему ближе, того и тапки.
Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
Гениально. Сейчас попробую.
Posts: 1,495
Threads: 20
Joined: Sep 2010
Reputation:
0
Что там сложного то? Просчитать общую длину и вычитать пройденое?
Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
Представим, что игроков 10.
10 - гонщики.
Чекпоинтов до финиша 30.
Если представить,что 4 игрока на 10-м чекпоинте, 1 игрок на 9 чекпоинте, и 5 на 8 чекпоинте.
далее нужно просчитать у кого больше всего чекпоинтов, распределить их по местам и рассчитать расстояние к ближайшему чекпоинту каждого игрока и при том прив сем еще и место ему выдать.
"Что там сложного то? Просчитать общую длину и вычитать пройденое?"
Не не, а если 5 кругов к примеру?
Хочу копию ГТА Са, гонок, пока не выходит больше чем для двух.
Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
Протестирую данный способ)) Секундочку)
Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
..., cppos[cps_done[s] % RACE_CPS_AMOUNT], ...
Что это?
Posts: 1,311
Threads: 39
Joined: Mar 2012
Reputation:
0
cppos - координаты чекпоинтов
cps_done - количество достигнутых чекпоинтов
RACE_CPS_AMOUNT - сколько всего чекпоинтов (или sizeof cppos)
cps_done[s] % RACE_CPS_AMOUNT - для того, чтобы можно было сделать несколько кругов
Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
Блиииин((
А как взаимодействовать с игроками? Тут же игрокам нужно присваивать значения переменных.
Является ли игрок участником гонок , проверять((
Разве что сделать опять же цикл с условием гонок для игрока.
Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
Хелп хелп, победа близко))
Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
Создаешь массив и хранишь ячейку в статистике игрока?
Ячейка отображает ид его? Или как?
То есть если у меня 43 ид и я первый игрок в гонке и у меня 3 чекпоинта то
raceinfo[43][0] = 3?
Или я что-то не понимаю?
Не не, мне именно чтобы показывало место нынешнее игрока. 1 2 3 и так далее. В зависимости вышеупомянутых условий.
Posts: 96
Threads: 16
Joined: Aug 2013
Reputation:
0
Спасибо)) Лучший)) Что-то голова вообще не сварила это(( Так просто все, ужс. Еще раз спасибо, ты гений)