[PAWN, PHP] Lagshot/skinshot switch

Тема в разделе "Gamemodes\Scripting", создана пользователем WiX, 2 авг 2014.






    • VIP GTA-NEWS

    WiX ViP

    Сообщения:
    193
    Симпатии:
    732
    Баллы:
    93
    В общем надоело мне вручную переименовывать конфиги на фтп, да и никто из команды кроме меня не мог этого делать, соу:

    Нужны два конфига на сервере, один с lagcompmode 0, второй с lagcompmode 1, допустим server.cfg и server2.cfg, сайт с поддержкой php и прямые руки

    Фильтрскрипт:
    Код:
    #include <a_samp>
    #include <a_http>
    
    public OnPlayerCommandText(playerid, cmdtext[])
    {
        if(!strcmp("/lagcomp", cmdtext,false,8))
        {
            if(!IsPlayerAdmin(playerid)) return 0;
            new str[4];
            format(str,4,"%s",cmdtext[9]);
            new lc = GetServerVarAsInt("lagcompmode");
            if(!strlen(str)) return SendClientMessage(playerid,0xD9D9D9FF,"[ERR] Неверный параметр");
            if(!strcmp("on",str))
            {
                if(lc==1) return SendClientMessage(playerid,0xD9D9D9FF,"[ERR] Скиншот уже включен");
                else SendClientMessageToAll(0xEDEDEDFF,"Смена лагшота на скиншот. Перезапуск сервера...");
            }
            else if(!strcmp("off",str))
            {
                if(lc==0) return SendClientMessage(playerid,0xD9D9D9FF,"[ERR] Лагшот уже включен");
                else SendClientMessageToAll(0xEDEDEDFF,"Смена скиншота на лагшот. Перезапуск сервера...");
            }
            else return SendClientMessage(playerid,0xD9D9D9FF,"[ERR] Неверный параметр");
            HTTP(1488, HTTP_POST, "fired-up-team.com/admin/server.php", "pass=PASSWORD", "");
           //ссылка на ваш php файл и пароль для доступа
           //SendRconCommand("exit"); //Если сервер автоматически перезапускается
            return 1;
        }
        return 0;
    }
    PHP скрипт для сайта
    Код:
    <?
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
        {
        if(!strcmp($_POST['pass'],'PASSWORD')) //тут пароль, который отправляем из фильтрскрипта
        {
    
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_PORT, 21); //фтп порт
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_URL, 'ftp://IP'); //фтп IP адрес
        curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
        curl_setopt($curl, CURLOPT_USERPWD, "login:password"); //логин:пароль для авторизации на фтп сервере
        curl_setopt($curl, CURLOPT_QUOTE, array('RNFR /176.32.39.157-7777/samp/server.cfg',
                                                'RNTO /176.32.39.157-7777/samp/server1.cfg',
                                                'RNFR /176.32.39.157-7777/samp/server2.cfg',
                                                'RNTO /176.32.39.157-7777/samp/server.cfg',
                                                'RNFR /176.32.39.157-7777/samp/server1.cfg',
                                                'RNTO /176.32.39.157-7777/samp/server2.cfg'
                                                )); //команды переименования и пути до файлов конфига на фтп сервере
    
        $r = curl_exec($curl);
        curl_close($curl);
        }
        }
    ?>
    Если ваш сервер автоматически не перезапускается после rcon exit или делает это долго, как в моем случае, необходимо перезапускать его через cURL запрос на сайт хостера, перед этим через тот же cURL там авторизовавшись.
    willpower, MiniguN и Dark нравится это.

  1. nen

    • Пользователь GTA-NEWS

    NeaKTIV pr0

    Сообщения:
    24
    Симпатии:
    53
    Баллы:
    13
    Понятно, а если просто SendRconCommand("lagcomp 1/0);? или в 0.3z такого нет?

    • Пользователь GTA-NEWS

    MiniguN Super prO

    Сообщения:
    160
    Симпатии:
    202
    Баллы:
    43
    Я пытаться так сделать, если бы через ркон можно было бы синхру менять, то написать такой скрипт было бы пару пустяков.

    • Пользователь GTA-NEWS

    NeaKTIV pr0

    Сообщения:
    24
    Симпатии:
    53
    Баллы:
    13
    Надо написать в саппорт сампа, чтобы сделали такую возможность)
    MiniguN нравится это.

    • Пользователь GTA-NEWS

    MiniguN Super prO

    Сообщения:
    160
    Симпатии:
    202
    Баллы:
    43
    Выйдет в версии R3 помоему.

    • Пользователь GTA-NEWS

    willpower Super prO

    Сообщения:
    234
    Симпатии:
    487
    Баллы:
    63
    /rcon lagcomp выводит в чат сообщение, какой режим включен, lagshot или skinhit

    • Пользователь GTA-NEWS

    NeaKTIV pr0

    Сообщения:
    24
    Симпатии:
    53
    Баллы:
    13
    R3 то уже есть же.

    • Пользователь GTA-NEWS

    MiniguN Super prO

    Сообщения:
    160
    Симпатии:
    202
    Баллы:
    43
    cmd?

    • Пользователь GTA-NEWS

    NeaKTIV pr0

    Сообщения:
    24
    Симпатии:
    53
    Баллы:
    13
    Версия R3 и R4 есть.
Про GTA смотри так же:
  1. Dr.Vandersexxx
    Ответов:
    17
    Просмотров:
    4.010
  2. Dr.Vandersexxx
    Ответов:
    23
    Просмотров:
    2.930
  3. BraveHeart
    Ответов:
    8
    Просмотров:
    6.674
  4. sgst
    Ответов:
    4
    Просмотров:
    645
  5. SaNtoS
    Ответов:
    7
    Просмотров:
    2.648
Загрузка...

Поделиться этой страницей