[Вопрос] Расстояние - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Вопрос] Расстояние
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 ()
Можно так:
Код

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 ()
Цитата 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
Спасибо!
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума