久々に書いていこうかな!
前回③では・・・うわ、こんな前に書いたのが最後なのか
ミニゲーム本体の方はブロックパーティとアスレシャトルランが移植出来たところ。
ブロックパーティの方はある程度までバグもなく遊べるようになったけど、シャトルランはもうちょっとくらい改善できねえかなって考えてる段階。
でも先にランキング表示機構を作ってみようかなと思う。
ってのが今回の流れかな。
ずっとVTuberの配信見ながら考えてたんだけど、
ボタンを押してコマンドを実行→ログファイルを・・・
って処理が面倒臭いことに気づいた。
という訳で
出来ました。(全端折り)
スコアボードデータを取得してランキングとして表示するために使う予定のプログラムを使う為のシェルスクリプトを今日書きましたとさ。
(追記分)ちなみに、仕組みとしては「マイクラ内でランキングを呼び出す→シェルスクリプトがログファイルから検知する→Pythonプログラムを実行しスコアデータをファイルに出力→シェルスクリプトがファイルのデータ読みとってあとなんやかんやしてマイクラにランキングとして表示する」という流れです。
端的に言えば、プレイヤーが/w @s ランキング参照 を実行すると、tellrawでスコアランキングが表示される、てなもの。
ていうか、ちょっと工夫してpythonでexport一行目にワールド名出力しておいて、ファイルパスにワールド名使うようにすればより使いまわしやすくなるね
っていうかazi_serverって名前書いちゃってるんだよね()
あと変数展開で文字列置換とかを初めて使った。
経験が浅いから難しいことは出来ないけど、今の知識の範囲でとにかく実装できるようにしてみた結果、こう。
あ、よく見たらscreen名もaziServerって入れてるな・・・
改善の余地はある。
このシステムはまた使いまわすだろうから、その都度訂正してみようかな。
サーバーのミニゲームの方の進捗は、最初にちょろっと言ったけどブロックパーティとアスレシャトルランを移植した。
selectアーマースタンドで全管理してたんだけど、全て仮想的に管理。なので、アーマースタンドとかで支障をきたすことない。
これがどれだけ大きいかというと、統合版で開発していた時はselectアーマースタンドが消えたとき誤作動を引き起こす、無限ループする、ゲームを維持できないなどの問題があったが、全部仮想的に管理すれば外部からの干渉はシステムが許容したものでしかできない。
まあ、管理が楽になるわけだ!
作業したりしてたら午前四時になっちゃった。そろそろ寝る。(^o^)ノ < おやすみー
0
この記事へのコメント