Penta kill.

good game

Riot Games API Match-V3のマッチリスト取得でちょっと詰まった

そこまで詰まったわけではないけど,一応備忘録としてメモ

Match-V3のマッチリスト取得APIを試しに叩いてみた.
こいつはQueueタイプ(試合の種類, ランクとかノーマルとか)や, シーズンとかでフィルタリングすることが出来る.

Riot Developer Portal

を参考に,試しにシーズン7のランクの戦績を引っ張ろうとして queue=4 season=9と指定してAPIを叩いてみても404を返され上手く行かない.

はて?と思って今度はフィルタリング無しでAPI叩いてみると, 普通に取得できる. ここで,queueが4ではなく420となっていることに気づいた.
Game Constantsのページを下の方までスクロールしてみると,TEAM_BUILDER_RANKED_SOLO
っていう項目があって, これが420という値になっているではないか.
なるほど, 新しいランクのシステムはチームビルダーのシステム使ってるからこうなるのね…。

単純にソロランクって指定してもエラー吐くから, まあ色々面倒くさいっていう話でした.

Riot Games API AccountIDについて

コード書いてて気になって調べたので自分用を兼ねてメモを・・・

以前Riot Games APIを叩いた時は,サモナー固有の情報を引っ張ってくるにはSummonerIDがあれば良かった(と思う).こいつは,サモナー特有に割り当てられているIDのようなもので,サモナー名を変えても一貫してそのサモナーのデータにアクセスすることが出来るというもの.
しかし最近になって見てみると,Match-V3のマッチリスト取得API叩こうとしたらAccountIDというものが必要であることに気づいた.
なんじゃこりゃ~ってなったので,調べたものをここに載せておく(間違ってたらごめんね

過去に我々(Riot Games)は混乱を防ぐのと,データに一貫性を持たせるために,summonerIDを通してデータにアクセス出来るようにした.

しかしながら,将来的にAPIを更に柔軟に,他のゲーム(LOL以外のゲーム)にも対応できるようにする必要が出てきた.
つまり,APIが複数のゲームをサポートするような将来では,サモナーという概念は他のゲームには無いかもしれない.複数ゲームに渡って一貫性のあるものである必要があり,将来的に複数ゲームのサポートを準備する必要があるので,この機会(恐らくRiot Games APIのアップデートのこと)アカウントIDを公にすることを決めた.従って,V3のAPIでは可能な限りAccountIDを使う.


パッと訳したところこんな感じ.
要は将来的にRiotがLoL以外の他ゲームをリリースしても大丈夫なようにAccountIDというものを公開したっていうことみたい. CHAMPION-MASTERY-V3とかAccountIDじゃなくてSummonerIDが求められるので,両方必要っぽいですね.
Riotが別ゲーを用意しているってのは聞いたことがありましたが,どうやら準備しているようだね.ちょっと驚き.

話が逸れましたが,色々V3アップデートによって一新されてて分からないこともあるので,これから調べていきたい.

参考

Riot Games API V3 - Riot Developer Community

 

OpenCV2.4.8 でヒストグラム平坦化(C++)

正しく動いてるかわからないけどそれっぽい結果は出た。
結果画像とかはその内貼っつける(試した画像が他人の顔写真の為)
以下ソースコード
変数名とか色々ガバガバ/適当だけど気にしないで

#include <iostream>
#include "opencv2/opencv.hpp"
 
using namespace cv;
using namespace std;
 
int main(){
 
    Mat input_image = imread("input.jpg", 1);
    Mat output_image;
    vector<Mat> planes(3);
    vector<Mat> output_planes(3);
    vector<Mat> rgb;
 
    if(!input_image.data){
        cout << "input is empty!" << endl;
        return -1;

    }
 
    /*RGBの分割 デフォルトでBGRの順番*/
    split(input_image, planes);
     
    equalizeHist(planes[0], output_planes[0]);
    equalizeHist(planes[1], output_planes[1]);
    equalizeHist(planes[2], output_planes[2]);
     
    rgb.push_back( output_planes[0] );
    rgb.push_back( output_planes[1] );
    rgb.push_back( output_planes[2] );
 
    merge(rgb, output_image);   
 
    imshow("Input", input_image);
    imshow("Output", output_image);
    waitKey(0);
     
    return 0;
 
 
}

Ubuntuでディスプレイのバックライトの明るさが暗すぎる時の対処法メモ(レッツノート CF-SX3)

画面が暗いっていうか黒かった。

1,rootに化ける

2, /sys/class/backlight/intel_backlight/max_brightnessの値を見てみる。

 cat /sys/class/backlight/intel_backlight/max_brightness

3, /sys/class/backlight/intel_backlight/brightness にmaxより少し小さいぐらいの値を入れる
    大体900ぐらいを入れた。

    echo 900 > /sys/class/backlight/intel_backlight/brightness

 

なぜかsudoではできなった。なんでだろう?

 

 

Riot Games API - Spectate Games について色々と その2

じゃあ実際に観戦してみよう。bat(コマンドプロンプト)の知識が全然ないから苦労した。

流れとしては、
summonerID取得→current-gameのAPI叩いて、encryptionKeyとgameIDを取得→コマンドプロンプトからspectateAPI叩いて観戦

こんな感じです。

json形式でデータが返ってくるので、Chrome使ってる人はJSONView入れておくと見やすくなるかもね。

chrome.google.com

じゃあ、Team LiquidのKEITH選手がちょうど試合をしていたので、観戦してみる。

/api/lol/{region}/v1.4/summoner/by-name/{summonerNames}

を利用して、summonerIDを取得する。次に、

 /observer-mode/rest/consumer/getSpectatorGameInfo/{platformId}/{summonerId}

 で、summonerIDを入力して進行中のゲームの情報を取得。その中に、gameIDと、encryptionKeyがあるのでメモっておく。

で、次に、コマンドプロンプトを開いて、cdコマンドを使ってLeague of Legendsがあるディレクトリまで移動する。移動しないとクラッシュするので注意。

このブログを書いた時点では、

C:\Riot Games\League of Legends\RADS\solutions\lol_game_client_sln\releases\0.0.1.85\deploy\

にある。つぎに、

start "" "League of Legends.exe" "8394" "LoLLauncher.exe" "" "spectator spectator.na.lol.riotgames.com:80 vDjGlPxuYW86mtKgam1zW4yGNvWxivEq 1792937511 NA1"

 と入力してEnter。これで終わり。

あと、

@echo off

@cd /d "C:\Riot Games\League of Legends\RADS\solutions\lol_game_client_sln\releases\0.0.1.85\"
@start "" "League of Legends.exe" "8394" ....

 みたいな感じでbatファイル書けばbatファイルから叩くことも出来る。op.ggのbatファイルはそんな風に書かれてた。

 

※急いで書いたので、結構雑で読みづらいかもごめんなさい。