¡El contenedor API RuneScape de la vieja escuela que hace más!
La API oficial de hiscores para Old School RuneScape (OSRS) puede devolver CSV o una matriz JSON simple. Este contenedor convierte los datos de hiscores en un objeto JSON más utilizable y proporciona información adicional sobre el reproductor determinado. Al comparar la información del jugador, se infiere el modo de juego del jugador, así como cualquier modo anterior (des-ultimado, des-planchado y/o muerto como un ironman incondicional).
Se proporcionan funciones adicionales que eliminan la pantalla de las tablas de clasificación OSRS y devuelven una lista de jugadores como json. También se proporcionan funciones de utilidad simples para recuperar las respuestas sin procesar de las API de Jagex, si lo desea.
osrs-json-hiscores
tiene soporte para TypeScript, con definiciones completas para todas las funciones y tipos de datos personalizados.
Jagex no proporciona encabezados Access-Control-Allow-Origin
en sus respuestas. Esto significa que CORS bloqueará todas las solicitudes del navegador a su API hiscores. Para solucionar esto, osrs-json-hiscores debe instalarse en el lado del servidor y exponerse al front-end a través de una API simple. Aquí hay un ejemplo de esto en uso: codesandbox.io/s/osrs-json-hiscores-demo
TLDR: no puede usar esta biblioteca directamente en su aplicación del lado del cliente, por ejemplo, React o Vue, debe configurar un servidor que use esta biblioteca internamente y hacer que su cliente obtenga datos de su servidor.
Con npm:
$ npm install osrs-json-hiscores
Con hilo:
$ yarn add osrs-json-hiscores
Instale el paquete y luego impórtelo a su proyecto:
import { getStatsByGamemode , getSkillPage } from 'osrs-json-hiscores' ;
Una vez que lo importe, puede llamar a las funciones de forma asincrónica:
const stats = await getStatsByGamemode ( 'Lynx Titan' ) ;
const topPage = await getSkillPage ( 'overall' ) ;
getStats
devolverá un objeto de jugador completo con modo de juego.
getStatsByGameMode
devolverá un objeto de estadísticas y aceptará un parámetro de modo de juego:
Modo de juego | parámetro |
---|---|
Regular | main |
hombre de hierro | ironman |
Hombre de hierro incondicional | hardcore |
Hombre de Hierro definitivo | ultimate |
Modo hombre muerto | deadman |
Torneo | tournament |
Ligas | seasonal |
getSkillPage
y getActivityPage
requieren una habilidad/actividad y, opcionalmente, un modo de juego y una página:
getSkillPage ( 'attack' , 'main' , 1 )
. then ( ( res ) => console . log ( res ) )
. catch ( ( err ) => console . error ( err ) ) ;
Las actividades constan de todos los niveles de pergaminos de pistas, así como minijuegos y jefes:
Tipo | parámetro |
---|---|
Todo | allClues |
Principiante | beginnerClues |
Fácil | easyClues |
Medio | mediumClues |
Duro | hardClues |
Élite | eliteClues |
Maestro | masterClues |
Minijuego | parámetro |
---|---|
Cazarrecompensas (Legado - Pícaro) | rogueBH |
Cazarrecompensas (Legado - Cazador) | hunterBH |
Cazarrecompensas (pícaro) | rogueBHV2 |
Cazarrecompensas (cazador) | hunterBHV2 |
LMS - Clasificación | lastManStanding |
Arena PvP - Rango | pvpArena |
Celo de las guerras del alma | soulWarsZeal |
Grietas cerradas | riftsClosed |
Gloria del Coliseo | colosseumGlory |
Actividad | parámetro |
---|---|
Puntos de liga | leaguePoints |
Puntos de hombre muerto | deadmanPoints |
Nombre del jefe | parámetro |
---|---|
Señor abisal | abyssalSire |
Hidra alquímica | alchemicalHydra |
Amoxliatl | amoxliatl |
Araxxor | araxxor |
Artio | artio |
Cofres de túmulos | barrows |
briófitos | bryophyta |
Calisto | callisto |
Calvario | calvarion |
Cerbero | cerberus |
Cámaras de Xeric | chambersOfXeric |
Chambers Of Xeric: Modo Desafío | chambersOfXericChallengeMode |
Elemental del Caos | chaosElemental |
Fanático del Caos | chaosFanatic |
Comandante Zilyana | commanderZilyana |
Bestia corpórea | corporealBeast |
Arqueólogo loco | crazyArchaeologist |
Dagannoth Prime | dagannothPrime |
Dagannoth Rex | dagannothRex |
Dagannoth Supremo | dagannothSupreme |
Arqueólogo trastornado | derangedArchaeologist |
Duque Sucelo | dukeSucellus |
Graardor general | generalGraardor |
Topo gigante | giantMole |
Guardianes grotescos | grotesqueGuardians |
hespori | hespori |
Reina calfita | kalphiteQueen |
Rey Dragón Negro | kingBlackDragon |
Kraken | kraken |
Kreearra | kreeArra |
K'ril Tsutsaroth | krilTsutsaroth |
Cofres lunares | lunarChests |
Imitar | mimic |
siguiente | nex |
Pesadilla | nightmare |
La pesadilla de Phosani | phosanisNightmare |
Obor | obor |
Muspa fantasma | phantomMuspah |
sarachnis | sarachnis |
Escorpio | scorpia |
escurrius | scurrius |
Skotizo | skotizo |
Sol Heredita | solHeredit |
husillo | spindel |
Temporal | tempoross |
El guantelete | gauntlet |
El guante corrupto | corruptedGauntlet |
El Hueycóatl | hueycoatl |
El Leviatán | leviathan |
El susurrador | whisperer |
teatro de sangre | theatreOfBlood |
Teatro de sangre: modo difícil | theatreOfBloodHardMode |
Diablo de humo termonuclear | thermonuclearSmokeDevil |
Tumbas de Amascut | tombsOfAmascut |
Tumbas de Amascut: modo experto | tombsOfAmascutExpertMode |
TzKal-Zuk | tzKalZuk |
TzTok-Jad | tzTokJad |
Vardorvis | vardorvis |
venenatis | venenatis |
veción | vetion |
Vorkath | vorkath |
Wintertodt | wintertodt |
Zalcano | zalcano |
Zulra | zulrah |
getStats
devuelve un objeto jugador similar a este:
{
name : 'Lynx Titan' ,
mode : 'main' ,
dead : false ,
deulted : false ,
deironed : false ,
main : {
skills : {
overall : { rank : 1 , level : 2277 , xp : 4600000000 } ,
attack : { } ,
defence : { } ,
// ...
} ,
clues : { } ,
leaguePoints : { } ,
bountyHunter : { } ,
lastManStanding : { } ,
pvpArena : { } ,
soulWarsZeal : { } ,
riftsClosed : { } ,
bosses : { }
}
}
getSkillPage
devuelve y una matriz de 25 jugadores (esto representa una página en los resultados):
[
{ rank : 1 , name : 'Lynx Titan' , level : 2277 , xp : 4600000000 , dead : false } ,
{ } ,
{ }
// ...
] ;
Obtenga el nombre con el formato correcto de cualquier habilidad, jefe, pista u otra actividad:
// kril === "K'ril Tsutsaroth"
const kril = FORMATTED_BOSS_NAMES [ 'krilTsutsaroth' ] ;