[Урок] Получение информации об игроках в прорисовке
|
|
McFree |
Дата: Воскресенье, 24.04.2016, 19:08 | Сообщение # 1
|
Любитель
Сообщений: 32
Статус: Offline
|
Ну-с, решил я полазить в SAMP_UDF.ahk и нашел некоторые функции команд такие как получение информации о всем в прорисовке. Собственно решил сделать мини-урок по получению краткой информации об игроках в радиусе прорисовки
Код #Include SAMPMAX.ahk -- Подключение самого мудреного SAMP_UDF который дополняется мною же
#Persistent -- Заставляем скрипт работать пока не закроем его или не пройдет функция ExitApp
Players := [] -- Создаем пустой массив
Numpad1:: -- Назначаем кнопку на которую будем делать все действия dout:="" -- Очищаем переменную в которую складываем краткую информацию о каждом игроке в прорисовке Players := getStreamedInPlayersInfo() -- получаем информацию об игроках в прорисовке (массив данных) p := 0 -- обнуляем счетчик Педов в прорисовке For i, o in Players -- прописываем цикл по всем имеющимся Педам в прорисовке { l:= [] --обнуляем массив координат Педа l:= getPedCoordinates(o.PED) -- получаем координаты определенного педа из цикла p++ -- прибавляем счетчик pos := getCoordinates() - получаем свои координаты Name := getPlayerNameById(i) -- получаем ник Педа из цикла Dist := getDist(getCoordinates() ,l) - получаем расстояние между вами и Педом из цикла dout .= "Model: " getPlayerModelId() " Nick: " Name " ID: " i " Dist:" Dist "`n" -- добавляем строку с краткой информацией о Педе из цикла } showDialog(0, "Players", dout "`n Всего: " p " игроков в радиусе прорисовки ", "Close") -- Выводим получившуюся информацию в игровой диалог типа DIALOG_STYLE_MSGBOX (обычная мессага) return -- завершаем работу команды на хоткей
Ну а дальше можете намудрить еще много чего, лично я намудрил проверку игроков по модели Педа и вывод соответствующего цвета ника в этой строке (как стоковые клисты на С-РП серверах). В общем дальше все зависит от вашего воображения, хоть ВХ пишите, основа для получения информации с прорисовки у вас уже есть =)
Сcылка на мой SAMP_UDF: ССЫЛКА
И помните, программирование интересней чем вам кажется!
Универсальный Brain Macros для MMORPG - https://cheat-master.ru/forum/80-768122-1
Admin Cheker 4 Samp-RP : http://cheat-master.ru/forum/150-560150-1 Goverment Helper : http://cheat-master.ru/forum/150-578378-1 Multi-Binder By McFree : http://cheat-master.ru/forum/150-579962-1
|
|
|
|
Ghost29 |
Дата: Воскресенье, 24.04.2016, 21:50 | Сообщение # 2
|
Новичок
Сообщений: 23
Статус: Offline
|
Код numpad1:: callFuncForAllStreamedInPlayers("foo", 300) showdialog(0, "Names", names, "OK") names := "" return
foo(o) { if(!o) return Position := o.POS PlayerPosition := getCoordinates() Dist := getDist(PlayerPosition,Position) global Names .= "Nick:" o.NAME "Dist:" dist "`n" }
|
|
|
|
ArrowOfDeath |
Дата: Воскресенье, 24.04.2016, 21:56 | Сообщение # 3
|
Советник
Сообщений: 629
Статус: Offline
|
Отлично, действительно программирование интересней чем нам кажется , но познать бы. Запили урок по чтению памяти из процесса!
Мои AHК скрипты | Темы:
AHK
|
|
|
|
McFree |
Дата: Вторник, 26.04.2016, 12:21 | Сообщение # 4
|
Любитель
Сообщений: 32
Статус: Offline
|
Цитата [LSD]Magnum ( ![Ссылка на цитируемый текст](http://s95.ucoz.net/img/fr/ic/4/lastpost.gif) ) Запили урок по чтению памяти из процесса!
Сделаю урок в скором времени, не переживай )
Универсальный Brain Macros для MMORPG - https://cheat-master.ru/forum/80-768122-1
Admin Cheker 4 Samp-RP : http://cheat-master.ru/forum/150-560150-1 Goverment Helper : http://cheat-master.ru/forum/150-578378-1 Multi-Binder By McFree : http://cheat-master.ru/forum/150-579962-1
|
|
|
|
Kaktus007 |
Дата: Четверг, 28.04.2016, 01:21 | Сообщение # 5
|
Боец
Сообщений: 70
Статус: Offline
|
А как цвет ника можно узнать? Только из памяти процесса?
|
|
|
|
McFree |
Дата: Четверг, 28.04.2016, 07:03 | Сообщение # 6
|
Любитель
Сообщений: 32
Статус: Offline
|
Цитата Kaktus007 ( ![Ссылка на цитируемый текст](http://s95.ucoz.net/img/fr/ic/4/lastpost.gif) ) А как цвет ника можно узнать? в samp_api должна быть команда
Универсальный Brain Macros для MMORPG - https://cheat-master.ru/forum/80-768122-1
Admin Cheker 4 Samp-RP : http://cheat-master.ru/forum/150-560150-1 Goverment Helper : http://cheat-master.ru/forum/150-578378-1 Multi-Binder By McFree : http://cheat-master.ru/forum/150-579962-1
|
|
|
|
BetaJIon |
Дата: Понедельник, 13.06.2016, 19:59 | Сообщение # 7
|
Новичок
Сообщений: 25
Статус: Offline
|
Цитата McFree ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) в samp_api должна быть команда
Нету....По крайней мере я не нашел...
|
|
|
|
[CM]MiRoN_ |
Дата: Понедельник, 13.06.2016, 20:55 | Сообщение # 8
|
Бывалый
Сообщений: 420
Статус: Offline
|
BetaJIon, у меня есть код этой функции
|
|
|
|
Dworkin |
Дата: Понедельник, 13.06.2016, 22:22 | Сообщение # 9
|
Боец
Сообщений: 110
Статус: Offline
|
Хороший урок. Только У тебя написано:
Код pos := getCoordinates() - получаем свои координаты Name := getPlayerNameById(i) -- получаем ник Педа из цикла Dist := getDist(getCoordinates() ,l) - получаем расстояние между вами и Педом из цикла Получается pos лишняя или исправь на это, а то новичков запутаешь:
Код pos := getCoordinates() - получаем свои координаты Name := getPlayerNameById(i) -- получаем ник Педа из цикла Dist := getDist(pos ,l) - получаем расстояние между вами и Педом из цикла
|
|
|
|
Kaktus007 |
Дата: Вторник, 21.06.2016, 14:14 | Сообщение # 10
|
Боец
Сообщений: 70
Статус: Offline
|
А как получить координаты точки? Мне нужно получить постоянные координаты точки и далее подставлять их в getDist, чтобы узнать расстояние от точки.
Нижеследующий код не работает. В файл ничего не записывается.
Код coord := getCoordinates() FileAppend, %coord%, %File%
|
|
|
|
Ghost29 |
Дата: Среда, 22.06.2016, 13:55 | Сообщение # 11
|
Новичок
Сообщений: 23
Статус: Offline
|
Цитата Kaktus007 ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) А как получить координаты точки? Мне нужно получить постоянные координаты точки и далее подставлять их в getDist, чтобы узнать расстояние от точки.
Код coord := getCoordinates() FileAppend, % coord[0] , %File% ;x FileAppend, % coord[1] , %File% ;y FileAppend, % coord[2] , %File% ;z
Сообщение отредактировал Ghost29 - Среда, 22.06.2016, 13:55 |
|
|
|