| RusKey | Дата: Вторник, 25.06.2013, 05:10 | Сообщение # 1 |
|
Группа:
I'm V.I.P.
Сообщений: 1086
Награды: 25
Город: Санкт-Петербург
Репутация: 273
Замечания: 80%
Статус: 
| Я тут поиграл недавно в NFS Underground 2,и там же система гонок с гоночными машинами которые ездят по городу по существу в том что идет расстояние разрыва по километражу. Можно же сделать после предложения гонки от 1 игрока другому,штуку которая измеряя большой разрыв между машинами выбирает победителя.
|
| |
|
|
| Deklan | Дата: Вторник, 25.06.2013, 07:52 | Сообщение # 2 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 352
Награды: 4
Город: Киев
Репутация: 678
Замечания: 0%
Статус: 
| Нашёл на просторах интернета: [pwn] forward Float:GetDistanceBetweenPlayers(p1,p2); public Float:GetDistanceBetweenPlayers(p1,p2) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)) { return -1.00; } GetPlayerPos(p1,x1,y1,z1);GetPlayerPos(p2,x2,y2,z2); return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); } [/pwn]
Pawn не изучал, но описаное выше вроде как вполне реализуемо, код привёл исключительно для примера. Удачи.
My Skype: nazaret.su
Сообщение отредактировал Deklan - Вторник, 25.06.2013, 07:52 |
| |
|
|
| Geryy | Дата: Вторник, 25.06.2013, 11:05 | Сообщение # 3 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Цитата (RusKey) Можно же сделать после предложения гонки от 1 игрока другому,штуку которая измеряя большой разрыв между машинами выбирает победителя. Если задано условием гонки, что 2ой игрок всегда должен преследовать 1го игрока, и если между ними расстояние окажется больше N метров то преследуемый оторвался и выиграл.
Для этого, после принятия предложения нужно расставить им метки и банально считать расстояние между игроками.
[pwn] Float: GetDistanceBetweenPlayers(const playerid, const targetid) { if(!IsPlayerConnected(playerid) || !IsPlayerConnected(targetid)) return -1.0; new Float:CurrentPos[3]; GetPlayerPos(targetid, CurrentPos[0], CurrentPos[1], CurrentPos[2]); return GetPlayerDistanceFromPoint(playerid, CurrentPos[0], CurrentPos[1], CurrentPos[2]); } [/pwn]
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Сообщение отредактировал Geryy - Вторник, 25.06.2013, 11:18 |
| |
|
|