• Как добавить игру Rage:MP на движок LGSL?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    Api Rage:MP не предусматривает получения списка игроков третьими лицами. Есть только поддержка получения списка активных игроков на серверной стороне с помощью функции GetAllPlayer C#. Если вы хотите реализовать список серверов с количеством возможных слотов и активных игроков можете спарсить эти данные со страницы Rage:MP masterlist. Если хотите реализовать отображение этих данных для своего сервера есть два пути. Тот что я описал ранее. Только добавить get параметры в запрос на masterlist с данными вашего сервера. Второй более сложный но надёжней. Количество слотов вам известно с файла конфигурации. Количество активных пользователей можно получить тоже двумя способами. Первый, воспользоваться встроенной функцией GetAllPlayer. Второй, вести учёт активных пользователей в БД. При входе на сервер после успешной авторизации регистрировать игрока как активного. При выходе этого игрока, снимать метку.
    Ответ написан
    Комментировать
  • Как сделать мультикурл через несколько адресов?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    curl_multi_init - Позволяет асинхронную обработку множества cURL-дескрипторов.
    Вы одновременно обращаетесь к двум разным адресам. Для вашей задачи используйте последовательные запросы.
    Ответ написан
  • Почему не срабатывает метод focus() для input в баузере safari?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    Это событие onmouseup, которое делает выбор невыбранным, поэтому вам просто нужно добавить:
    $('#change_search_input').mouseup(function(e){
      e.preventDefault();
    });
    Ответ написан
  • Что думаете по поводу автозагрузчика?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    Используйте автозагрузчик composer.
    Более детально:
    Habr-Link
    Ответ написан
    Комментировать
  • Как обновить столбец максимальным значением?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    Вы столкнулись с ограничениями подзапросов команды dml (update);
    Вам нужно сначала посчитать максимальное значение через предварительный запрос, а уже после в виде переменной использовать это значение.

    Решение:
    @salt_quest = SELECT MAX(salt_quests) + 1 FROM repository_quests;
    UPDATE repository_quests SET status_game_quests = 1, status_progress_registration_quests = 0, salt_quests = @salt_quest
        WHERE status_accessibility_quests = 1 
            AND status_active_quests = 1 
            AND status_game_quests = 0 
            AND status_progress_registration_quests = 1 
            AND NOW() >= registration_date_quests;
    Ответ написан
    2 комментария
  • Как передать несколько значений input с AI?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    Если вы задаете такое имя переменной:
    name="account[number][][1]
    Вы создаете массив с полем account в котором задаете ключ number. После [] создаете еще новый массив. А уже в этом новом массиве описываете ключ 1, 2, 3.
    [
        "account" => [
            "number" =>[
                   [
                       "1" => <значение>
                   ],
                   [
                       "2" => <значение>
                   ],
                   [
                       "3" => <значение>
                   ]
             ]
         ]
    ]


    Решение:
    <form action="index.php" method="post">
        <input type="text" name="account[surname][]">
        <input type="text" name="account[address][]">
        <input type="text" name="account[phone][]">
        ...
        <input type="number" name="account[number][13][1]">
        <input type="number" name="account[number][13][2]">
        <input type="number" name="account[number][13][3]">
        <button type="submit">Send</button>
    </form>
    Ответ написан
  • Куда сохранять дамп базы данных?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    Для более безопасного хранения дампов желательно использовать удаленное хранилище Google Drive и Dropbox.
    Желательно, чтобы программа работала в первую очередь с localStorage, а Google Drive или Dropbox использовался только для синхронизации данных из localStorage.

    Пример реализации:
    Link
    Ответ написан
    Комментировать
  • Как работать с большым количеством if кодов?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    PHP предлагает альтернативный синтаксис для некоторых его управляющих структур, а именно: if, while, for, foreach и switch. В каждом случае основной формой альтернативного синтаксиса является изменение открывающей фигурной скобки на двоеточие (:), а закрывающей скобки на endif;, endwhile;, endfor;, endforeach; или endswitch; соответственно.

    <?php if ($a == 5): ?>
    A равно 5
    <?php endif; ?>


    Документация
    Ответ написан
    Комментировать
  • Перевести из python в php 2 строки. Но как?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    use GuzzleHttp\Client;
    use GuzzleHttp\Psr7\Request;
    use GuzzleHttp\Psr7\Response;
    
    $client = new Client();
    $body = fopen('/path/to/file', 'r');
    $r = $client->request('POST', 'http://httpbin.org/post', ['body' => $body]);

    Пример используя Guzzle.
    Ответ написан
    Комментировать
  • Как превратить запрос с cURL в Guzzle?

    artemiy_karkusha
    @artemiy_karkusha
    Гость в этой жизни.
    Участок объявления use:
    use GuzzleHttp\Client as GuzzleClient;
    use GuzzleHttp\Exception\GuzzleException;
    use GuzzleHttp\RequestOptions;

    Я работал не с oauth2, но данный код работает.
    $user = [
                'USER_LOGIN' => $this->getLogin(),
                'USER_HASH' => $this->getKey()
            ];
            try {
            $response = $this->getClient()->request('Post', '/private/api/auth.php?type=json', [
                'headers' => [
                    'User-Agent' => 'amoCRM-API-client/1.0',
                    'Content-Type' => 'application/json'
                ],
                RequestOptions::JSON => $user
            ]);
            } catch (GuzzleException | Exception $e) {
                echo $e->getMessage() . \PHP_EOL;
                exit;
            }
    Ответ написан
    Комментировать