[Вопрос] Расстояние
|
|
Isobaric |
Дата: Понедельник, 12.09.2016, 13:39 | Сообщение # 1
|
Новичок
Сообщений: 8
Статус: Offline
|
Можно ли какой-нибудь функцией проверить расстояние между игроками? И например поставить условие, что если я нахожусь слишком далеко от нужного мне игрока, то выводить текст: "Игрок слишком далеко".
|
|
|
|
RellaX |
Дата: Понедельник, 12.09.2016, 16:51 | Сообщение # 2
|
Боец
Сообщений: 282
Статус: Offline
|
Можно так:
Код if (getDist(GetCoordinates(),getPedCoordinates(getPedById(getClosestPlayerId())))<60) { SendChat("/m Водитель " model " с номером X'" modid "'YZ! Остановите своё т/с!") } else { addChatMessage("[{ef0000}X{a9c4e4}] В радиусе 60 метров нету водителя!") }
https://vk.com/zatkap
Сообщение отредактировал RellaX - Понедельник, 12.09.2016, 16:51 |
|
|
|
Isobaric |
Дата: Понедельник, 12.09.2016, 22:23 | Сообщение # 3
|
Новичок
Сообщений: 8
Статус: Offline
|
Цитата RellaX ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) Можно так: Код
if (getDist(GetCoordinates(),getPedCoordinates(getPedById(getClosestPlayerId())))<60) { SendChat("/m Водитель " model " с номером X'" modid "'YZ! Остановите своё т/с!") } else { addChatMessage("[{ef0000}X{a9c4e4}] В радиусе 60 метров нету водителя!") }
Смотри, а вот если, допустим я ввожу команду /invite id, то как в данном случае можно проверить на расстояние? Чтобы выводило примерно так: "Игрок слишком далеко от вас чтобы принять его во фракцию".
|
|
|
|
MrGPro |
Дата: Вторник, 13.09.2016, 01:00 | Сообщение # 4
|
Боец
Сообщений: 202
Статус: Offline
|
Цитата Isobaric ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) Цитата RellaX () Можно так: Код
if (getDist(GetCoordinates(),getPedCoordinates(getPedById(getClosestPlayerId())))<60) { SendChat("/m Водитель " model " с номером X'" modid "'YZ! Остановите своё т/с!") } else { addChatMessage("[{ef0000}X{a9c4e4}] В радиусе 60 метров нету водителя!") }
Смотри, а вот если, допустим я ввожу команду /invite id, то как в данном случае можно проверить на расстояние? Чтобы выводило примерно так: "Игрок слишком далеко от вас чтобы принять его во фракцию".
Первым делом хочу сказать что проверит расстояние от игрока к игроку без ведома его координат можно только в зоне стрима игроков, функция callFuncForAllStreamedInPlayers("foo", 60). который включен в samp udf
Код $~Enter:: { sleep, 30 if (isInChat() = 0) or (isDialogOpen() = 1) return sleep 150 dwAddress := dwSAMP + 0x12D8F8 chatInput := readString(hGTA, dwAddress, 256) if chatInput contains /invite { SteamZoneRadius := 300 RegExMatch(chatInput, "/invite ([0-9]+)", id) global NeedId := id1 callFuncForAllStreamedInPlayers("foo", 60) ; Чекает всех игроков в зоне стима максимум 300 вроде а так хз =D } } return
foo(o) { if(!o) { addChatMessage("[{ef0000}X{a9c4e4}] В радиусе 60 метров нет ни одного игрока игрока") return } Position := o.POS PlayerPosition := getCoordinates() Distanz := getDist(PlayerPosition,Position) If (NeedId == o.ID and Distanz <= 60) { addChatMessage("[{ef0000}V{a9c4e4}] В радиусе 60 метров есть нужный игрок!") return } else { addChatMessage("[{ef0000}X{a9c4e4}] В радиусе 60 метров нету нужного игрока") return } }
Тебе помогли не забывай про благодарность >> тыкни репутацию ---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ ----------------------------------------------------- Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия
Сообщение отредактировал MrGPro - Вторник, 13.09.2016, 01:01 |
|
|
|
Isobaric |
Дата: Вторник, 13.09.2016, 12:44 | Сообщение # 5
|
Новичок
Сообщений: 8
Статус: Offline
|
Спасибо!
|
|
|
|