-0. Mind Stone入門

> Stone Story RPGの案内へ戻る

このチュートリアルでは、以下のことを学びます

マインドストーンを使用してデッドウッドキャニオンを自動でファームする方法:

完了にかかる予想時間:20分

前提知識:

  • ナーガラージャを倒すまでStone Story RPGをプレイ。
  • 場所の途中で武器を変更する戦略的価値を理解。
  • 大釜を建て、ヒーリングポーションを理解。
  • ウロボロスが場所をループさせることを理解。

必要なアイテム:

  • 少なくとも4つ星の剣、盾、クロスボウ。
  • ポーション用の80のタール。
  • 大釜で自動補充を有効にしてください。

マインドストーンは非常に強力な遺物です。
その目的は実行中に武器を変更し、ポーションを使用するなどのアクションを自動化することです。
指示はゲームのAIに供給され、何をすべきかを伝えます。

正しく設定されたマインドストーンは、キャラクターがゲーム内の変更に即座に適応するため、超人的な行動につながります。

また、この遺物はStone Storyのカスタマイズとコスメティックへの入り口でもあります。
他のプレイヤーが行った作業を探索し、さらには独自のものを作成することができます!
ペット、帽子、カスタムインターフェース、ミニゲームなどがあります。

コスメティックとモッディングについて詳しく学びましょう。

マインドストーンの指示はStonescriptと呼ばれる、誰でも使用できるミニマリストな言語で書かれています。タイプできるなら、Stonescriptもできます。 プログラミングの学位は不要です!
ただし、詳細な情報と例を含むStonescriptマニュアルを参照して深く掘り下げることもできます。

助けが必要ですか?スクリプトの共同作業を希望ですか?Discordを訪問してください。

それでは始めましょう!

·:·:· 1. マインドストーンをクリアする ·:·:·

デフォルトでマインドストーンに表示されるすべてのテキストを選択して削除します。

もし望むなら、Bezerraによるヘッダーだけを残しても構いません。
//で始まるテキストは効果を持たず、AIによって無視されます。

ヒント:すべてを選択するショートカットはCtrl + Aです。

·:·:· 2. ヒーリング ·:·:·

 )(
(~≈)
 ¯¯

指示は常識をゲームのAIが理解できる形に変換することに関するものです。

たとえば、死にそうならヒーリングポーションを使用するのは理にかなっていますよね?
それを行うコマンドがあります。次のテキストをマインドストーンに入力してください:

activate potion

これにより、AIに何をするかを伝えます。
場所を訪れるとフレームごとにポーションをアクティブにしようとし続けます。
そして、体力が減少するとすぐにアクティブになります。

ラッキーポーションなどの非ヒーリングポーションを持っている場合、場所を訪れたときにすぐにアクティブになります。
おそらく望んでいる結果ではないので、改善しましょう。もっと完全な指示を考えることができます。

たとえば、次のように言えます:

もし私のヒットポイントが低ければ、ポーションをアクティブにする

これをStonescriptに翻訳して、マインドストーンを次のように変更してください:

?hp < 7
  activate potion

最初の行の「?hp < 7」は質問をしています。

「私のヒットポイントは7未満ですか?」

人間の言語とは異なり、ゲームは行の最初に疑問符を必要とします。
これにより、それが質問であることが明瞭になり、残りの部分を読む方法がわかります(スペイン語のような感じですか?スペイン語だと"¿Mi HP es menor que 7?")。

上の行の前に追加されたスペースに注意してください。 スペースは重要です
なぜなら、このスペースはその行が上の行に依存していることを示しています。
このように、上の質問が「はい」に等しい場合にのみアクティブになります。

·:·:· 3. プレイ ·:·:·

  \|' /´,  
 `|    /  ,
 /\ /  `-´-
 \ò ó` /´  
 |   , (   
 '¡'!| |   
 |-'´ _'-. 
¯'_/`´·\  `

マインドストーンがパワーアップし、新鮮なポーションが調合されたら、危険な場所に移動して、敵からダメージを受けるのを見守りましょう。
ヒットポイントが7未満になると、ポーションが自動的にアクティブになるはずです。

ヒント:
場所の途中でマインドストーンを再度開くには 'M' キーを押します。
ワークステーションに戻る必要はありません。
マインドストーンを閉じて場所を再開すると、スクリプトが再読み込まれ、新しい指示が有効になります。

·:·:· 4. 武器 ·:·:·

│ O__
┼/|)_)
 / \

このチュートリアルの目標はDeadwood Canyonを自動でファームすることです。

基本的な剣と盾の組み合わせは、一部の難易度で場所をクリアするのに十分で、良いスタート地点です。
マインドストーンの最後に以下を追加してください:

equipL sword
equipR shield

equipコマンドは、期待通りのものです。
インベントリから武器を見つけて装備します。
コマンドの右側のテキストは、指示の追加の詳細です。LとRは、武器をどの手に装備するかを示しており、それぞれ左または右を意味します。

多くの剣をインベントリに持っているかもしれないため、どの武器を装備するかを指定するためにさらなる詳細を追加することができます。

たとえば、7つ星の武器であることを指定するには *7を追加できます:equipL sword *7。 追加の詳細がない場合、AIは最良の武器を見つけて装備します。
これはおそらく問題ありません。

   |/) 
 o.-._ 
´ /|`-`
  `'

これは一般的に問題ありませんが、蚊に立ち向かう場合、クロスボウを装備してダメージを回避する方が良いかもしれません。
蚊は非常に弱いですが、大量に襲ってきて大ダメージを与えることがあるためです:

?foe = mosquito
  equip crossbow

キーワードの「foe」を使用すると、AIが現在ターゲットにしている敵を調べ、その敵の種類に基づいて決定を行うことができます。
このequipコマンドにはLまたはRがないことに気付くかもしれません。
クロスボウについては、詳細な指示を加えずにAIに最善の選択をさせます。今のところはシンプルにしておきましょう。

あなたのスクリプト全体は以下のようになります:

?hp < 7
  activate potion

equipL sword
equipR shield
?foe = mosquito
  equip crossbow

この時点で、スクリプトは上から下に実行されることが価値があります。
まずポーションをチェックし、次に剣と盾を装備し、最後に蚊に立ち向かう場合はクロスボウを装備します。スクリプト全体は1秒間に30回実行されます。
Deadwood Canyonに行って、すべてが動作しているか確認してみてください。

スクリプトが成功し、現在の武器に対して適切な場所である場合、Ouroborosで場所をループさせ、何度もファームすることができるはずです。 ポーションのタールが尽きるか、トレジャーでインベントリがいっぱいになるまで続けることができます。

·:·:· 5. 木材 ·:·:·

    \|
     |, |/
  \| |  /-'
`-─\ | /_/─,
    \'//
  '\} {
    { }
    } {
   //\`\

デッドウッドキャニオンの木に近づくと、おそらく木を収穫したいと思うかもしれません。
以下をスクリプトの末尾に追加してください:

?harvest.distance < 10
  equip hatchet

この場合、LとRも必要ありません。
というのも、ハチェットは右側にしか装備できないからです。

最新の変更を試すためにデッドウッドを訪れてみてください!

·:·:· 6. もっとヒーリング ·:·:·

        ____,
    _.-·´ o/`___
  ,´  _.-._\¯¯`-.`.
 /  ,´           `.`.
|  :              | :
|  :.            .' ;
 \  `':.,,,,,..·´ ,´
   `-._       _,-´
        ¯¯¯¯¯

この時点でスクリプトは動作していますが、装備の星の数や場所の難易度によっては、敵からのダメージがまだ多すぎるかもしれません。
スクリプトを改善し、装備したままで時間の経過とともに回復するOuroborosを装備することで改善しましょう。

以下を追加してください:

?foe ! boss & foe.distance > 8
  equipL ouroboros

ここで尋ねられている質問はもう少し複雑ですので、分解してみましょう。

1行目では、最初の部分が foe ! bossという質問で、「敵がボスではない」という意味です。感嘆符は等号の反対を示します。

1行目の2番目の部分は foe.distance > 8で、「プレイヤーからの敵の距離が8よりも大きいですか?」という意味です。
1行目の2つの質問は & 記号で結合され、それは「かつ」を意味します。

この指示全体の意味は次のようになります:

「次の敵がボスでなく、プレイヤーからの距離が8よりも大きい場合、左手にOuroborosを装備します。」

ヒント:
敵の距離が8の場合、Ouroborosは戦闘で使用されます。
これは、ギアのレベルが低い場合に役立ちます。ただし、8の代わりに17を使用すると、Ouroborosは戦闘から除外され、ループ時間が短縮されます。
これはOuroborosの攻撃範囲が17であるためです。
値が8の場合、剣が近接状況で優先されるようになります。

·:·:· 7. アイテムを拾う ·:·:·

   ,
 _/-'

地面にある拾う必要があるものが私たちを遅くしていることに気付くかもしれません。
Deadwood Canyonではそれは木の破片です。
幸いなことに、Star Stone(装備時)はすべてのアイテムを吸い込み、移動速度を大幅に向上させます。

以下を追加してください:

?pickup.distance < 10
  equipL star

foe.distanceと同様に、この指示は次の拾い物がプレイヤーから10単位未満の距離にあるかどうかを尋ねています。
その場合、左手にStar Stoneを装備します。
star以外の名前にstarが含まれているアイテムは存在しないため、starと言うだけでリリックを識別できます。

·:·:· 8. すべてを結合 ·:·:·

Deadwoodのスクリプトは完成しました!
ただし、これらの指示は現在すべての場所で実行されます。おそらく、各場所に特定の指示セットを実行したいと思うでしょう。

したがって、これらをグループ化し、Deadwood Canyonを探索している場合にのみ実行する必要があります。
どの場所にいるかを確認するには、キーワードlocを使用できます。

スクリプトのトップに、以下を追加してください:

?loc = deadwood

ただし、それ以降のすべての行の前にスペースを追加し、それらが場所の質問に依存するようにしてください。スクリプト全体は次のようになります:

?loc = deadwood
  ?hp < 7
    activate potion
  
  equipL sword
  equipR shield
  ?foe = mosquito
    equip crossbow
  
  ?harvest.distance < 10
    equip hatchet

  ?foe ! boss & foe.distance > 8
    equipL ouroboros
  
  ?pickup.distance < 10
    equipL star

ヒント: ここからまたは他のプレイヤーからスクリプトをコピー/貼り付けする場合、Ctrl+C / Ctrl+Vショートカットを使用できます。

·:·:· 次は何ですか? ·:·:·

     .-.
     \ ´ .-.
,-.   )  \ ´
'- `-/¯\-´
 .· /`°´\ ·.
 `-´     `-´

外部リソースとミニチュートリアルへのリンクが以下にあります。

リンク このチュートリアルに問題がある場合や他の場所でヘルプが必要な場合は、Discordを訪問してください。

Stone Storyコミュニティが作成した楽しいコスメティックとミニゲームを発見してください。

もっと深く掘り下げる準備はできていますか? Stonescriptマニュアルで利用可能なすべてを学んでください

ライフスティール

良いライフスティールの剣(dL)がある場合、それを使用してポーションに頼るだけでなく、ヒットポイントを管理することができます。
これにより、生存性が大幅に向上し(およびタールの節約)、生存に貢献します。次のようになります:

  ?hp < maxhp & foe.distance < 7
    equipL sword dL

良い毒の武器(dP)を持っている場合、ボスからのダメージを大幅に軽減できます。
再び、生存性を向上させ、ポーションの必要性を減らすことができます。これにより、最小の装備で高難度の場所に到達できます:

  ?foe = boss & foe.debuffs.count = 0
    equipR dp

このアイデアでは、毒の効果が切れる前に再度毒をかけないように、デバフの数をチェックしています。

アビリティ

プレイヤーは、ダッシングシールド、トリスケリオン、さらにはクォータースタッフのアビリティを利用してループタイムを大幅に向上させることがあります。例えば:

  ?foe.distance >= 11 & foe.distance <= 16
    equipR dashing
アビリティのアクティベーション

ここからはもう少し複雑になります。プレイヤーからよく寄せられる質問の一つは、アビリティをどのようにアクティベートするかです。
ハチェットやブレード・オブ・ザ・フォールン・ゴッドなどのアイテムは比較的簡単ですが、多くのトラブルを引き起こす重要なアイテムの一つはバルディッシュです:

?foe = boss & foe.distance <= 10 &
^item.GetCooldown("bardiche") <= 0 |
^item.GetCooldown("bardiche") > 870
  equip bardiche
  activate R

新しいシンボルのいくつかに注目することになるでしょう。
^は前の行を継続する方法を示し、|は「または」を意味します。

この例では、バルディッシュの特殊アビリティをボスに対して(?foe = boss)使用することを考えています。
アビリティをアクティベートする際には、equip bardicheを呼び出し、activate Rを呼び出します。
また、item.GetCooldown()を使用してバルディッシュのスーパーアタックのクールダウンを確認しています。
クールダウン情報を使用して、アビリティのアクティベーション中にのみ装備を保持するようにします。

一部のアビリティのアクティベーションは瞬時に行われますが、バルディッシュには「キャスト」時間があり、その間に装備を保持する必要があります。

ゲームではキャスト中に別の装備を装備することができますが、アビリティがキャンセルされ、クールダウンに入ります。それが870の値の由来です。
クールダウンの値はフレームで表されます。1秒は30フレームに相当します。
バルディッシュのクールダウンは30秒で、これは900フレームに相当します。
キャスト時間はおおよそ1秒なので、870フレームに相当します。

バルディッシュの動作をより視覚化するために、次のコードを追加してみてください:

var cd
cd = item.GetCooldown("bardiche")
>`0,0,Bardiche cooldown = @cd@

上記のコードスニペットは、クールダウンを画面の左上に表示します。
バルディッシュのアビリティをアクティベートして、クールダウンが900に上昇し、ゼロに戻る様子を確認できます。

入門とあわせて読みたいページ(個人的に追加)

17. ·:·:· ヒント ·:·:· - Stone Story RPGを機械翻訳 + 備忘録より一部抜粋

スペース(インデント)は、'?'の比較(スコープ)の結果として何が起こるかを定義する際に重要です。

複数のequipコマンドが呼び出された場合、最後に呼び出されたものが実行されます。
スクリプトは1秒あたり30回実行されます(1フレームごとに1回)。

インデントは全角スペースだとエラーになります。
半角スペース(またはTAB)を利用しましょう!
半角スペースとTABの混在はエラーの原因となるので、インデントの記入はどちらかに統一してください。

discordのスクリプトを引用する事が多いなら主流となる 半角スペース2つを1セットにするのがオススメです!

次はManualを読んでみよう!

Mind Stone入門を終えたらManualを読んでカスタマイズしてみよう!

▲ 上に戻る


> Stone Story RPGの案内へ戻る