 |
|

01.06.2023, 02:09
|
|
Участник форума
Регистрация: 10.02.2020
Сообщений: 291
С нами:
3293023
Репутация:
98
|
|
test.pngnorrthh · 1 Июн 2023 в 01:09' data-fancybox="lb-post-1319235" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/203377/" style="cursor: pointer;" title="test.png">
Здравствуйте, читатели этой статьи! Так как на нашем форуме популярные темы связанные с Arizona RP, то вот. Сегодня взглянул на новый сайт аризоны и увидел четыре запросика к беку
https://backend.arizona-rp.com/server/get-all
https://backend.arizona-rp.com/rating?type=oldest-players&serverId=
https://backend.arizona-rp.com/rating?type=richest-players&serverId=
https://backend.arizona-rp.com/fraction/get-players?serverId=&fractionId=
Попытавший тупо перейти по этим ссылкам, у меня ничего не получилось, пришлось запускать PHPStorm и смотреть, что да как, отсюда и появилась идея для создания этого бота
Функционал бота
- Просмотр онлайна выбранного сервера
- Просмотр организации (только 15 аккаунтов, ибо VK не дает отправить больше)
- Просмотр самых старых игроков
- Просмотр самых богатых игроков
Бот распространяется только на такие сервера
- Phoenix
- Tucson
- Scottdale
- Chandler
- Brainburg
Организации
- LSPD
- RCSD
- FBI
- SFPD
- LsH
- Government
Хотел для всех серверов сделать и все организации, но VK не дает  Выход из этой ситуации есть, сделать пагинацию кнопок, но, как нибудь сами)
Вот пример функции, как допустим получить онлайн на Arizona RP
PHP:
Код:
function
getOnline
(
int
$server_id
)
{
$ch
=
curl_init
(
)
;
curl_setopt
(
$ch
,
CURLOPT_URL
,
"https://backend.arizona-rp.com/server/get-all"
)
;
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
)
;
curl_setopt
(
$ch
,
CURLOPT_HTTPHEADER
,
[
'Referer: https://arizona-rp.com/'
,
]
)
;
$response
=
curl_exec
(
$ch
)
;
$response
=
json_decode
(
$response
)
;
curl_close
(
$ch
)
;
return
$response
[
$server_id
]
-
>
players
;
}
Упустил тот момент, что карта работает так же по такому принципу
PHP:
Код:
function
getProperty
(
int
$server_id
)
{
$url
=
'https://backend.arizona-rp.com/map?serverId='
.
$server_id
;
$ch
=
curl_init
(
)
;
curl_setopt
(
$ch
,
CURLOPT_URL
,
$url
)
;
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
)
;
curl_setopt
(
$ch
,
CURLOPT_HTTPHEADER
,
[
'Referer: https://arizona-rp.com/'
,
]
)
;
$response
=
curl_exec
(
$ch
)
;
$response
=
json_decode
(
$response
)
;
curl_close
(
$ch
)
;
return
$response
;
}
Пример использования, допустим, как получить все ID домов, которые в госсе
PHP:
Код:
$houses
=
getProperty
(
3
)
;
$houses
=
$houses
-
>
houses
;
foreach
(
$houses
as
$house
)
{
if
(
$house
-
>
isOwned
!=
1
)
{
echo
$house
-
>
id
;
}
}
Ссылка на Github: https://github.com/norrthh/arizonabot
Ссылка на мою студию: https://vk.com/drainweb
|
|
|

01.06.2023, 14:34
|
|
Новичок
Регистрация: 10.02.2023
Сообщений: 1
С нами:
1714931
Репутация:
3
|
|
Годно для новостных пабликов!
|
|
|

01.06.2023, 14:37
|
|
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами:
2505538
Репутация:
133
|
|
Сообщение от norrthh
Функционал бота - Просмотр онлайна выбранного сервера
- Просмотр организации (только 15 аккаунтов, ибо VK не дает отправить больше)
- Просмотр самых старых игроков
- Просмотр самых богатых игроков
Бот распространяется только на такие сервера - Phoenix
- Tucson
- Scottdale
- Chandler
- Brainburg
Организации - LSPD
- RCSD
- FBI
- SFPD
- LsH
- Government
весёлый прикол соло
|
|
|

01.06.2023, 16:31
|
|
Участник форума
Регистрация: 10.02.2020
Сообщений: 291
С нами:
3293023
Репутация:
98
|
|
Упустил тот момент, что карта работает так же по такому принципу
PHP:
Код:
function
getProperty
(
int
$server_id
)
{
$url
=
'https://backend.arizona-rp.com/map?serverId='
.
$server_id
;
$ch
=
curl_init
(
)
;
curl_setopt
(
$ch
,
CURLOPT_URL
,
$url
)
;
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
)
;
curl_setopt
(
$ch
,
CURLOPT_HTTPHEADER
,
[
'Referer: https://arizona-rp.com/'
,
]
)
;
$response
=
curl_exec
(
$ch
)
;
$response
=
json_decode
(
$response
)
;
curl_close
(
$ch
)
;
return
$response
;
}
Пример использования, допустим, как получить все ID домов, которые в госсе
PHP:
Код:
$houses
=
getProperty
(
3
)
;
$houses
=
$houses
-
>
houses
;
foreach
(
$houses
as
$house
)
{
if
(
$house
-
>
isOwned
!=
1
)
{
echo
$house
-
>
id
;
}
}
|
|
|

24.07.2023, 19:45
|
|
Постоянный
Регистрация: 15.03.2015
Сообщений: 394
С нами:
5875545
Репутация:
73
|
|
а есть пример получение онлайн организации ? а не весь список
|
|
|

25.07.2023, 23:27
|
|
Новичок
Регистрация: 23.04.2023
Сообщений: 15
С нами:
1611650
Репутация:
3
|
|
а зачем
|
|
|

27.07.2023, 00:38
|
|
Участник форума
Регистрация: 10.02.2020
Сообщений: 291
С нами:
3293023
Репутация:
98
|
|
Сообщение от [SA ARZ]
а есть пример получение онлайн организации ? а не весь список
PHP:
Код:
echo
count
(
getMembers
(
$server_id
,
$fraction_id
)
-
>
items
)
;
|
|
|

28.07.2023, 14:57
|
|
Постоянный
Регистрация: 15.03.2015
Сообщений: 394
С нами:
5875545
Репутация:
73
|
|
Сообщение от norrthh
PHP:
Код:
echo
count
(
getMembers
(
$server_id
,
$fraction_id
)
-
>
items
)
;
интересно, а как узнать кто из них в игре?)
|
|
|

28.07.2023, 15:20
|
|
Участник форума
Регистрация: 10.02.2020
Сообщений: 291
С нами:
3293023
Репутация:
98
|
|
Сообщение от [SA ARZ]
интересно, а как узнать кто из них в игре?)
Никак, там возвращается такой массив
Ответ с API:
Код:
[id] => 1229681228
[name] => Yuudai_Chagai
[rank] => 10
[rankLabel] => Chief
[isLeader] => 1
|
|
|

28.07.2023, 15:34
|
|
Участник форума
Регистрация: 25.02.2018
Сообщений: 120
С нами:
4322932
Репутация:
83
|
|
Как на счёт поддержки всех серверов и добавить поиск статистики игроков? А еще оплату налогов чтобы вообще по кайфу было
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|