一括表示

記事No: 21264
タイトルキャラメイキング
投稿日: 2021/03/20 21:08
投稿者ウディタ初心者 [reFrippL354(海外)]

[やりたいこと]
ウィザードリィのようにキャラメイクをゲーム開始時にやりたい(特に種族設定でキャラの耐性を変更したい)

[やってみたこと]
とりあえず一人のキャラクターを×種族分設定、タイトル後のキャラメイクで選びたい種族設定になっているキャラを選ぶ(たとえば、2番目のキャラ設定を人間、エルフ、ドワーフ、ホビット…と用意しておき、ドワーフにしたい場合はドワーフの設定になっているキャラ2を選択。パーティチェンジする。)
[やってみた結果、どううまくいかないか]
…と考えてみたのですが、
まず可変0主人公ステータスのN番目のキャラをパーティN番目のキャラに加える方法がわかりません。


記事No: 21265
タイトルRe: キャラメイキング
投稿日: 2021/03/22 01:26
投稿者YADO [LerLWW459(海外)]

ゲーム開始時にパーティ内に主人公が居ない状態、または先頭の主人公が固定キャラならば、
その先頭の主人公だけしかいない初期パーティを可変DB[6:パーティー情報]に設定しておき、
ゲーム開始時に主人公を選択した時に、
■イベントの挿入[名]: ["○メンバーの増減"] <コモンEv 5> / 0:仲間に加える / 1:主人公01
のような設定を実行すれば、選択した順番でパーティ内の主人公が設定されるでしょう。


既にパーティに4人いる状態で、前から二番目の主人公を主人公[5]に変更する場合は、
■可変DB書込:DB[ パーティー情報 : 0 : 2 ] (6 : メイン設定 : メンバー2) = 5
■イベントの挿入[名]: ["X[移]パーティー情報計算"] <コモンEv 79>
■イベントの挿入[名]: ["X[移]パーティー画像再設定"] <コモンEv 80>
の設定で変更できます。


現状の設定がどんな感じなのかが不明ですが、例えば…
データID[0]=1人目の主人公「人間」
データID[1]=1人目の主人公「エルフ」
データID[2]=1人目の主人公「ドワーフ」
データID[3]=1人目の主人公「ホビット」
データID[10]=2人目の主人公「人間」
データID[11]=2人目の主人公「エルフ」
データID[12]=2人目の主人公「ドワーフ」
データID[13]=2人目の主人公「ホビット」
データID[20]=3人目の主人公「人間」
データID[21]=3人目の主人公「エルフ」
データID[22]=3人目の主人公「ドワーフ」
データID[23]=3人目の主人公「ホビット」
と言った感じで主人公を設定している場合は、初期パーティに誰も設定していない状態で、
以下のイベントを実行すると主人公が設定されます。

(4人パーティの設定)
■変数操作: このEvのセルフ変数0〜このEvのセルフ変数1 = 0 + 0
■回数付きループ [ 4 ]回
|■変数操作: このEvのセルフ変数0 += 1 + 0
|■文章:\self[0]人目の主人公を選択
|■文章選択肢:/ 【1】人間 / 【2】エルフ / 【3】ドワーフ / 【4】ホビット
|-◇選択肢:【1】 人間 の場合↓
| |■
|-◇選択肢:【2】 エルフ の場合↓
| |■変数操作: このEvのセルフ変数1 += 1 + 0
| |■
|-◇選択肢:【3】 ドワーフ の場合↓
| |■変数操作: このEvのセルフ変数1 += 2 + 0
| |■
|-◇選択肢:【4】 ホビット の場合↓
| |■変数操作: このEvのセルフ変数1 += 3 + 0
| |■
|◇分岐終了◇
|■イベントの挿入[名]: ["○メンバーの増減"] <コモンEv 5> / 0:仲間に加える / このEvのセルフ変数1
|■変数操作: このEvのセルフ変数1 = このEvのセルフ変数0 * 10
|■
◇ループここまで◇◇


WoditorEvCOMMAND_START
[121][5,0]<0>(1100000,0,0,65536,1)()
[179][1,0]<0>(4)()
[121][4,0]<1>(1100000,1,0,256)()
[101][0,1]<1>()("\self[0]人目の主人公を選択")
[102][1,4]<1>(20)("人間","エルフ","ドワーフ","ホビット")
[401][1,0]<1>(2)()
[0][0,0]<2>()()
[401][1,0]<1>(3)()
[121][4,0]<2>(1100001,1,0,256)()
[0][0,0]<2>()()
[401][1,0]<1>(4)()
[121][4,0]<2>(1100001,2,0,256)()
[0][0,0]<2>()()
[401][1,0]<1>(5)()
[121][4,0]<2>(1100001,3,0,256)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[300][4,1]<1>(0,2,0,1100001)("○メンバーの増減")
[121][4,0]<1>(1100001,1100000,10,8192)()
[0][0,0]<1>()()
[498][0,0]<0>()()
WoditorEvCOMMAND_END


以下は特殊な設定方法なので参考までに書いたものです。

▼可変DBを書き換える
可変DBを書き換えてキャラ設定を変更する方法があります。

例えば可変DB[0:主人公ステータス]のデータID[1]を「人間」で設定しておき、
初期パーティでパーティの二番目にデータID[1]の主人公を設定しておきます。

そして「エルフ」を選択した場合は、
■可変DB書込:DB[ 主人公ステータス : 1 : 肩書き ] (0 : 主人公01 : 1) = エルフ
■可変DB書込:DB[ 主人公ステータス : 1 : 歩行グラフィック画像 ] (0 : 主人公01 : 2) = CharaChip/エルフ.png
■可変DB書込:DB[ 主人公ステータス : 1 : 最大SP ] (0 : 主人公01 : 9) = 90
■可変DB書込:DB[ 主人公ステータス : 1 : [成長]最大SP増加 /1Lv ] (0 : 主人公01 : 19) += 2
■可変DB書込:DB[ 主人公ステータス : 1 : [成長]敏捷性増加 /1Lv ] (0 : 主人公01 : 24) += 2
■可変DB書込:DB[ 主人公ステータス : 1 : 装備可能タイプ2 ] (0 : 主人公01 : 37) = 5
のような設定で、エルフ用の設定に書き換える方法です。
(「技能習得Lv」や「属性耐性」なども同様に設定)

この場合はパーティ内の主人公を入れ替える必要がなく、
また種族ごとに可変DBに主人公を準備する必要がありませんが、
種族ごとに可変DBの設定を書き換える設定が必要であり、
ウディタの扱いに慣れていない方にはあまりお勧めできない設定方法です。

まあ種族の違いは複数の主人公を用意して対応し、同じエルフでも何らかの選択(戦士系or魔法系など)で、
「最大SP+5」程度の小規模な違いが発生する場合は、可変DBの書き換えで対応するなど、
「複数の主人公を準備+部分的に可変DBの書き換えで設定」と言った併用設定にも使えます。


▼可変DB内の他のデータIDの情報をコピー
基本となる種族設定を主人公[10]以降に設定しておき、
1人目で「人間」を選択したら、主人公[10]の人間の設定を主人公[0]にコピー。
2人目で「ドワーフ」を選択したら、主人公[12]のドワーフの設定を主人公[1]にコピー。
3人目で「人間」を選択したら、主人公[10]の人間の設定を主人公[2]にコピー。
と言った設定方法です。


記事No: 21266
タイトルRe: キャラメイキング
投稿日: 2021/03/25 00:03
投稿者ウディタ初心者 [reFrippL354(海外)]

ありがとうございます!
結局キャラを×種族分つくるとせず、装備品に耐性設定して、装備を変更、パラメータを増減していく方法で対応しました。炎に強いが氷に弱い種族などを設定したかったので。