[Вопрос] Координаты - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Вопрос] Координаты
paren2001 Дата: Вторник, 30.01.2018, 14:40 | Сообщение # 1
Новичок
Сообщений: 2
Статус: Offline
Очень хотел бы добавить автоопределение поста в своем АХК, но не знаю, как это реализовать. Как получить координаты этих областей и интегрировать их в код?

Vl@di$l@!B

Сообщение отредактировал paren2001 - Вторник, 30.01.2018, 14:41
CZAR Дата: Вторник, 30.01.2018, 16:40 | Сообщение # 2
Czar Of Scripts
Сообщений: 1373
Статус: Offline
Если делать через квадраты - это муторно и не всегда получается, попробуй сделать проверку на нахождения в радиусе.




Я в ВК
Ушел в веб.

• Ничего не покупаю.
• Способы не проверяю.


У меня теперь новый домен, если ссылка не работает - напишите.

Гарант Cheat-Master:
*тема*

AHK
[S-RP] House Finder / House Teleporter
[SAMP] Online Counter
[S-RP] [For Event] Show Star
[S-RP] AntiCasino
[S-RP] [BOT] Auto Fisher + Auto Find Worm + Auto Cook
[S-RP] [BOT] /dance
Winner | Делаем розыгрыши среди участников темы.
SAMP-UDF
[AHK Урок] Выбор в диалогах мышкой и enter`ом
[SAMP] Быстрый ответ на СМС
[ERP] Помощник для адвоката
[DRP] FakeTime

Достижения:
- 26.02.2017
- 03.01.2018
- 26.05.2018
- 22.09.2018
- 04.04.2019
paren2001 Дата: Вторник, 30.01.2018, 22:12 | Сообщение # 3
Новичок
Сообщений: 2
Статус: Offline
Цитата Phoenixxx_Czar ()
Если делать через квадраты - это муторно и не всегда получается, попробуй сделать проверку на нахождения в радиусе.

Как это можно реализовать?


Vl@di$l@!B
CZAR Дата: Вторник, 30.01.2018, 22:47 | Сообщение # 4
Czar Of Scripts
Сообщений: 1373
Статус: Offline
paren2001, в удф есть функция getCoordinates() - она возвращает массив, собственно это вернет твои текущие координаты:
Код
coord := getCoordinates()
addchameesage("{FFFFFF}x: " coord[1] " | y: " coord[2] " | z: " coord[3])

Дальше нам нужно сделать проверку, находимся ли мы в радиусе.
Для этого есть вот такая функция: IsPlayerInRangeOfPoint(X, Y, Z, Radius) - она выдает 0 - не находитесь в указанных координатах, 1 - находитесь. Но я бы советовал функцию IsPlayerInRangeOfPoint2D(X, Y, Radius) - она не учитывает на какой высоте вы находитесь.
Дабы не делать куча ифов на каждые координаты, мы сделаем вот такую функцию:
Код
getpost()
{
    arrayObj := [{"name": "КПП-1"  ,"coord": [431.638000    , 2563.218750    , 20]}
    ,{"name": "КПП-2"  ,"coord": [431.638000    , 2563.218750    , 20]}
    ,{"name": "Еще что-то"    ,"coord": [431.638000    , 2563.218750    , 20]}]

    for k, v in arrayObj
    {
  if (IsPlayerInRangeOfPoint2D(val["coord"][1], val["coord"][2], val["coord"][3]) == 1)
  {
   return v["name"]
  }
    }
    return 0
}

Как же ее использовать спросишь? Та легко!
Делаем теперь код который будет выдавать название поста или чего либо.

Код
/*
Допустим мы будем показывать информацию по нажатию alt+1
*/
!1::
post_name := getpost()
if (!post_name)
{
    addChatMessageEx("00FF00", "{FFFFFF}Вы не находитесь на посту!")
    Return
}

addChatMessageEx("00FF00", "{FFFFFF}Вы находитесь на {00FF00}" post_name "{FFFFFF}.")
Return

/*
Эту функцию мы суем в конец всего кода
*/
getpost()
{
    arrayObj := [{"name": "КПП-1"  ,"coord": [431.638000    , 2563.218750    , 20]}
    ,{"name": "КПП-2"  ,"coord": [431.638000    , 2563.218750    , 20]}
    ,{"name": "Еще что-то"    ,"coord": [431.638000    , 2563.218750    , 20]}]

    for k, v in arrayObj
    {
  if (IsPlayerInRangeOfPoint2D(val["coord"][1], val["coord"][2], val["coord"][3]) == 1)
  {
   return v["name"]
  }
    }
    return 0
}


Ссылка на код с нормальной табуляцией: ТЫК





Я в ВК
Ушел в веб.

• Ничего не покупаю.
• Способы не проверяю.


У меня теперь новый домен, если ссылка не работает - напишите.

Гарант Cheat-Master:
*тема*

AHK
[S-RP] House Finder / House Teleporter
[SAMP] Online Counter
[S-RP] [For Event] Show Star
[S-RP] AntiCasino
[S-RP] [BOT] Auto Fisher + Auto Find Worm + Auto Cook
[S-RP] [BOT] /dance
Winner | Делаем розыгрыши среди участников темы.
SAMP-UDF
[AHK Урок] Выбор в диалогах мышкой и enter`ом
[SAMP] Быстрый ответ на СМС
[ERP] Помощник для адвоката
[DRP] FakeTime

Достижения:
- 26.02.2017
- 03.01.2018
- 26.05.2018
- 22.09.2018
- 04.04.2019


Сообщение отредактировал Phoenixxx_Czar - Вторник, 30.01.2018, 22:48
  • Страница 1 из 1
  • 1
Поиск: