Introduction to Properties/ja: Difference between revisions
m (property の訳語を特性値(もしくはキャンペーン設定)に変更 ※途中) |
m (→プロパティの作成) |
||
Line 87: | Line 87: | ||
こいつはなかなかイカしたものだ。このテキストエリアでは、君の思いつくあらゆるプロパティを作ることができ、RPGキャラクターで使用するような数値やデータを可能な限り再現することが可能だ。 (RPGキャラクターが持っていないプロパティを持つことも可能だ。ユーザーの多くは、マクロを記述するときに有用なプロパティを作るが、そういったプロパティはキャラクターシートには存在しないのが普通だ!) | こいつはなかなかイカしたものだ。このテキストエリアでは、君の思いつくあらゆるプロパティを作ることができ、RPGキャラクターで使用するような数値やデータを可能な限り再現することが可能だ。 (RPGキャラクターが持っていないプロパティを持つことも可能だ。ユーザーの多くは、マクロを記述するときに有用なプロパティを作るが、そういったプロパティはキャラクターシートには存在しないのが普通だ!) | ||
== | ==特性値の作成== | ||
=== | ===初期値を持たない特性値=== | ||
[[Image:Basic-default-props.png|thumb|Basic | [[Image:Basic-default-props.png|thumb|Basic 特性値セットの初期の特性値セット]] | ||
<div style="color:gray">If you look at [[Sample_Ruleset#Primary_Attribute|MTRPG's Primary Attributes]], you will see that there are four separate attributes that are the basic attributes of a character: ''Strength'', ''Dexterity'', ''Intelligence'', and ''Endurance''. We're going to get rid of the default properties, and put new ones in their place.</div> | <div style="color:gray">If you look at [[Sample_Ruleset#Primary_Attribute|MTRPG's Primary Attributes]], you will see that there are four separate attributes that are the basic attributes of a character: ''Strength'', ''Dexterity'', ''Intelligence'', and ''Endurance''. We're going to get rid of the default properties, and put new ones in their place.</div> |
Latest revision as of 03:01, 18 December 2024
キャンペーン設定(Campaign Properties)
MapTool の最も気の利いた機能の一つは、マクロで操作したり、情報のクイック表示を作成することが可能な特性値の集まりをトークン自身に付属させ持ち歩かせることができることだ。基本的にトークンの特性値は MapTool に組み込まれたキャラクター・シートのようなものだ。
ではあるが、便利な機能であるため MapTool の開発陣は特性値を使用したり操作したりする多くの異なる方法を作成してきた。このガイドでは、キャンペーン設定セット(Campaign Property Sets)を作ること、初期値を持つ特性値を作ること、作成したセットを使ってデータシート(Statsheet)を操作することに取り組む。
サンプルルールセット、または MTRPG
このチュートリアルを案内する上で分かりやすい例を示すため、一部の MapTool ユーザーと開発者はサンプルルールセット(特にMapToolの重要な要素を説明するために開発された簡単なロールプレイング・ゲーム・システム)を作り上げた。このガイドでは、このルールを MapTool RPG(もしくは略してMTRPG)と呼び、新しいキャンペーンファイルを作成し、MTRPGの特性に合うキャンペーン設定を設定していく。
キャンペーン設定ウィンドウ
まず、キャンペーン設定の作業を始めるために、編集 → キャンペーン設定 を選択し、キャンペーン設定ウィンドウを開く。このウィンドウには、いくつかのタブと多くの情報がある。
キャンペーン設定のウインドウを開いときに6つのタブがあることに気付くだろう。それぞれのタブを簡単に説明しよう:
- Token Properties: this houses all the property sets that a token in the current campaign may have
- Repositories: this is where you can designate an online "repository" to hold campaign files, especially images, to improve load times and speed when you host or play an online game
- Sight: this tab is where you configure the settings for vision in the current campaign
- Light: this tab is where you configure light sources and auras for the current campaign
- States: this tab lets you configure token states for the current campaign
- Bars: this is where you configure token bars for the current campaign
- トークン特性値:キャンペーンで利用可能な全ての特性値セットが収録されている。
- 配信素材置き場:キャンペーン・ファイル(特に、オンラインでのゲームを楽しむために読み込み時間を短縮するために)を取り入れるため、オンラインの「配信素材置き場」を指定することができる。
- 視覚:このタブで、現行のキャンペーンで使用する視覚の設定を編集する。
- 照明:このタブで、現行のキャンペーンで使用する光源とオーラの設定を編集する。
- 状態:このタブで、現行のキャンペーンで使用するトークン状態を編集する。
- バー:ここでは、現行のキャンペーンで使用するトークン・バーを編集する。
このガイドでは、最初のタブトークン特性値だけに取り組む予定だ。
特性値のタブ
最初に表示されるタブは特性値のタブだ。ここに表示されているものは比較的単純なものであるが、出発点としてふさわしい要素を備えている。このタブには以下の3つのテキストフィールドが備わっている:
- Name: this is the name of the property set you're currently viewing. When you open the campaign properties window, this is blank.
- Type: this column on the left side is not editable, but it will list the names of all the available property sets in the current campaign. If you have no campaign loaded, the only entry will be Basic
- A large text area where you enter the properties for the current campaign. It will be blank when first loaded, but if you select a property set from the Token Type list on the left side, you will see the names and default values of the properties in that set.
- Name:現在表示している特性値セットの名称。キャンペーン設定を開いたときは空白になっているはずだ。
- Type:この左の列にあるものは編集することができないが、現行キャンペーンで使用可能な全ての特性値セットの一覧が表示される。まだキャンペーンを読み込んでいなければ、ここにはBasicだけが表示されている。
- 大きなテキストエリアは、現行キャンペーン用のプロパティを編集する場所だ。最初にロードしたとき、ここは空白であるが、左側の Token Type の一覧からプロパティ・セットを選択すると、そのセットの名前と初期値の一覧が表示されるであろう。
Type(種類)
このフィールドには現行キャンペーン用に作成した異なるいくつかのプロパティの種類(プロパティ・セットとみなして構わない)が並ぶことになる。まだキャンペーンをロードしていないのであれば、標準のプロパティ・セットはBasicと呼ばれる。Type フィールドはユーザーが直接編集することはできない。
Name(名称)
これは単純なテキストフィールドであり、プロパティ・セットに付ける名称を入力することが可能だ。プロパティ・セットを更新する際、この名称が左側のTypeの一覧に表示され、プロパティ・セットの固有名称となる。名称は自由に決めれば良い。例えば、多くのユーザーは、NPCの状態や特徴がプレイヤー・キャラクターと異なるゲーム用に、NPCという名称を付けてプロパティ・セットを作っている。
Properties(プロパティ)
こいつはなかなかイカしたものだ。このテキストエリアでは、君の思いつくあらゆるプロパティを作ることができ、RPGキャラクターで使用するような数値やデータを可能な限り再現することが可能だ。 (RPGキャラクターが持っていないプロパティを持つことも可能だ。ユーザーの多くは、マクロを記述するときに有用なプロパティを作るが、そういったプロパティはキャラクターシートには存在しないのが普通だ!)
特性値の作成
初期値を持たない特性値
MTRPG's Primary Attributes(MTRPG の主要な特性値)では、キャラクターの基本的な特性である4つに分類された特性値、「 Strength、Dexterity、Intelligence、Endurance」を見ることができる。では始めからあるプロパティを取り除き、新しいプロパティを作り上げていこう。
1. Edit → Campaign Properties を開く。左側にある Token Type の下に Basic の項目だけがあるが確認できるだろう。ここでは新しいプロパティ・セットを作っていく。
2. Token Type の一覧から Basic を選択する。すると、「@」や「#」などの記号を伴ったたくさんのプロパティが表示される。
3. テキストエリアのすべてのプロパティをマウスを使って選択し、キーボードの「Delete(削除)」を押す。遠慮は無用。やっちまえ!
4. Name フィールドだけはそのまま残す。MapTool は Basic プロパティ・セットが必ず必要なので、この名称を変更することはできない。
5. Name フィールドの下にあるテキストエリアにMTRPGの4つの主要特性値を次のように入力する。
Strength
Dexterity
Intelligence
Endurance
入力を終えたら、君のプロパティ・ウィンドウは右のスクリーンショットのようになっているはずだ。
6. 必要なプロパティを入力し終えたなら、Update ボタンをクリック。おっと驚かなくても大丈夫!プロパティは消え去るが、左の一覧からBasic を選択すれば先程入力したプロパティが再びテキストエリアに表示される。
7. 編集結果の確認と'キャンペーン・プロパティウィンドウを閉じるためOKをクリックする。
8. File → Save Campaign Asを選択し、このキャンペーンを MTRPG.cmpgn として保存する。これで新しいキャンペーン・プロパティのセットを持つ、新しいキャンペーン・ファイルが出来上がった。
このようなプロパティ(順々に値が並んでいるような)を作りトークンを開くと、値がない同じプロパティを確認できる。値がないことはゼロや空白行ではなく、文字通り no value(値なし) という状態だ。これはほとんどの用途で意味を持たないが、マクロを記述するにあたり重要な違いとなる(プログラミングでは、空の文字列なのか、空の値なのかが大きな違いなんだ!)。
プロパティを更新すると、マップ上のすべてのトークンは新しいプロパティに更新され、マップ上に新規に作られるトークンは君の作ったプロパティが「受け継がれて」いる。
注:プロパティ名に空白を入れてはいけない。Hit Points というプロパティを作るのであれば、HitPointsと入力する必要がある。
訳注:日本語のプロパティ名も作れるようだが、マクロの利用などで問題がでる可能性がある。(未確認)
初期値を持つプロパティを作る
現在の MTRPT では、特性値の最小値は1となっている。ということで、プロパティの「初期値」に1を設定するとは理にかなっている。(つまり、新しいトークンは少なくとも最小の特性値を持つようになるということだ)やりかたは次の通り:
1. キャンペーンプロパティのウィンドウを開く
2. Basic プロパティ・セットを選択。
3. Basic プロパティ・セット内のプロパティを次のように編集する(画像を確認しても良い):
Strength:1
Dexterity:1
Intelligence:1
Endurance:1
4. Updateをクリック。
各特性名の末尾にコロンを置き、その直後に数字の1を記述することで、MapTool にそれぞれの初期値が1であることを指示することになる(つまり、コロンの後に置いたものはなんであってもそのプロパティの初期値となる)。トークン・プロパティのタブの下部にある、プロパティに取り付け可能なさまざまな「Key」の説明の中に上記の内容があることに気付くであろう。
その後、マップ上に新しいトークンをドラッグし、プロパティを確認する(トークンをダブルクリックして'Edit Tokenダイアログのプロパティタブを開く)と、この新しいトークンが初期値を持っていることが確認できるだろう。
ちなみに:君が既にプロパティに値を設定したトークンのことは心配しなくて良い。初期値を作ったり変更したりしても既に値を設定したプロパティが「上書き」されることはない。MapTool はこのあたりを賢く取り扱う。
データシート(Statsheet)にプロパティを表示する
MapTool は データシート(Statsheet) という素敵な機能を持っている。はじめてのトークンで簡単に説明しているように、基本的には、トークン上にカーソルをかざしたときにマップの左下隅に表れるものだ。
君は「ちょっと待ってくれ。トークン上にカーソルを持っていってもデータシートは表示されないぞ!どこにあるんだ?」と言うに違いない。データシートが表示されないのは、データシートは「(より大きなトークン画像に沿って)トークンのプロパティを表示する」というものであるが、次の二つの条件を満たす必要があるからだ:
- The properties are set up to display on the statsheet; and
- The properties that are displayed actually have a value
- プロパティをデータシートに表示するように設定し、
- プロパティに実際の値を与える
プロパティを表示するために必要なこと
Campaign Properties ダイアログの 'Token Properties のタブの下部を見れば、データシートにプロパティを表示する方法を記した記号一覧(Key)が確認できるはずだ。ここには3つの選択肢があり、それぞれ、シンボルをプロパティ名の先頭に置くよう示されている:
- *: an asterisk means "show this property on the statsheet"
- @: means "only show this property to the owner of the token (and the GM)"
- #: means "only show this property to the GM (not even the token owner can see it)"
- *:アスタリスクは「このプロパティをデータシートに表示する」という意味。
- @:「トークンの所有者(およびGM)にのみプロパティを表示する」という意味。
- #:これは「GMにのみプロパティを表示する(トークンの所有者であっても表示されない)」という意味。
アスタリスクはどのようにデータを表示するにしても必須であり、アスタリスクを付けなければ他の記号をおいても何も表示されない。アスタリスクと異なり、@ と # の記号は必須ではない。
というわけけで、新しいゲームでは全てのプロパティをみんなが見えるようにするつもりだ(アスタリスクを使って)。そのために、プロパティを開いて、次の ように編集してくれ:
*Strength:1
*Dexterity:1
*Intelligence:1
*Endurance:1
これで、トークン上にカーソルをかざすと上のスクリーンショットのようにデータシートが表示されるだろう。データシートには特性値を伴った「Strength、Dexterity、Intelligence、Endurance」のプロパティが表示されているはずだ。これまでと同じように、新しく作られたトークンは初期値を持っているので、全てのトークンにデータシートが表示されるであろう。
短縮名
ときどき、プロパティ名が長すぎるときがある(見づらく、スペースが足らなかったり他いろいろ)MapTool では各プロパティに「短縮名」を設定することができる。これをするためには、括弧でくくった短縮名をプロパティの後ろに置くだけで良い。次のように:
*Strength(Str):1
*Dexterity(Dex):1
*Intelligence(Int):1
*Endurance(End):1
ここで設定した短縮名はプロパティの長い名称の代わりにステータスシート上に表示される。
短縮名は表示のためだけに使用される。マクロでプロパティを参照する場合は必ず本来の名称を使用すること。
連動プロパティを作成する
よーし、次はとてもクールことをやってみよう。多くのRPGでは、キャラクターの特性値は他のデータと連動して導かれる。例えば、Savage Worlds のルールでは、Parry の値は Fighting の能力を基準にしている。同じようにダンジョンズ&ドラゴンズでは、ヒット・ポイントは【耐久力】の値が部分的に関係している。
今のところ、君は連動プロパティ以外(個別のプロパティとトークン作成時に手動で値を入力するプロパティ)を作ることができるが、どのようにして値に連動する計算をすればよいのだろうか?MapTool のキャンペーン・プロパティの値は数値やテキストだけではなく、トークンの持つ他のプロパティに基づく計算式や方程式でも構わない。
MTRPG では、3つの連動データがある: Hit Points、Armor、Movement。各項目は短縮名「HP」、「AR」、「MV」を持つ。今回の例では、「Hit Points」と「Movement」を他の値から算出するものを作ってみよう。Armor については今後の課題にしてこう。(Armor の値を導き出すのは少し複雑な計算になり、速度の低下を招くだろう。)
まず、この3つの連動する値を持つプロパティを追加しなければならない:
1. Basic プロパティ・セットを開く。
2. Endurance の下に次のように入力する:
*HitPoints(HP)
*Armor(AR)
*Movement(MV)
初期値を設定していないことに気付いただろうか。まだ Update をクリックしないように。続いて連動する値を作るためにマクロコードを入力していこう。
MTRPG のルールを見ると、Hit Points は Enduarance を6倍したものだと書かれている。キャンペーン・プロパティでのこの計算手順は実に単純だ。Hit Points のプロパティを次のように編集する:
*HitPoints(HP):{Endurance * 6}
ここでは、プロパティの初期値を入力(初期値はコロンの後に置くことを憶えているかな)し、MapTool にプロパティの値を求めるために計算を実行することを命令するマクロコードを使用する、ということを行った。ここには2つの発見がある:
- We've enclosed the calculations in { }, which warns MapTool that the text enclosed inside the brackets is to be handled like a macro, and not just plain text
- Inside the brackets, we've said, "Find the value of the Endurance property, multiply it by 6, and make that result the value of the Hit Points property"
- 計算式を { } で囲ってあり、これはMapTool に括弧の中のテキストは通常のテキストではなく、マクロのように扱うよう伝えるものだ。
- 括弧の中では次のように述べている。「Endurance のプロパティの値を見つけ、6倍し、計算結果を Hit Points の値とするように」。
次は Movement を扱うが、この作業は実に単純だ:Dexterity のプロパティの値を見つけ、同じ値を Movement プロパティの値としてテイ要する必要がある。ではやってみよう。Movement のプロパティを次のように編集する:
*Movement(MV):{Dexterity}
作業を終えたなら、全体のプロパティセットは次のようになっていはずだ:
*Strength:1
*Dexterity:1
*Intelligence:1
*Endurance:1
*HitPoints(HP):{Endurance * 6}
*Armor(AR)
*Movement(MV):{Dexterity}
これでマウスカーソルをトークン上にかざすと、データシートには右のスクリーンショットの用に表示されるはずだ。Armor プロパティはデータシート上に表示されべきと言ったが、データシートに表示されるは値を持つプロパティだけであることを忘れないように。Armor はまだ空なので値を与えるまでは表示されない。
技術的な情報を少しばかり
トークンのプロパティに関するこのガイドと他のガイドでは次のように「このキャンペーンで表示されるプロパティ」や「このキャンペーンのために設定されたプロパティ」というように説明されている。このような言い回しをするには理由がある。
トークンは大量の情報が詰まったXMLファイルだ。画像、トークンのサイズ、光源、形状、当然ながらトークンの持つプロパティといった情報を持っている。ここで理解するために重要なことは、トークンが記憶するのは MTRG に由来するモノだけではなく、.rptok ファイルとして保存されたものや他のキャンペーンファイルで作らたものであった場合、そのキャンペーンと同じものを記憶しているであろう、ということだ。それらは表示されはしないが、トークンの中に格納されている。
実際には、キャンペーンプロパティのセットは現実に次にあげるプロパティのことを指す:
- You can see if you open up a token by double-clicking on it, and
- You can directly edit by clicking in the cell next to them
- トークンをダブルクリックしてトークンを開いたときに表示されるもの、及び
- プロパティ名に続くセルをクリックして直接編集できるもの
これは大惨事の原因のように思えるかもしれないが、君が既に設定済みであり表示されていないプロパティを設定した場合はどうなるのだろうか?幸いにも、マクロを実行する際、MapToolは表示されないプロパティへのアクセスを試みることはない。君が2つの特殊なマクロ関数を使って明確にそうするように指示しない限りは。安全のため、キャンペーンプロパティで設定されていないプロパティにうっかりアクセスすることはできないようになっている。
手短に言えば、あるプロパティタイプ(標準の Basic プロパティタイプとする)が HP という名のプロパティを持つ場合、それは HP というXMLの名前でトークンの中に格納されている。他のプロパティタイプ(ユーザーが定義したPathfinderプロパティタイプとする)が同じように HP という名のプロパティを持つ場合、どちらもトークン上の同じデータを参照する。トークンが Basic であるときに HP の値を修正し、トークンを Pathfinder に切り替えると HP の値は同じものが表示される。
次のステップ
MaptTool はとても複雑なプロパティとたくさんの数学関数と演算能力を備えた連動プロパティをサポートしている。使ってみたくなるであろう機能の中でもっとも一般的なものを2、3紹介しよう(以下に上げる例はMTRPGのものとは限らず、ただの例である):
- Basic math operators: addition (+), subtraction (-), multiplication (*), and division (/)
- Example: HitPoints: {Endurance * 6}
- Rounding: there are some functions to let you round numbers when you divide
- Floor: the floor() function rounds down. Example: HitPoints:{floor(Constitution / 2)} would divide Constitution by two, and round down
- Ceiling: the ceil() function works like floor(), but rounds up. Example: HitPoints:{ceil(Constitution/2)}
- 基本的な数学の演算:足し算(+)、引き算(-)、掛け算(*)、割り算(/)
- 例:HitPoints: {Endurance * 6}
- 数値を丸める:割り算の際、数値を丸めるためにいくつかの関数がある。
- 切り捨てる:floor() 関数は端数を切り捨てる。例:HitPoints:{floor(Constitution / 2)} Constitution を2で割り、端数を切り捨てる。
- 切り上げる:ceil() 関数は floor() と同様に機能するが端数を切り上げる。例:HitPoints:{ceil(Constitution/2)}