
『Artifacts MMO』木を集めよう!
『Artifacts MMO』とは?
『Artifacts MMO』は、APIを通じてプレイヤーがゲーム世界を直接操作・カスタマイズできる次世代型のオンラインマルチプレイヤーゲームです。プレイヤーは、ゲーム内のアイテム、キャラクター、環境などをAPIを活用してプログラミングし、自分だけの冒険を創り上げることができます。これにより、従来のゲームでは味わえなかった自由度や創造性を楽しむことが可能です。
前回の記事は、こちらです
移動を簡単に!
以前作成した移動プログラムを改良します。
const API_TOKEN = "書き換えてください";
const characterName = "書き換えてください";
const url = `https://api.artifactsmmo.com/my/${characterName}/action/move`;
const headers = new Headers();
headers.append("Accept", "application/json");
headers.append("Content-Type", "application/json");
headers.append("Authorization", `Bearer ${API_TOKEN}`);
const body = JSON.stringify({
x: 0,
y: 1,
});
const requestOptions = {
method: "POST",
headers: headers,
body: body,
redirect: "follow",
};
fetch(url, requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
移動するプログラムを改良して、移動先の座標をコマンドライン引数で渡せるようにしましょう。
javascriptでコマンドライン引数で渡せるようにするには、procss.argvを使います。
const API_TOKEN = "書き換えてください";
const characterName = "書き換えてください";
const url = `https://api.artifactsmmo.com/my/${characterName}/action/move`;
const headers = new Headers();
headers.append("Accept", "application/json");
headers.append("Content-Type", "application/json");
headers.append("Authorization", `Bearer ${API_TOKEN}`);
// コマンドライン引数から x と y を取得
const args = process.argv.slice(2);
if (args.length < 2) {
console.error("Usage: node script.js <x> <y>");
process.exit(1);
}
const x = parseInt(args[0], 10);
const y = parseInt(args[1], 10);
const body = JSON.stringify({
x,
y,
});
const requestOptions = {
method: "POST",
headers: headers,
body: body,
redirect: "follow",
};
const res = await fetch(url, requestOptions);
const data = await res.text();
console.log(data);
(-1, 0) の位置に木材の取れる木があるので、移動してみましょう。
node move.js -1 0
森を切る前に、その成長を敬え
それでは (-1, 0) にある木に最大限の敬意を表しながら、伐採しましょう。
公式ドキュメントによると、素材を集めるにはgatheringという行動を使うようです。
いつも通り、プログラムをgathering.jsに保存して実行します。
const API_TOKEN = "書き換えてください";
const characterName = "書き換えてください";
const url = `https://api.artifactsmmo.com/my/${characterName}/action/gathering`;
const headers = new Headers();
headers.append("Accept", "application/json");
headers.append("Content-Type", "application/json");
headers.append("Authorization", `Bearer ${API_TOKEN}`);
const requestOptions = {
method: "POST",
headers: headers,
redirect: "follow",
};
const res = await fetch(url, requestOptions);
const { data } = await res.json();
console.log(data?.details);
node gathering.js
{ xp: 13, items: [ { code: 'ash_wood', quantity: 1 } ] }
無事に経験値13とash_woodというアイテムを1つ入手できたようです。
まとめ
APIを使って遊ぶことができる風変わりなゲーム『Artifacts MMO』について紹介しました。APIリクエストを使って木材を集めることができましたね。次回はAPIを使用して武器を改良したいと思います!