GameME API

amxx GameME API 1.0

Нет прав для скачивания
Автор
mmcs.pro dev team
Совместимость с
Amx Mod X 1.9.0
Благодарности
  • 9iky6 и SAZONISCHE за реализацию
  • BaJIepbI4 и ImbaSS за тесты
API для получения данных с сайта и передачи их в сторонние плагины. По своей сути плагин является клоном части кода с source-версии gameme. По непонятным причинам на amxmodx этот код не был добавлен, но в веб-части обработчики висят, поэтому и было придумано реализовать данный плагин.


Код:
#include <amxmodx>
#include <gameme>

#define QUERY_TYPE_ONCLIENTPUTINSERVER 1

public plugin_init()
{
register_plugin("Gameme info" , "0.1", "");
register_clcmd("ginfo", "cmdginfo", 0, "Check gameme")
register_clcmd("say ginfo", "cmdginfo", 0, "Check gameme")
register_clcmd("say /ginfo", "cmdginfo", 0, "Check gameme")
}

public cmdginfo(id) {
// вызываем нативу для получения ответа от gameme
QueryGameMEStats("playerinfo", id, "QuerygameMEStatsCallback", QUERY_TYPE_ONCLIENTPUTINSERVER);
return PLUGIN_HANDLED;
}

public QuerygameMEStatsCallback(command, payload, client, &DataPack:datapack) {
client_print(client, print_notify, "QuerygameMEStatsCallback: command -> %i, payload -> %i, client -> %N", command, payload, client);
if ((command == RAW_MESSAGE_CALLBACK_PLAYER) && (client > 0)) {

ResetPack(datapack); // нужен для сброса считывания/записи на 0 размер.
new iRank = ReadPackCell(datapack);
SetPackPosition(datapack, 18); // переход на 3 cell-объект. Размер каждого cell-объекта = 9.
new iSkill = ReadPackCell(datapack);

DestroyDataPack(datapack); // обязательно нужно удалить DataPack после считывания данных!!!

if (payload == QUERY_TYPE_ONCLIENTPUTINSERVER) {
client_print_color(client, print_team_default, "Твой rank %d позиция %d очки", iRank, iSkill);
client_print(client, print_notify, "Твой rank %d позиция %d очки", iRank, iSkill);
}
}
return PLUGIN_HANDLED;
}
Автор
vatspunk
Скачиваний
85
Просмотры
3K
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху Снизу