[PHP] SAMP Query

Тема в разделе "Софт", создана пользователем xISRAPILx, 20 авг 2018.

Метки:
  1. xISRAPILx

    xISRAPILx Перепишу свою жизнь на PHP
    Проверенный

    Регистрация:
    27 фев 2018
    Сообщения:
    236
    Симпатии:
    121
    Написал скрипт для работы с Query, он не полный, реализовано только получение информации
    (i opcode).

    Ссылки:
    Код, Автор

    UPDATE(23.08.18):
    • Добавлено исключение QueryException
    • Метод подключения и все методы получение информации теперь возращают исключение в случае ошибки.
    • Метод подключения был убран из конструктора, его вы должны вызывать сами до получения какой-либо информации.
    Предупреждение:
    Query SAMP'а ограничено и работает неохотно, в секунду нельзя отправлять более 30 запросов(считаются все запросы), получение списка игроков отключается при достижении 50-100 онлайна, иногда может не выдать ответ одному и тому-же хосту, не смотря на время между запросами.

    Рекомендации:
    Рекомендуется сохранять последний запрос в файл, что бы выводить данные оттуда, в случае возникновение ошибки.

    Код для теста:​
    
    $ips = ["185.169.134.3", "185.169.134.4", "185.169.134.43", "185.169.134.44", "185.169.134.45", "185.169.134.5"];
    $query = new Query($ips[array_rand($ips)], 7777);
    $query->connect();
    var_dump($query->getInformation());
    var_dump($query->getRules());
    var_dump($query->getClients());
    var_dump($query->getClientsDetailed());
    
     

    Вложения:

    #1 xISRAPILx, 20 авг 2018
    Последнее редактирование: 23 авг 2018
    Barry_Bradley, Nishikinov и randazzo нравится это.
  2. u3_HeDP_DHa

    u3_HeDP_DHa Просто форест
    Проверенный

    Регистрация:
    16 апр 2017
    Сообщения:
    335
    Симпатии:
    220
    ну и зачем изобретать велосипед когда на официальном форуме давно есть уже это? со считыванием всего.
    http://forum.sa-mp.com/showthread.php?t=104299
     
  3. xISRAPILx

    xISRAPILx Перепишу свою жизнь на PHP
    Проверенный

    Регистрация:
    27 фев 2018
    Сообщения:
    236
    Симпатии:
    121
    Говорят он кривой(сам не юзал), да и делать всё равно нечего было, свое всегда понятнее\приятнее.
     
  4. Revalto

    Revalto Свой человек

    Регистрация:
    13 фев 2016
    Сообщения:
    444
    Симпатии:
    122
    Бред сказанул, взял SampQuery с GitHub и приписал к нему скрипт как пример использования ._. -> ТЫК <-
     
  5. xISRAPILx

    xISRAPILx Перепишу свою жизнь на PHP
    Проверенный

    Регистрация:
    27 фев 2018
    Сообщения:
    236
    Симпатии:
    121
    Ммм, думаешь я скопировал код? Ору

    В коде есть разница, у меня все реализовано намного легче и кодестайл другой.
     
  6. Nishikinov

    Nishikinov Интересующийся

    Регистрация:
    13 июл 2017
    Сообщения:
    149
    Симпатии:
    34
    За труды как минимум лайк, было неплохо подумать, что можно добавить\изменить по сравнению с той либой.
     
  7. xISRAPILx

    xISRAPILx Перепишу свою жизнь на PHP
    Проверенный

    Регистрация:
    27 фев 2018
    Сообщения:
    236
    Симпатии:
    121
    О той либе не знал, когда писал это. Как минимум тут нету костылей, которые есть там. Спасибо.
     
  8. Barry_Bradley

    Barry_Bradley Интересующийся

    Регистрация:
    30 июл 2018
    Сообщения:
    133
    Симпатии:
    7
  9. xISRAPILx

    xISRAPILx Перепишу свою жизнь на PHP
    Проверенный

    Регистрация:
    27 фев 2018
    Сообщения:
    236
    Симпатии:
    121
    Обновил. Если есть идеи - пиши. Я не знаю что тут можно ещё добавить.
     
  10. Nishikinov

    Nishikinov Интересующийся

    Регистрация:
    13 июл 2017
    Сообщения:
    149
    Симпатии:
    34
    Я так понимаю, все еще невозможно получить список игроков при онлайне 100+? Мб знает кто другое решение?
     
  11. xISRAPILx

    xISRAPILx Перепишу свою жизнь на PHP
    Проверенный

    Регистрация:
    27 фев 2018
    Сообщения:
    236
    Симпатии:
    121
    Ники игроков?
     
  12. u3_HeDP_DHa

    u3_HeDP_DHa Просто форест
    Проверенный

    Регистрация:
    16 апр 2017
    Сообщения:
    335
    Симпатии:
    220
    да
     
  13. xISRAPILx

    xISRAPILx Перепишу свою жизнь на PHP
    Проверенный

    Регистрация:
    27 фев 2018
    Сообщения:
    236
    Симпатии:
    121
    Их сам сервер не отправляет после определенного количества игроков, что бы не нагружать сервер лишний раз. Хранить заранее подготовленные ответы, что бы каждый раз не кодировать их, даже если нет обновлений калкор не додумался.

    Как вариант, можно сделать маленького бота, который будет заходить на сам сервер, получать игроков и выходить. Анконнектедом их не получить.
     
    ZKelo нравится это.
  14. Nishikinov

    Nishikinov Интересующийся

    Регистрация:
    13 июл 2017
    Сообщения:
    149
    Симпатии:
    34
     
  15. RHWM

    RHWM Участник

    Регистрация:
    2 янв 2019
    Сообщения:
    6
    Симпатии:
    0
    У Мишана есть исходник на ноде, я пытался сделать такого бота - сервер убивался в минуту, хотя, он был далеко не слабым.
     
  16. xISRAPILx

    xISRAPILx Перепишу свою жизнь на PHP
    Проверенный

    Регистрация:
    27 фев 2018
    Сообщения:
    236
    Симпатии:
    121
    Хитрый ты, однако. Времени нет, через неделю попробую.
     
  17. th3-v3d1m

    th3-v3d1m Постоянный участник

    Регистрация:
    25 авг 2018
    Сообщения:
    81
    Симпатии:
    13
    Не кривой он, постоянно юзаю с форума SA-MP и вопросов к скрипту еще не было