29/04/2019, 02:24 PM
(Última modificación: 30/04/2019, 12:21 AM por PredatorFlys. Edited 11 times in total.)
Requiere Amxx 1.9++ (o la version donde se implemento el json)
Modulo Curl : https://github.com/Polarhigh/AmxxCurl/tr...x_includes
si se requieren mas datos
agregar mas campos bajo de:
personaname
avatarfull
Todos los campos estan en https://developer.valvesoftware.com/wiki/Steam_Web_API
Sección Public Data.
Descargar AMXX / curl.sma (Tamaño: 2.23 KB / Descargas: 35)
Modulo Curl : https://github.com/Polarhigh/AmxxCurl/tr...x_includes
Código PHP:
#include <amxmodx>
#include <curl>
#include <json>
new const API[] = "tu_api_steam"
new const url[] = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key="
#define CURL_BUFFER_SIZE 1024
#define MAX_STR_NUM_LEN 64
new szFile[33][200]
public plugin_init()
{
register_plugin("Steam Api Info", "1.0", "Flys")
register_clcmd("say test", "testJson");
if(!dir_exists("addons/amxmodx/data/steamdata")){
mkdir("addons/amxmodx/data/steamdata");
}
}
public client_putinserver(id){
new szAuthID64[18];
get_user_info(id, "*sid", szAuthID64, charsmax(szAuthID64));
formatex(szFile[id], charsmax(szFile[]), "addons/amxmodx/data/steamdata/%s.txt", szAuthID64)
curl_save_player_info(szFile[id], szAuthID64)
}
public curl_save_player_info(file[], CommunityID[]){
new data[1]
data[0] = fopen(file, "wb")
server_print("curl start")
new CURL:curl = curl_easy_init()
curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, CURL_BUFFER_SIZE)
new szURL[200]
format(szURL, charsmax(szURL), "%s%s&steamids=%s&format=json", url, API, CommunityID)
curl_easy_setopt(curl, CURLOPT_URL, szURL)
curl_easy_setopt(curl, CURLOPT_WRITEDATA, data[0])
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, "write")
curl_easy_perform(curl, "complite", data, sizeof(data))
}
public write(data[], size, nmemb, file)
{
new actual_size = size * nmemb;
fwrite_blocks(file, data[23], actual_size-25, BLOCK_CHAR)
return actual_size
}
public complite(CURL:curl, CURLcode:code, data[])
{
if(code == CURLE_WRITE_ERROR)
server_print("transfer aborted")
else
server_print("curl complete")
fclose(data[0])
curl_easy_cleanup(curl)
}
public testJson(id)
{
new JSON:root_value = json_parse(szFile[id], true);
if (!json_is_array(root_value))
{
client_print(id, print_chat,"Algo ha salido mal!");
return;
}
new JSON:object;
new data[200];
object = json_array_get_value(root_value, 0);
json_object_get_string(object, "personaname", data, charsmax(data), true);
client_print(id, print_chat, "Nombre: %s", data);
json_object_get_string(object, "avatarfull", data, charsmax(data), true);
client_print(id, print_chat, "URL_Avatar: %s", data);
json_free(object);
json_free(root_value);
}
si se requieren mas datos
Código PHP:
json_object_get_string(object, "personaname", data, charsmax(data), true);
client_print(id, print_chat, "Nombre: %s", data);
json_object_get_string(object, "avatarfull", data, charsmax(data), true);
client_print(id, print_chat, "URL_Avatar: %s", data);
personaname
avatarfull
Todos los campos estan en https://developer.valvesoftware.com/wiki/Steam_Web_API
Sección Public Data.
Descargar AMXX / curl.sma (Tamaño: 2.23 KB / Descargas: 35)