더 많은 기능을 수행하는 Old School RuneScape API 래퍼!
OSRS(Old School RuneScape)의 공식 hiscores API는 CSV 또는 간단한 JSON 배열을 반환할 수 있습니다. 이 래퍼는 hiscores 데이터를 보다 유용한 JSON 개체로 변환하고 지정된 플레이어에 대한 추가 정보를 제공합니다. 플레이어 정보를 비교함으로써 플레이어의 게임 모드는 물론 이전 모드(궁극기 해제, 아이언맨 제거 및/또는 하드코어 아이언맨으로 사망)를 추론합니다.
OSRS 순위표를 화면 스크랩하고 플레이어 목록을 json으로 반환하는 추가 기능이 제공됩니다. 또한 원하는 경우 Jagex API에서 원시 응답을 가져오기 위한 간단한 유틸리티 함수도 제공됩니다.
osrs-json-hiscores
모든 함수 및 사용자 정의 데이터 유형에 대한 전체 정의와 함께 TypeScript를 지원합니다.
Jagex는 응답에 Access-Control-Allow-Origin
헤더를 제공하지 않습니다. 이는 CORS가 hiscores API에 대한 모든 브라우저 요청을 차단한다는 것을 의미합니다. 이 문제를 해결하려면 osrs-json-hiscores를 서버 측에 설치하고 간단한 API를 통해 프런트 엔드에 노출해야 합니다. 사용 중인 예는 다음과 같습니다:codesandbox.io/s/osrs-json-hiscores-demo
TLDR: React 또는 Vue와 같은 클라이언트 측 앱에서 이 라이브러리를 직접 사용할 수 없습니다. 내부적으로 이 lib를 사용하는 서버를 설정하고 클라이언트가 서버에서 데이터를 가져오도록 해야 합니다.
npm 사용:
$ npm install osrs-json-hiscores
원사:
$ yarn add osrs-json-hiscores
패키지를 설치한 후 프로젝트로 가져옵니다.
import { getStatsByGamemode , getSkillPage } from 'osrs-json-hiscores' ;
가져오면 함수를 비동기적으로 호출할 수 있습니다.
const stats = await getStatsByGamemode ( 'Lynx Titan' ) ;
const topPage = await getSkillPage ( 'overall' ) ;
getStats
게임 모드가 포함된 전체 플레이어 개체를 반환합니다.
getStatsByGameMode
통계 개체를 반환하고 게임 모드 매개변수를 허용합니다.
게임 모드 | 파람 |
---|---|
정기적인 | main |
아이언맨 | ironman |
하드코어 아이언맨 | hardcore |
얼티밋 아이언맨 | ultimate |
데드맨 모드 | deadman |
토너먼트 | tournament |
리그 | seasonal |
getSkillPage
및 getActivityPage
기술/활동이 필요하며 선택적으로 게임 모드 및 페이지도 필요합니다.
getSkillPage ( 'attack' , 'main' , 1 )
. then ( ( res ) => console . log ( res ) )
. catch ( ( err ) => console . error ( err ) ) ;
활동은 모든 레벨의 단서 스크롤과 미니게임, 보스로 구성됩니다.
유형 | 파람 |
---|---|
모두 | allClues |
초보자 | beginnerClues |
쉬운 | easyClues |
중간 | mediumClues |
딱딱한 | hardClues |
엘리트 | eliteClues |
주인 | masterClues |
미니게임 | 파람 |
---|---|
현상금 사냥꾼(레거시 - 도적) | rogueBH |
현상금 사냥꾼(레거시 - 헌터) | hunterBH |
현상금 사냥꾼(도적) | rogueBHV2 |
현상금 사냥꾼(헌터) | hunterBHV2 |
LMS - 순위 | lastManStanding |
PvP 경기장 - 순위 | pvpArena |
소울워즈 열성 | soulWarsZeal |
균열이 닫혔습니다. | riftsClosed |
콜로세움 글로리 | colosseumGlory |
활동 | 파람 |
---|---|
리그 포인트 | leaguePoints |
데드맨 포인트 | deadmanPoints |
보스 이름 | 파람 |
---|---|
심연의 군주 | abyssalSire |
연금술 히드라 | alchemicalHydra |
아목슬리아틀 | amoxliatl |
아락소르 | araxxor |
아르티오 | artio |
무덤 상자 | barrows |
선태류 | bryophyta |
칼리스토 | callisto |
칼바리온 | calvarion |
케르베로스 | cerberus |
챔버스 오브 제릭 | chambersOfXeric |
Chambers Of Xeric: 챌린지 모드 | chambersOfXericChallengeMode |
카오스 엘리멘탈 | chaosElemental |
혼돈 광신도 | chaosFanatic |
질리아나 사령관 | commanderZilyana |
유형의 짐승 | corporealBeast |
미친 고고학자 | crazyArchaeologist |
다간노스 프라임 | dagannothPrime |
다간노스 렉스 | dagannothRex |
다간노스 슈프림 | dagannothSupreme |
미친 고고학자 | derangedArchaeologist |
듀크 수셀러스 | dukeSucellus |
그라도르 장군 | generalGraardor |
거대 두더지 | giantMole |
그로테스크한 수호자 | grotesqueGuardians |
헤스포리 | hespori |
칼파이트 여왕 | kalphiteQueen |
킹 블랙 드래곤 | kingBlackDragon |
크라켄 | kraken |
크리아라 | kreeArra |
크릴 츠차로스 | krilTsutsaroth |
달 상자 | lunarChests |
모방 | mimic |
넥스 | nex |
악몽 | nightmare |
포사니의 악몽 | phosanisNightmare |
오보르 | obor |
팬텀 무스파 | phantomMuspah |
사라크니스 | sarachnis |
전갈자리 | scorpia |
스쿠리우스 | scurrius |
스코티조 | skotizo |
솔 헤레딧 | solHeredit |
스핀델 | spindel |
템포로스 | tempoross |
건틀릿 | gauntlet |
타락한 건틀릿 | corruptedGauntlet |
휴이코아틀 | hueycoatl |
리바이어던 | leviathan |
속삭이는 사람 | whisperer |
피의 극장 | theatreOfBlood |
피의 극장: 하드 모드 | theatreOfBloodHardMode |
열핵 연기 악마 | thermonuclearSmokeDevil |
아마스컷의 무덤 | tombsOfAmascut |
Amascut의 무덤: 전문가 모드 | tombsOfAmascutExpertMode |
츠칼죽 | tzKalZuk |
TzTok-Jad | tzTokJad |
바르도르비스 | vardorvis |
베네나티스 | venenatis |
베션 | vetion |
보르카스 | vorkath |
윈터토트 | wintertodt |
잘카노 | zalcano |
줄라 | zulrah |
getStats
다음과 같은 플레이어 개체를 반환합니다.
{
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
25명의 플레이어 배열을 반환합니다(이것은 기록의 페이지를 나타냄).
[
{ rank : 1 , name : 'Lynx Titan' , level : 2277 , xp : 4600000000 , dead : false } ,
{ } ,
{ }
// ...
] ;
기술, 보스, 단서 또는 기타 활동의 올바른 형식의 이름을 가져옵니다.
// kril === "K'ril Tsutsaroth"
const kril = FORMATTED_BOSS_NAMES [ 'krilTsutsaroth' ] ;