Гость stibs

Загружаем новости с сайта на сервер

В теме 1 сообщение

Данная команда предназначена для загрузки и вывода новостей в диалог (например, у вас на сервере есть окно "Новости", куда вы записываете например, все обновления мода), но вот беда, к примеру, амх. файл вашего мода занимает 2мб, а вам нужно дописать мелкую новость в инфобокс, весьма проблематично дописать, скомпилировать, залить все это добро. Я предлагаю выход проще, заодно немного научимся пользоваться инклудом a_http для осуществления ниже написанного кода вам нужен: любой сайт с FTP, куда можно залить файл с новостями.

 

Ко всем #include добавляем:

#include <a_http>

Нужно создать огромный массив под текст новостей (это конечно затратно, но приходится)

Ко всем new:

new NewsText[2048 char];

Понимаю, что 2048 яйчеек это перебор, но по мере увеличения информации должен увеличиваться размер под нее.
Теперь, создайте файл с новостями (например News.txt) и залейте его к себе на хост (пример: http://myhost.ru/News.txt)
Теперь, нам нужно чтобы сервер за n-ный промежуток обновлял нашу стрингу с новостями файлом с хоста, для этого проделываем нехитрую операцию, создаем новый паблик, который будет обновлять наши новости:

forward CheckNews();
public CheckNews()
{
     HTTP(0,HTTP_GET,"http://myhost.ru/News.txt","","SetNewsString");
     return SetTimer("CheckNews",600000,false);
}

ПОЯСНЕНИЯ: 
HTTP(индекс = 0,тип запроса (HTTP_GET, HTTP_POST, HTTP_HEAD),адрес (URL),"",паблик ответа (Callback)); - пытаемся взять новости с сервера
SetTimer("CheckNews",600000,false); - через 10 минут делаем то же самое

В public OnGameModeInit добавляем:

CallLocalFunction("CheckNews","");

Теперь, нужно создать коллбэк, на который будет присылаться ответ от сервера:

forward SetNewsString(index, response_code, data[]);
public SetNewsString(index, response_code, data[])
{
    if(!data[0]) return print(!"[HTTP News]: Нет полученных данных!");
    strpack(NewsString,data);
    return 1;
}

В public OnPlayerCommandText

if(!strcmp(cmdtext,"/news",true))
{
    new tmp_news[2048];
    strunpack(tmp_news,NewsString);
    return ShowPlayerDialog(playerid,1500,"Новости",tmp_news,"Ок","Отмена");
}

Теперь, сервер каждые 10 минут будет записывать в массив NewsText текст который находится в файле News.txt на вашем сервере.

 

Автор: Владокс

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • frosjkee
      От frosjkee
      Как и где устанавливаются параметры чтобы игрок не падал с транспорта? например: Автомобиль пикап для выезда на капты, использую нестандартные модели и думаю где-то можно указывать параметр скольжения
    • angel_sinvays
      От angel_sinvays


      Скачать файл Luxury RolePlay (Оригинал)
      Как давно никто не слышал о Luxury RolePlay, теперь же я хочу вам напомнить о нём и продать за малую цену.
      В моде было сделано ОЧЕНЬ много доработок и изменений, при открытии кода вы сами поймёте о чем я имею ввиду.
      Основа мода: Active RP (Avenue RP)
       
      Что сделано:
      1. Сделана услуга премиум аккаунт
      2. В магазин добавлена новая услуга Титул
      3. Новые автомобили в донате BMW I8, BMW M5,  BMW Vision M NEXT, Mercedes Benz G-класс, Rolls-Royce Phantom, у них есть ускорения как спидхак
      4. Сделана возможность скрывать индикатор сытости в настройках
      5. Сделан новый инвентарь (/mm -> Инвентарь)
      6. Сделана возможность сменить время года в личных настройках
      7. Слоты под личный транспорт увеличены до 7
      8. Обновлён интерьер Мэрии
      9. Обновлён спавн
      10  Обновлён анти-чит
      11. Обновлён логотип
      12. Добавлена аренда мопедов
      13. Статистика игрока copy Russia RP
      14. Из регистрации на сервере убран ввод почты
      15. Для полиции добавлены команды /cap, /baton, /armour
      16. Обновлена система анти-слива
      17. Обновлена система анти-рекламы
      18. Удалён код который не используется
      19. Сделана новая система FD (private)
      20. Добавлена система викторины
      21. Система жалобов на баги
      22. Система рулеток
      23. Исправлено многочисленное количество багов с БД, системами.
      24. При пополнении казны на 500+ миллионов, вам выдается 10 рублей.
      25. Переделано /showudost, теперь в графу Должности пишет название, а не номер ранга.
       
       
      Здесь я рассписал все основные аспекты затронутые в моде, сам мод имеет ценность еще с 2020 года, старичкам которые хотят зайти на старый Luxury он приглянётся, либо тем кто хочет его переоткрыть так же.
      Жалко продавать этот мод, но ему нужно найти своё место не пылиться же у меня на компьютере)
      Много скриншотов к сожалению я не смог раскопать чтобы было видно все системы, но всю суть мода вы увидите в них (мне просто лень заливать мод)
      UPD: Если у вас будет полное желание и я это увижу, я буду дорабатывать этот мод.
       
      UPD: Повышена цена на игровой мод.
      UPD: Изменён игровой мод (прошлая версия была не той)
      Добавил angel_sinvays Добавлено 01.05.2024 Категория Моды Автор Angel Sinvays (Kizaru Entancion)