新しくなったビル経営ゲームv7のmod製作支援ツールnew SBAPIの使い方
初めに
SBAPIとは何か?まさあぶ氏のビル経営ゲームの拡張性を上げるツールである。
導入方法
https://scratch.mit.edu/projects/933515639/の中の
new SBAPIと書かれたスプライトとnew SBAPI client sideと書かれたスプライトがある。
今回はMOD製作者様向けの記事なのでnew SBAPI client side側を紹介する。
new SBAPI client sideと書かれたスプライトの中身をすべてMODに使うスプライトに入れてくれ
SBAPIrequestという関数がclient側に存在しているが、その使い方はこんな感じだ。
clientの方のrequest定義の最初の引数がmethod。
返り値はリスト:modAPIに帰ってきます。
メソッドの紹介
data ビル経に初期搭載されてるcache機能と独立したcache機能が使えます。
get プロパティを取得します。
post 設定の変更等を行います。
getメソッドに存在する命令
xp xpを取得
level levelを取得
electric 電気を取得
water 水を取得
money お金を取得
happiness 幸福度を取得
diamond ダイヤモンドを取得
day 日付を取得
time 時間を取得
tablet タブレットの場所の取得
tablet (引数1:tab) タブレットのタブを取得
tablet (引数1:page) タブレットのページを取得
menu ゲームで現在何を開いているかの取得
mode 建築モードか猫モードか取得
X coordinate カメラのX座標を取得
Y coordinate カメラのY座標を取得
coordinate カメラの座標を取得
room-id room:data内の部屋場所を取得
room-id (引数1:X座標,引数2:Y座標) room:data内の部屋場所を取得
postメソッドに存在する命令
EarlyMod sbapiが搭載している標準modの有効無効切り替え
EarlyMod (引数1:mod名,引数2:true) 引数1を有効化
EarlyMod (引数1:mod名,引数2:false) 引数1を無効化
money お金を引数1の値にする
diamond ダイヤモンドを引数1の値にする
happiness 幸福度を引数1の値にする
xp xpを引数1の値にする
level レベルを引数1の値にする
Location マップを引数1の値にする
Location (引数1:plain) マップを平原にする
Location (引数1:snowy mountains) マップを雪山にする
Location (引数1:desert) マップを砂漠にする
make cat 客を増やす
del cat 全ての客を消す
toast 引数1の値の通知を引数2の値の音で出す
toast (引数1:3) (引数2:1)
open ゲーム内の場所を移動
open (引数1:tablet) タブレットに移動
open (引数1:pause) 設定とかのやつに移動
open (引数1:ADS) 広告を表示
open (引数1:数値) idで移動
move タブレット内の特定の場所に移動する(引数1でページ、引数2でタブ)
mode 建築モードと猫モードを切り替える
mode (引数1:cat) 猫モードにする
mode (引数1:build) 建築モードにする
electric 電気を固定する
electric 電気の供給量を引数1の値に固定する
electric (引数1;amount_used) 電気の使用量を引数2の値に固定する
water 水を固定する
water 水の供給量を引数1の値に固定する
water (引数1;amount_used) 水の使用量を引数2の値に固定する
X coordinate カメラのX座標を引数1の値にする
Y coordinate カメラのY座標を引数1の値にする
coordinate カメラのX座標を引数1の値にし、Y座標を引数2の値にする
scroll スクロールする
scroll (引数1:chat) チャット欄のスクロールバーの値を引数2の値にする
scroll (引数1:buildlist) 建築リストのスクロールバーの値を引数2の値にする
buildlist 建築リストを並べ替える
buildlist (引数1:seting) 建築リストを引数2の値にする
mouse マウスが押されてるかの判定を変える
mouse (引数1:down) マウスを押している判定にする
mouse (引数1:up) マウスを放している判定にする
profit_ratio 収益率を引数1の値にする
weather 天候を引数1の値にする
weather (引数1:sunny) 天候を晴れにする
weather (引数1:rain) 天候を雨にする
weather (引数1:heavy rain) 天候を大雨にする
weather (引数1:数値)
build 部屋を置き換える
build (引数1:room-id,引数2:部屋のid) room-idの位置の部屋を引数2に置き換える
実行に時間がかかる命令
dialog ダイアログを出す(引数1:custom id,引数2:button type)
day 日付の変更をする
day (引数1:add) 引数2の値分日付を増やしていく
day (引数1:delete) 引数2の値分日付を戻していく
day (引数1:set) 引数2の値に日付を変える
dataメソッドに存在する命令
get (引数1:key) cacheされた値を取得します。
cache (引数1:key,引数2:値) keyを指定してcacheします。
delete (引数1:key) 指定したkeyのcacheを削除します。
toastの名前、id、中身の対応表
toastname toastid toast
basement_block 1 この建築物は地下に作れません!
basement_block2 2 この建築物は地上に作れません!
buildlist: gold 3 所持金が足りません!
buildlist: same 4 同じ部屋は作れません!
save 5 セーブ中
save_e 6 セーブ完了
server: saving 7 サーバーに保存中
new_day 8 日付が変わりました
maintenance 9 維持費が引かれました
shop_gold_ad 10 広告で3000Gを獲得しました!
thief: spawn 11 泥棒がいる!今すぐ捕まえよう!
thief: success 12 泥棒を捕まえた!
thief: failure 13 泥棒にゴールドを盗まれた!
server: nodata 14 データを取得できませんでした。
search: name-e 15 ユーザー名が無効です!
load error 16 データが破損しています!
chat 17 新しいチャットがあります!
many requests 18 リクエストが多すぎます!
update 19 この機能はまだ未実装です!
server_error 20 通信中にエラーが発生しました!
creative 21 クリエイティブでは使えません!
cooldown 22 クールダウン中です。
標準mod一覧
keepcost 維持費を無効にする。
SBAPIを拡張する、関数機能について
SBAPIには、SBAPI自身を拡張できる機能が存在します。
↓の画像の関数名と書かれたところに処理を加えて見てください。
このようにしてみます。
すると、適当なメソッドで(function以外の)関数名と言う命令を出したら、[(あなたの名前は何ですか?)と聞いて待つ]が実行されました。このような感じで様々な機能を拡張出来るのが関数機能です!
SBAPIplusについて
↓を見てください。
https://note.com/metaroro/n/n012d5ff9dd35
SBAPIが使用されているMODの紹介
SBAPIを搭載しているremixを紹介
この記事が気に入ったらサポートをしてみませんか?