【StoneStoryRPG/Stonescript】3-3.ゲーム情報の取得3(プレーヤー情報/乱数/座標/時刻)

ゲーム内から取得できる プレーヤー情報/乱数/座標/時刻 の情報です。


プレーヤーに関する情報

armor (プレーヤーの防具の整数部分)

プレーヤーの現在の防具(防御シールド値)を取得します。小数点以下は切り捨てです。(2.4なら2)

armor.f (プレーヤーの防具の小数部分)

プレーヤーの現在の防具の、小数点以下の部分のみを取得します。(2.4なら4)

buffs.count (プレーヤーのバフの数)

プレーヤーのバフの数を取得します。

buffs.string (プレーヤーのバフ一覧)

プレーヤーのバフ一覧を取得します。

?buffs.count > 0
  >`0,1,プレーヤーのバフ = @buffs.string@

もしプレーヤーのbuffsのcountが0より多いなら?
 ┗ 画面上での座標(0,1)に「プレーヤーのバフ = [buffsのstring]」と表示する

debuffs.count (プレーヤーのデバフ数)

プレーヤーのデバフの数を取得します。

debuffs.string (プレーヤーのデバフ一覧)

プレーヤーのデバフ一覧を取得します。

?debuffs.count > 0
  >`0,2,プレーヤーのデバフ = @debuffs.string@

もしdebuffsのcountが0より多いなら?
 ┗ 画面上での座標(0,2)に「プレーヤーのデバフ = [debuffsのstring]」と表示する

hp (プレーヤーの現在HP)

プレーヤーの現在のHPを取得します。

maxhp (プレーヤーの最大HP)

プレーヤーの最大HPを取得します。

maxarmor (プレーヤーの最大防具)

プレーヤーの最大防具値を取得します。小数点以下は切り捨てです。

pos.x (プレーヤーのステージ内X座標)

プレーヤーのステージ内でのX座標を取得します。画面上ではなく、ステージの中での座標を表します。

pos.y (プレーヤーのステージ内Y座標)

プレーヤーのステージ内でのY座標を取得します。

pos.z (プレーヤーのステージ内Z座標)

プレーヤーのステージ内でのZ座標を取得します。

ai.enabled (ゲーム進行検知)

ゲームの自動進行状態がONの場合はtrue、そうでない場合(例:ムービー中)はfalseを取得できます。

ai.paused (ゲーム進行一時停止検知)

ゲームの自動進行状態が一時的にOFFの場合(例:宝箱のドロップ演出中)はtrue、そうでない場合はfalseを取得できます。

ai.idle (プレーヤーの攻撃クールタイム中検知)

プレーヤーが攻撃行動できない(例:宝箱のドロップ演出中や攻撃のクールタイム中)はtrue、そうでない場合はfalseを取得できます。

ai.walking (プレーヤーの移動検知)

プレーヤーが移動している場合はtrue、そうでない場合はfalseを取得できます。

face (プレーヤーの表情)

プレーヤーの表情を取得します。

?face = "^^"
  >笑顔

もしfaceが^^なら?
 ┗ 「笑顔」と表示する

key (キー入力検知)

キー入力の情報を取得します。これはキーボード操作を適用する時に使います。

>@key@

「[入力されているkey]」と表示します。

res.[資源名] (インベントリ内資源数)

指定した資源の、インベントリ内の所持数を取得します。

res.stone 石
res.wood 木
res.tar タール
res.ki 気
res.bronze 銅
res.crystals クリスタル

?loc = Deadwood
  >木 = @res.wood@

もしlocがDeadwoodなら?
 ┗ 「木 = [resのwoodの数]」と表示する ※

※resは「resources」の頭文字です。
>`0,1,#magenta, ♦ @res.crystals@

画面上での座標(0,1)に、magenta(マゼンタ)色の文字で「 ♦ [resのcrystalsの数]」と表示する

player.direction (プレーヤーの向き)

プレーヤーが右を向いているなら1を、左を向いているなら-1を取得できます。

?player.direction = 1
  >`0,0,右に歩いています
:
  >`0,0,左に歩いています

もしplayerのdirectionが1(右)なら? ※
 ┗ 画面上での座標(0,0)に「右に歩いています」と表示する
そうでないなら?
 ┗ 画面上での座標(0,0)に「左に歩いています」と表示する

※directionは「向き」という意味です。

player.name (プレーヤーの名前)

プレーヤーの名前を取得します。

//プレーヤーの頭上に名前を表示するスクリプト
var name
var x
name = player.name
x = string.Size(name) / -2
>o@x@,-2,@name@

変数nameを定義する
変数xを定義する
nameにplayerのnameを格納する
xに[nameのstringのSize]÷(-2)の答えを格納する ※
プレーヤーを原点とする座標(x,-2)に「[name]」を表示する

※名前の中央部分がプレーヤーの頭上になるように、名前の長さの半分だけ左にずらしています。

totalgp (ギアポイント合計)

インベントリ内の「ギアポイント」の合計値を取得します。ギアポイントは、インベントリのアイテムの星の数やエンチャント値から算出されます。

>合計ギアポイント = @totalgp@

「合計ギアポイント = [totalgp]」と表示する

乱数発生器

rng (整数の乱数)

0~9999までのランダムな整数(乱数)を取得できます。

//コイントス
?rng < 5000
  >表!
:
  >裏!

もしrngが5000未満なら?
 ┗ 「表!」と表示する
そうでないなら?
 ┗ 「裏!」と表示する

※rngは「Random Number Generator(乱数発生器)」の略です。
//5~24までのランダムな整数を取得する
var min = 5
var max = 24
var n = min + rng % (max - min + 1)

変数minを定義し、5を格納する
変数maxを定義し、24を格納する
変数nを定義し、min + [rng]÷(max-min+1)の余り の答えを格納する ※

※rngを20で割った余りは、0~19までのランダムな整数になります。

rngf (小数の乱数)

0~1までのランダムな小数を取得できます。

//例1
//「ランダムな小数 = [0~1までのランダムな小数]」と表示します。

ランダムな小数 = @rngf@

//5.0~24.0までのランダムな小数を取得する
var min = 5.0
var max = 24.0
var n = min + (max - min) * rngf

変数minを定義し、5.0を格納する
変数maxを定義し、24.0を格納する
変数nを定義し、min + (max-min)×[rngf] の答えを格納する

その他の座標

input.x (入力デバイスのx座標)

入力デバイス(タッチ・マウス)の画面上でのX座標を取得します。

input.y (入力デバイスのy座標)

入力デバイス(タッチ・マウス)の画面上でのY座標を取得します。

>(@input.x@, @input.y@)

「([inputのx], [inputのy])」と表示する

screen.i (スクリーン番号)

スクリーン番号を取得します。スクリーン番号は、プレーヤーが右端に到達してカメラが移動すると増加する値です。

>`0,0,スクリーン番号 = @screen.i@

画面上での座標(0,0)に「スクリーン番号 = [screenのi]」と表示する ※

※iは「index(インデックス)」の頭文字です。

screen.x (スクリーンの中心のx座標)

スクリーンの中心地点の、ステージ内でのX座標を取得します。

>`0,0,スクリーンのx座標 = @screen.x@

画面上での座標[0,0]に「スクリーンのx座標 = [screenのx]」と表示する

screen.w (画面の幅)

画面上の横の文字マス目数を取得します。

screen.h (画面の高さ)

画面上の縦の文字マス目数を取得します。

var sw = screen.w
>画面上の横の文字マス目数 = @sw@

変数swを宣言し、画面上の横の文字マス目数を格納する
「画面上の横の文字マス目数 = [sw]」と表示する

var sh = screen.h
>画面上の縦の文字マス目数 = @sh@

変数shを宣言し、画面上の縦の文字マス目数を格納する
「画面上の縦の文字マス目数 = [sh]」と表示する

時刻

time.ms

1970/01/01の協定世界時午前0:00から、現在までの経過時間をミリ秒で取得します。うるう秒は考慮されていません。

>@time.ms@

「[time.ms]」と表示する

time.[日付/時刻型] (端末の日付・時刻)

端末から年・月・日・時・分・秒を取得します。
time.year 年
time.month 月
time.day 日
time.hour 時
time.minute 分
time.second 秒

//現在の日付と時刻を表示する
>`0,0,@time.year@/@time.month@/@time.day@
^ @time.hour@:@time.minute@:@time.second@

画面上の座標(0,0)に「[timeのyear]/[timeのmonth]/[timeのday]
 [timeのhour]:[timeのday]:[timeのsecond]」と表示する

utc.[日付/時刻型] (協定世界時の日付・時刻)

協定世界時の年・月・日・時・分・秒を取得します。
utc.year 年
utc.month 月
utc.day 日
utc.hour 時
utc.minute 分
utc.second 秒

この記事が気に入ったらサポートをしてみませんか?