ボス戦などで、一度だけ発動させたい特別な技の作り方。
例)ボスのHPが半分になると仲間を呼び出す

1.UDBの技能に「仲間呼び出し」の技をイベント呼び出しで作成

2.ボスのAI行動の一番上に、自分HP50以下で「仲間呼び出し」を選択
その下はボスが使う技などを通常通りに入れておく

3.コモンイベントに「仲間呼び出し」を作り
■色調変更:(フラッシュ) R200 G200 B200 / 50フレーム
■イベントの挿入: コモン29:[ ◆[戦闘用]敵キャラの追加 ] / 3:敵位置4 / 80:手下 / 1:強制上書き
■変数操作: CSelf2 = 1999 + 0
無題

■DB読込(ユーザ): ユーザDB(10,65,0)[ボスA <アクション1>条件▼▼▼  ] = ユーザDB[CSelf2:CSelf2:CSelf2]

無題
(敵キャラを追加した後、二度とイベントが起こらないように
ボスAI行動の条件を上書きしておく)

4.技能「仲間呼び出し」にこのコモンイベントを設定して完成☆

ボスキャラのHPが50%くらいなら大丈夫ですが
残り5%とかギリギリでイベント入れたい場合は
イベント起こる前にクリティカルとかで倒されてしまう可能性があるので
ボスを不死身にしておく必要があります。参考↓

●敵キャラを確実に変身させる【バトル中イベント】
http://amntudi.blog.fc2.com/blog-entry-262.html

(追記)
UDBへの変更はセーブorロードしてしまうと無効になってしまいます。
ですので戦闘中にセーブorロードされることのない
「逃走不可」の戦闘にのみこのイベントは有効です。


関連記事
 

アイテムを全て没収後、元に戻す

ホームに戻る

comment iconコメント

comment avater

管理人

カリカリさんへ返信3

Ver2.24をダウンロードして、武器の攻撃力を変える方法を試してみましたが、数値が変わってくれませんね。
マップと戦闘ではまた処理する箇所が違ってくるのかもしれません。
このへんはウディタ内部の処理についてだいぶ詳しくないと難しいですね…
私もあまり分からずに、適当にやってみたらたまたまできたというものばかりですので
各自でアレンジ・発展していってもらえればと思います。

2019/05/17 08:02

comment avater

カリカリ

あ、ちなみに武器攻撃力変更は「ゲーム中のUDB変更を試すのに
手っ取り早く分かりやすいからやった」だけで、特に拘っている
わけではないです。

2019/05/16 13:43

comment avater

カリカリ

武器攻撃力の変更は戦闘中でなくマップからコモンイベントを呼び出して
実行しています。当記事のと同一の方法です。
しかし実行後に装備欄から武器攻撃力を確認すると0になってしまいます。

ただ、以下リンクの方法を使うとゲーム中にUDBを変更することができました。
http://alphastella07ks.blog.shinobi.jp/開発関係/ウディタの中級者上級者向け小ネタ集第1弾#11

以下は最新のサンプルゲームの武器「ダガー」を攻撃力100に変化させたコードです。

■DB読込(ユーザ): CSelf1[変化前の値] = ユーザDB[ 武器 : ダガー : 攻撃力増減 ] (3 : 0 : 8)
■変数操作: CSelf0 = 3 - 100
■変数操作: 可変DB[CSelf0:0:8](×NoData) = 100 + 0
■DB読込(ユーザ): CSelf2[変化後の値] = ユーザDB[ 武器 : ダガー : 攻撃力増減 ] (3 : 0 : 8)
■文章:ダガーの攻撃力を \cself[1] から\cself[2] へ変更しました。

うーん上手くいったりいかなかったり。そもそもUDBを変化させるということ自体が
力業なのでしょうけど。でも色々と使い道はありそうですね。

2019/05/16 12:48

comment avater

管理人

カリカリさんへ返信2

> 具体的には「武器の攻撃力をセルフ変数を代入して変更する」ということをやっているのですが、どんな数値を代入しても変更後は「0」になってしまいます

ウディタでは戦闘開始時に武器や防具やキャラステータスなどの数値を
一度全部可変データベースの戦闘一時ステータス10~14あたりに移して
それを読み込んで、ダメージ計算などをしているようなので(?)
武器の攻撃力などを戦闘中にUDBから変更しても、おそらく反映されないと思います。
(私もあまりウディタ内部の動きについて詳しくないので、定かではないのですが)

なので戦闘中に武器の攻撃力を変えたかったら、
可変DBの10.10.9(基本攻撃力)とか、10.10.18(装備中の武器)などを
DB操作でいじってみたら、できるかもしれません。

2019/05/16 06:35

comment avater

カリカリ

ご回答ありがとうございます。
「UDBの変更は再起動しないと反映されない」というのは私の勘違いだったようです。失礼致しました。

ただ、コモンセルフ変数をUDBの項目へ代入するという方法は、私の場合はどうもうまく動作させられていません(Verは2.24)。

具体的には「武器の攻撃力をセルフ変数を代入して変更する」ということをやっているのですが、どんな数値を代入しても変更後は「0」になってしまいます(コモンセルフ変数に「500」を入れてそれをUDBへ上書きしても、「500」ではなくなぜか「0」になってしまう)。

なので、当記事における「アクション条件1を数値『1999』に変更」処理も実は1999でなく『0』に変わってしまっている、のではないかなーと思ったりします(アクション条件に『0』の項目がないので結果的に実行されない状態になっている?)。

でもうまく動作させられるなら「戦闘中に敵行動AIを変化させる」というのはとても面白いですね。「特定のアイテムを使うと行動を弱体化させられる」みたいなこともできそうですし。

2019/05/16 05:44

comment avater

管理人

カリカリ さんへ返信

コメントありがとうございます。
UDBへの入力方法がちょっと分かり辛かったですね。
画像を追加しておきます。

>「UDBはゲーム開始時に一括で読み込まれる&変更がセーブデータに
反映されない」

その通りです。なのでセーブ&ロードされてしまえば変更は無効になってしまいますが、
戦闘中にセーブ&ロードされることはないので、戦闘中だけは有効になります。
(なのでこのイベントを使えるのは、逃走不可の戦闘のみということになりますね)

こちらでの環境(ウディタVersion2.10)では正常動作を確認していますが、
その他Verや最新版ではもしかしたらうまく動作しないかもしれません。
Version2.10での作成ということもプロフ欄に追記しておきます。

2019/05/16 01:31

comment avater

カリカリ

何度も連投大変申し訳ありません。
UDBへ代入する方法もわかりました。変数呼出値ですね。
(↓こんな感じ)
■変数操作: CSelf2 = 1999 + 0
■DB読込(ユーザ): ユーザDB(13,1,0)[ゴブリン <アクション1>条件▼▼▼ ] = ユーザDB[ ┣ 敵行動AI : ゴブリン : CSelf2 ] (13 : 1 : -)

しかしやはり「UDBはゲーム開始時に一括で読み込まれる&変更がセーブデータに
反映されない」という認識ですので、UDB上書きによるイベント発生条件の
無効化はできない気がします。

2019/05/15 22:27

comment avater

カリカリ

連投失礼いたします。
代入する数値が1999の理由はわかりました。
『[1999]最初のターンだけ(999ターンに一度) 』

2019/05/15 21:56

comment avater

カリカリ

いつも拝見させていただいております。
ちょっとわからない部分があったので質問をさせてください。

■変数操作: CSelf2 = 1999 + 0
■DB読込(ユーザ): ユーザDB(10,65,0)[ボスA <アクション1>条件▼▼▼  ] = ユーザDB[CSelf2:CSelf2:CSelf2]

↑この部分がよくわからないです。
UDBの敵行動AI(アクション1条件)に1999を代入するということでしょうか?
(なぜ代入する数値が1999? UDBに代入ってどうやる?)
また、UDBをゲーム中に変更しても一度ゲームを起動し直さないと変更内容は
反映されないという認識なのですが、これで変身イベントの発生を無効にする
ことが可能なのでしょうか。

お手数おかけします。ご解説いただけると嬉しいです。

2019/05/15 21:52

コメントの投稿



trackback iconトラックバック

トラックバックURL:http://amntudi.blog.fc2.com/tb.php/295-8be9c24b

この記事にトラックバックする(FC2ブログユーザー)