ツクールVX Ace 初心者救済、質問スレ Part.4at GAMEAMA
ツクールVX Ace 初心者救済、質問スレ Part.4 - 暇つぶし2ch1:名無しさん@お腹いっぱい。
21/05/25 19:43:36.75 l7lGPKpy.net
スクリプトやイベントの組み方などが苦手な人を救済するスレです。
このスレが繁栄する事はAceの繁栄につながり、過疎スレとなるとAceの衰退につながります。
質問者を煽ったり、馬鹿にするような書き込みはしないでください。
あまり酷い場合はアクセス禁止依頼を出します。
前スレ
スレリンク(gameama板)

2:名無しさん@お腹いっぱい。
21/05/25 19:49:28.80 l7lGPKpy.net
フォントを変えたいなら適当なスクリプトセクションに
Font.default_name = "MS 明朝"
Font.default_size = 22
Font.default_bold = true
とか書けば良い。(マニュアル参照)
ウィンドウの方は多分、Window.pngを差し替えてるだけだと思う
Systemフォルダに新しいWindow.pngを配置すれば適用される

3:匿名初心者
21/05/25 20:03:14.23 nNLiTQAp.net
フォント変更ができました!ありがとうございます!!
windowのほうも変更してみます!

4:名無しさん@お腹いっぱい。
21/05/25 20:06:51.62 nNLiTQAp.net
Windowの変更はGraphics<Systemであってるでしょうか?
何も入ってなかったので心配です。
それとも元から既製のWindowだったのでしょうか?

5:名無しさん@お腹いっぱい。
21/05/25 20:10:17.83 l7lGPKpy.net
一応分かると思うけどWindow.pngの仕様はヘルプの「ウィンドウスキン詳細」参照ね
ウィンドウカラーの色を変えるだけならデータベース>システム>ウィンドウカラーから変える事は出来るけど
スクリプトリファレンスから素材規格までヘルプ見れば大体の事が載ってるよ
>>4
既成はC:\Program Files (x86)\Common Files\Enterbrain\RGSS3\RPGVXAce\Graphics\System\Window.pngから適用される
これが俗にいうRTP(ランタイムパッケージ)
ゲームフォルダのSystemフォルダ内にWindow.pngがあればそちらが優先して適用される
デフォルトで使用可能な素材は全てそう

6:名無しさん@お腹いっぱい。
21/05/25 20:19:43.72 nNLiTQAp.net
Windowカラーは正しく変更できました!!
Window.pngのほうはサイズとかの設定はあるんでしょうか?

7:名無しさん@お腹いっぱい。
21/05/25 20:26:16.80 l7lGPKpy.net
「サイズ」がどのサイズの事を言ってるのか分からない
ウィンドウのサイズでもウィンドウ内に使用される文字のサイズでも自由に変更は出来るけども
その辺はスクリプト弄りの領分になるから
ヘルプのスクリプト入門から基礎編、解読編、実践編を重ねてシステムの理解を深めた方が良い

8:名無しさん@お腹いっぱい。
21/05/25 20:30:38.47 nNLiTQAp.net
スプリクト入門のほうしっかり読んできたいと思います!
WindowなんですけどWindowの縁の部分の色は変更はできるのでしょうか?

9:名無しさん@お腹いっぱい。
21/05/25 20:34:51.35 l7lGPKpy.net
その辺は素材弄りの領分
Window.pngをRTPからコピーしてゲームフォルダのSystemフォルダにペースト
適当な画像編集ソフトで右上の枠を弄れば色も形も変える事が出来る

10:匿名初心者
21/05/25 21:01:07.32 nNLiTQAp.net
できました!Windowの枠!
あと知りたいのがメニュー画面のレイアウトなんですが、そこはスクリプトをいじる感じみたいなんですけど
どこをどういじったらいいのかわかんないです(´;ω;`)ウゥゥ

11:名無しさん@お腹いっぱい。
21/05/25 21:53:38.72 l7lGPKpy.net
スクリプト入門実践編の「タイトル画面の改造」まで修めれば応用でメニュー画面の改造も出来ると思う
問題の答えを教えるのは簡単だけど初歩の内は解き方を覚えた方が良い
横着しても結局どこかで詰まるだけだな

12:匿名初心者
21/05/25 21:59:27.74 nNLiTQAp.net
はい!分かりました!やってみます!

13:匿名初心者
21/05/26 20:32:32.37 WXpLLxLd.net
セーブ画面の顔グラフィックの位置を少し右にずらすように変更したいのですが、
どうすればいいかわからなかったので質問してもいいでしょうか?
#--------------------------------------------------------------------------
# ● セーブファイル表示用の顔グラフィック画像情報
#--------------------------------------------------------------------------
def faces_for_savefile
battle_members.collect do |actor|
[actor.face_name, actor.face_index]
end
end
end

14:名無しさん@お腹いっぱい。
21/05/26 23:24:58.47 iMYWZFgJ.net
随分質問をハショるね。つまり
①セーブファイルのヘッダ情報をパーティのキャラクター描画から顔グラフィック描画に
②更に、右に少しずらして描くには
って事?
顔グラフィック描画の時点でデフォルトにないからそこから質問してくれ

15:名無しさん@お腹いっぱい。
21/05/26 23:25:39.28 iMYWZFgJ.net
で、改造ポイントの着目点に関しては悪くはない
①.Game_Party#faces_for_savefileの追加
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● セーブファイル表示用の顔グラフィック画像情報
#--------------------------------------------------------------------------
def faces_for_savefile
battle_members.collect do |actor|
[actor.face_name, actor.face_index]
end
end
end
②.次にCTRL+SHIFT+Fで全文検索して「characters_for_savefile」が使われていた部分に記録の追加
③.基本的にツクールのスクリプト制作はプリセットスクリプトを直接改造せずに
(ここから追加)以下のセクションでメソッドの上書きをするんだけどマネージャメソッドのエイリアスは少し特殊で
class << DataManager
#--------------------------------------------------------------------------
# ● セーブヘッダの作成
#--------------------------------------------------------------------------
alias :_old_make_save_header :make_save_header
def make_save_header
header = _old_make_save_header
header[:faces] = $game_party.faces_for_savefile
header
end
end
と書いてセーブヘッダ情報の中に顔グラフィックの情報も盛り込む
④最後にWindow_SaveFile#refreshの変更
class Window_SaveFile < Window_Base
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
contents.clear
change_color(normal_color)
name = Vocab::File + " #{@file_index + 1}"
draw_text(4, 0, 200, line_height, name)
@name_width = text_size(name).width
draw_party_faces(152, 58)
draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
end
end
⑤後は自分でWindow_SaveFile#draw_party_facesの内容を考えてくれ
draw_faceってメソッドもあるから内容はdraw_party_charactersとほとんど変わらない

16:名無しさん@お腹いっぱい。
21/05/27 00:24:23.49 IY8FsfEj.net
なんとかできました!ありがとうございます!
もう一つ質問いいですか?
メニュー画面の顔グラフィックとセーブ画面の顔グラフィックを違うものに変更して
メニュー画面の顔グラフィックを顔だけじゃなくて全身に変更する方法はありますか?
またメニュー画面のアクターの名前のところを横表記ではなくて縦表記にする方法などは
ヘルプを見たらわかりますか?

17:名無しさん@お腹いっぱい。
21/05/27 00:51:21.15 jA0TPAQy.net
全身画像はメニュー画面の完全改造になるけどbltコマンド使ってcontentsにコピーとか
テキストの縦書きはデフォじゃ用意されてない
そのくらいならあらかじめ画像で用意して上と同じ方法でbltした方が良い
Pictureフォルダに画像を用意して
class Window_Test < Window_Base
def initialize
super(0, 0, 200, 200)
contents.clear
bitmap = Cache.picture("Bustup")
contents.blt(0, 0, bitmap, bitmap.rect)
end
end
とか実行すればウィンドウのcontents内に画像が転送される

18:匿名初心者
21/05/27 01:04:33.49 IY8FsfEj.net
Pictureフォルダに画像を用意はできました!
class Window_Test < Window_Base
def initialize
super(0, 0, 200, 200)
contents.clear
bitmap = Cache.picture("Bustup")
contents.blt(0, 0, bitmap, bitmap.rect)
end
end
のほうも実行できたと思うのですが何の変化もないです!
どのスプリクトを変更したらいいでしょうか、?

19:名無しさん@お腹いっぱい。
21/05/27 01:23:39.60 jA0TPAQy.net
ただのサンプルコードだからな
顔グラフィックを全身画像にするって事はもうパーティ4人分の情報を描画するのではなくほぼ一人用のメニューに改造するって事だろ?
この辺は正確な画面UIに応じて細かい調整しなきゃいけないから具体的な事は言えないが、あくまでサンプルとして
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
contents.clear
bitmap = Cache.picture("Bustup")
contents.blt(0, 0, bitmap, bitmap.rect)
end
end
とか書けば既存のメニューのステータス情報は全て無くなって全身画像だけ表示される
表示原点は0, 0(左上)
contentsっていうのは言わばキャンバスだから好きな情報を書き込めば良い

20:名無しさん@お腹いっぱい。
21/05/27 12:33:58.14 IY8FsfEj.net
むずかしいですね!一応四人は入れる分の枠は入れるようにしたいのですが、
問題の全身画像がわからなかったです、
全身用の画像を持ってきて入れたいのですが全部顔グラフィックになってしまします

21:名無しさん@お腹いっぱい。
21/05/27 20:19:17.46 jA0TPAQy.net
デフォルトのウィンドウサイズ(544*416)を基準にすると
その内のメニューステータスウィンドウのサイズが(384 * 416)
padding(枠の太さ)は基本12だからcontentsのサイズは一回り小さい(360 * 392)
それを横に四分割すると(360 * 98)
顔グラフィックのサイズは一辺96だから本当にデフォルトだと高さがギリギリなんだよ
これを4人分の表示領域のまま顔グラフィックを全身画像に変えたいって画面UIが想像出来ない
どう考えてもはみ出るだろう
96*96に収まる全身画像なら顔グラフィック規格に当て嵌めろって話だし
これ以上アドバイス欲しいなら画面配置図でも描いて上げてくれ

22:名無しさん@お腹いっぱい。
21/05/27 22:50:55.98 IY8FsfEj.net
こんなかんじです!
URLリンク(o.5ch.net)

23:名無しさん@お腹いっぱい。
21/05/27 22:50:56.95 IY8FsfEj.net
こんなかんじです!
URLリンク(o.5ch.net)

24:名無しさん@お腹いっぱい。
21/05/27 23:37:06.77 jA0TPAQy.net
そっちを先に言ってくれ。つまり縦表示から横表示に変えると
Window_MenuCommandやWindow_MenuStatusのサイズや位置調整方法は簡単だからとりあえず省くけど
まず縦から横に変える方法は
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 4
end
end
詳しい説明は省くけどデフォルトでは桁数1になってるから桁数4に変更
で、表示領域あたりの描画は
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
end
end
この部分でやっている。下二つのdraw_actor_XXって部分を消せば白紙になる
とりあえず対応ピクチャファイル名はBustup_(アクターID).pngとか(例:Bustup_1.png)で保存しておいて
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● アクターのバストアップグラフィックの描画
#--------------------------------------------------------------------------
def draw_actor_bustup(actor, rect, enabled)
dst_center_x = rect.x + rect.width / 2
dst_center_y = rect.y + rect.height
bitmap = Cache.picture("Bustup_#{actor.id}")
x = dst_center_x - (bitmap.rect.width / 2)
y = dst_center_y - bitmap.height
contents.blt(x, y, bitmap, bitmap.rect, enabled ? 255 : translucent_alpha)
end
end
をdraw_actor_faceの代わりに入れれば反映されるはず
引数をx, yからrect引き渡しに変更している点に注意

25:名無しさん@お腹いっぱい。
21/05/28 00:21:25.13 MhHJgefe.net
全部変えてみたのですが
以下のとうりになりました!あとできていないのがバストアップの画像の表示みたいです!
私の設定のミスの可能性がありそうです、
なぜかこのアクターどっとマップからの変更ができません!
URLリンク(o.5ch.net)

26:名無しさん@お腹いっぱい。
21/05/28 00:48:58.24 vjIGE5oR.net
桁数の変更はcol_maxだけじゃ足らないな
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 4
end
#--------------------------------------------------------------------------
# ● 項目の高さを取得
#--------------------------------------------------------------------------
def item_height
height - standard_padding * 2
end
end
この二つを変えないとダメだった
それとバストアップ画像の変更が出来ない、と。見た感じ顔グラフィックがそのまま表示されてるって事?
答えを言っちゃえばこれで既存の描画項目は消えて、
各バストアップ画像だけ表示されるはずだけど上書きするところ間違えてないか?
あるいは再度上書きしているか
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_actor_bustup(actor, rect, enabled)
end
end

27:名無しさん@お腹いっぱい。
21/05/28 00:55:16.02 vjIGE5oR.net
一応基本的なデバッグ方法としてp命令がある
ツクール本体のツールバー「ゲーム(G)」>「コンソールの表示(C)」でコンソール画面を出せる
この状態でp "処理完了"とか書けばそのメソッドが本当に実行されたのか確かめる事が出来る
#--------------------------------------------------------------------------
# ● アクターのバストアップグラフィックの描画
#--------------------------------------------------------------------------
def draw_actor_bustup(actor, rect, enabled)
dst_center_x = rect.x + rect.width / 2
dst_center_y = rect.y + rect.height
bitmap = Cache.picture("Bustup_#{actor.id}")
x = dst_center_x - (bitmap.rect.width / 2)
y = dst_center_y - bitmap.height
contents.blt(x, y, bitmap, bitmap.rect, enabled ? 255 : translucent_alpha)
p "バストアップ描画完了"
end
とか書いて本当に処理が実行されたのか確認してくれ

28:名無しさん@お腹いっぱい。
21/05/28 18:10:57.14 MhHJgefe.net
起動時に一緒にコンソールは出ましたがpを押しても反応しません!(´;ω;`)
#--------------------------------------------------------------------------
# ● アクターのバストアップグラフィックの描画
#--------------------------------------------------------------------------
も追加して
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_actor_bustup(actor, rect, enabled)
end
end
も入れ替えたのですが
変わらないままです(´;ω;`)

29:名無しさん@お腹いっぱい。
21/05/28 19:26:47.78 vjIGE5oR.net
じゃそもそも実行されてないんだろ
ところどころ分かっていて当然と思う所は説明ハショっているから、どこかで認識の齟齬が発生している
ツクールのプラグイン素材(スクリプト素材)っていうのは既存の処理の上書きが基本になっている
例えば既存のメソッド
def test
p "テスト実行"
end
があったとして(ここに追加)以降のセクションに
def test
p "拡張版テスト実行"
end
と記述すれば以降のtestメソッドは後者に置き換えられる
これと同じで>>28以降にdef draw_item(index)を上書きして実行されてない可能性が高い
時間はかかるかも知れないが
p "処理通過"を書きまくってどこまでが動いて、どこから動いていないのか境界線を究明すれば原因が分かるよ

30:名無しさん@お腹いっぱい。
21/05/28 19:54:20.49 vjIGE5oR.net
あーあと一応言っておくけど
2chの仕様で行頭の半角スペースが非表示になっているだけだからインデント(字下げ)は徹底してくれ
ポップアップ表示で見れば省略されただけなのか、元の文章から書いてないのか分かる
クラスの中、メソッドの中、if文の中等プリセットスクリプトの書式に合わせて必ず2文字分の半角スペースで下げる事
可読性はコードを見返す上でとても重要だ

31:名無しさん@お腹いっぱい。
21/05/29 12:59:55.04 t9XPnHyk.net
p "処理通過"をどこにかきまくればいいですか?!

32:名無しさん@お腹いっぱい。
21/05/29 17:07:44.44 e3Af+Pbh.net
今更聞き直すのもなんだが(ここから追加)以下のセクションに自作スクリプト書いてるんだよな?
添削してあげるからCTRL+A,CTRL+Cで全文コピペして適当なtxtファイルに保存
GoogleDriveでもgithubでもAxfc Uploaderでも良いから適当なアップローダに上げてくれ

33:名無しさん@お腹いっぱい。
21/05/29 18:03:03.96 t9XPnHyk.net
全部(ここから追加)ではないです!
項目の追加とかは上書きしちゃいました、!
いま(ここに追加)に置いているものを張っていきます!

34:名無しさん@お腹いっぱい。
21/05/29 18:10:51.56 t9XPnHyk.net
URLです!ハットきます!
URLリンク(drive.google.com)

35:名無しさん@お腹いっぱい。
21/05/29 18:53:23.99 e3Af+Pbh.net
思ったよりもまとも、と思ったけどcodecrushさんのスクリプト素材を改造していたのか
Window_HorzMenuStatusを新しく定義している上にステータス表示メソッドもかなり弄ってんのね
rectやenabledフラグを削ってんなら普通にx, y指定に調整し直した方がいいな
どうせ全身画像のサイズ規格は全て同じだろうし、x,yの微調整は自分でやってくれ
URLリンク(drive.google.com)
俺はちょっと特殊な方法で別のスクリプトエディタを利用しているけど
もしもツクールデフォルトのスクリプトエディタ(F11)を使っているのならコメントアウトはCTRL+Qを使った方が良い
有効・無効をワンタッチで切り換える事が出来るし複数行の指定も可能

36:名無しさん@お腹いっぱい。
21/05/29 19:55:12.17 t9XPnHyk.net
xとyの調整ってどうしたらいいんですか?!
またBustup_1の画像が謎の枠で下半身が消えたりします!あと左名前が映るのでけしたいと思っています!
URLリンク(drive.google.com)

37:名無しさん@お腹いっぱい。
21/05/29 20:39:37.21 e3Af+Pbh.net
>xとyの調整ってどうしたらいいんですか?!
draw_actor_bustup(actor, x, y + 60)
ここで第二引数、第三引数の調整
>またBustup_1の画像が謎の枠で下半身が消えたりします!
下のマップ名表示ウィンドウから12ピクセル上で途切れてるなら仕様
ウィンドウ枠や背景を透明化しているだけで、実際は中央にも大きなウィンドウがあってそこに情報を書き込んでいる
だからその範囲外を超えて描画される事はない
どうしてもというのなら描画範囲を拡大する事も出来るけど、気になるだけなら画像の位置調整で対応してくれ
>あと左名前が映るのでけしたいと思っています!
draw_actor_name( actor, x, y + line_height * 0, width)
の削除、またはコメントアウト

38:名無しさん@お腹いっぱい。
21/05/29 23:42:52.42 t9XPnHyk.net
できればBustup_1の描画範囲を拡大を行いたいのですが
他のスプリクトが必要になってきますか?

39:名無しさん@お腹いっぱい。
21/05/30 04:09:28.30 po1/Piix.net
よくよく見たら元スクリプトの方ではwindow#opacityは255のままだな
他の箇所で透明度変更してるのか
とりあえずstandard_padding(枠描画の為の余白)を削れば描画範囲は拡大されるが
それ以前に下のゴールド表示ウィンドウとマップ名表示ウィンドウは使用する予定なのか?
描画が被るとかなり見づらくなるが必要ないなら取っ払った方が早いな

40:名無しさん@お腹いっぱい。
21/05/30 13:23:26.55 kCQrCxmA.net
下のゴールド表示ウィンドウとマップ名表示ウィンドウは消しました!
standard_paddingを削ると急に画像が映らなくなりました!

41:名無しさん@お腹いっぱい。
21/05/30 14:49:54.63 po1/Piix.net
元のスクリプトがよく分からない処理をしているな…
下のウィンドウを両方削るならstandard_paddingじゃなくて
#--------------------------------------------------------------------------
# ● ウィンドウ高さの取得
#--------------------------------------------------------------------------
def window_height
Graphics.height - @top_y - fitting_height(1)
end
のfitting_height(1)を削るだけで良い

42:名無しさん@お腹いっぱい。
21/05/30 18:06:13.02 kCQrCxmA.net
出来ました!開いてた↓ウィンドウが埋まりました!

43:名無しさん@お腹いっぱい。
21/08/26 17:11:17.31 FxSLL0U2.net
HPの増減をトリガーにしてコモンイベントを起こすことってできませんか?
敵のHPをゲージで表示しようとしてるのですがターン終了後ではなくHPが減ったと同時にゲージも減らしたいのです

44:名無しさん@お腹いっぱい。
21/08/26 17:31:29.61 TvfZAjEY.net
全部の攻撃スキルにコモンいれればいいんじゃないの?

45:名無しさん@お腹いっぱい。
21/08/26 20:16:36.50 aZusTL1u.net
>>43
敵のHPゲージを表示するのは既存のスクリプトでは何か問題あったの?
「VXAce 敵 hp表示」で検索すればそれなりに出てくると思う。
それで出来ないことがあって独自に作りたいならまた相談に乗る。

46:名無しさん@お腹いっぱい。
21/08/26 20:40:28.86 FxSLL0U2.net
>>44
それだと攻撃コマンドに対応できないかなあと
>>45
ピクチャーの上にHPバー表示させたいのです

47:名無しさん@お腹いっぱい。
21/08/26 21:36:57.03 aZusTL1u.net
>>46
これじゃだめなんか?
多分中身をぱっと見る限り、敵のグラフィックのサイズを読み取って敵のグラフィックの上の中央を原点にして表示してくれてるっぽい
URLリンク(blog.livedoor.jp)

48:名無しさん@お腹いっぱい。
21/08/26 21:59:14.51 FxSLL0U2.net
>>47
ありがとうございます
でもこれだとHPゲージがピクチャに隠れてしまうのです

49:名無しさん@お腹いっぱい。
21/08/26 22:19:49.73 aZusTL1u.net
>>48
えーと、敵のピクチャとは別になんかピクチャを表示させてて、それに隠れちゃうってこと?

50:名無しさん@お腹いっぱい。
21/08/26 22:54:58.71 FxSLL0U2.net
>>49
そうです

51:名無しさん@お腹いっぱい。
21/08/27 03:31:50.76 2iZ04zaZ.net
>>50
それだとコモンイベントとかの問題じゃない
viewportの問題
内容さっぱり分かんねーなら読み飛ばしていいから最後の部分だけ見て
ゲーム内の画像とか、メッセージを表示するウィンドウはviewportっていうものを持ってて、その中のzって数字の昇順に内容を表示してる
例えば100のzを持つHPゲージと200のzを持つピクチャを同時に表示させると、HPゲージの上にピクチャが表示されてしまってHPゲージが隠れるわけ
基本、バトル中にイベントコマンドもしくはスクリプトで画像を表示しようとした場合「$game_troop.screeen.pictures[任意の数字].show」という変数を弄ることになる
ここでそれぞれ登場したワードを説明すると $game_troop:戦闘で敵に関するデータが集まったもの
screen:画面の状態のデータが集まったもの
picture:画像のデータ
「$game_troop.screen.picture」で戦闘に関するデータの中で画面上の画像のデータ、という意味になる
んで、↑のはSpriteset_Battleという所で全て@viewport2という変数を使われている
@viewport2.zの値は50なので、それが全てのピクチャの表示の優先度というわけになる
んで敵キャラのスプライトは全て@viewport1で作られてて、@viewport.zの値は設定されてないので0となる
ここからが本題なんだけどだいたいのバトル中にHP表示を行うプラグインはviewportに敵キャラの画像と同じ@viewport1を使用してるからピクチャを表示させるとピクチャの後ろに敵とHP表示が隠れてしまう
それを解決するには、HP表示を行っているviewport.zピクチャより優先されれば良いので@viewport3をHP表示に使えばいい

というのがプログラムのお話で、良く分からなかったら↓のテキストファイルをそのまま貼り付けて
##########ここを切り替える!!!!##########
って書いてある所の#を上から下に付け替えて@viewport1を使ってるSprite_Infobar.newを無効にして@viewport3を有効にすればいい
URLリンク(drive.google.com)
↑のはkureって人のスクリプトを流用して改変してるからもし作品として世に出すなら以下の利用規約を参照すること
Readmeに著作権表記をするとか大事なのでよろしくな
URLリンク(blog.livedoor.jp)

52:名無しさん@お腹いっぱい。
21/08/27 06:46:08.81 sY0gzRk+.net
>>51
おおおおおおおおお
ありがとうございます!

53:名無しさん@お腹いっぱい。
21/09/05 18:39:49.63 QMIYUow0.net
SE再生して、その再生が終了するまでウェイトかけたいんですが
ウェイトフレームの設定ではなく
Fiber.yieldを使う感じで出来たりしないんでしょうか?
マップのスクロールのウェイトだとこうやるみたいなんですが
SE再生では同じようにやるにはどうしたらいいのかわからないです
Fiber.yield while $game_map.scrolling?

54:名無しさん@お腹いっぱい。
21/09/07 16:45:53.38 vXy0X4TH.net
>>53
かなり難しい
何でかっていうと、その$game_mapってやつはグローバル変数(いつでもどこでも呼び出せる変数)で、いつ呼び出されてもいいように常に準備がされている
よって「今スクロールしてる?」みたいな質問に応えられるような受け口を作ることができるし実際に作られている
逆にBGSはAudio.se_playってので動いてるんだけど、これが上の$game_mapみたいに変数として定義して使えるclassじゃなくてmoduleってのでできてるし、しかもそれが組み込みモジュールっていうのでスクリプトエディタから触ることができない

55:名無しさん@お腹いっぱい。
21/09/07 21:08:17.96 rimS+rva.net
>>54
なるほど・・・
SEの長さからフレーム数計算して
普通にウェイトかけるほうが無難ですね
ありがとうございます

56:名無しさん@お腹いっぱい。
21/09/09 18:20:52.58 +dAHlpkF.net
スキル使用時またはコモンイベント、スクリプトでTPを下げる方法
または敵の攻撃によってTPを下げる方法はないでしょうか
TP0のときでも使用できるようにしたいのでスキルにTP消費設定では不適当なのです
ちなみに $game_actors[1].tp += 50 というスクリプトを見つけたのですがこれはエラー出ました
「スクリプト game_interpreter の1409行目でname errorが発生しました」 となります

57:名無しさん@お腹いっぱい。
21/09/09 19:48:29.23 zzfbBC3F.net
新規プロジェクト作ってその方法やってもエラー出ないから何か誤字ってんじゃない?

58:名無しさん@お腹いっぱい。
21/09/09 20:46:41.27 M1Xgv77L.net
>>56
まずエラー出力スクリプトを導入することをお勧めする
グーグルが自動翻訳してるかもしれんから内容が変な感じだったら英語翻訳に変えてからコピペしてくれ
URLリンク(www.tktkgame.com)
これを入れた上でエラー情報書いてくれればなんかわかるかもしれん

59:名無しさん@お腹いっぱい。
21/09/09 20:50:04.73 +dAHlpkF.net
>>57
もう一度入れてみたらできました
凡ミスで申し訳ない

60:名無しさん@お腹いっぱい。
21/09/09 20:51:22.84 +dAHlpkF.net
>>58
ありがとうございます
今後活用します

61:名無しさん@お腹いっぱい。
21/09/09 21:29:14.67 Z1wK/Zc4.net
計算式に入れてもできるぞ
b.tp -= 1;式 

62:名無しさん@お腹いっぱい。
21/09/14 21:42:20.11 nND2kez3.net
お前ら和歌山県出身の下村拓郎様(35歳、元自衛隊)をご存知か、この方は将来素晴しい人物になるから覚えておいて損はないぞ

63:名無しさん@お腹いっぱい。
21/09/16 03:13:38.84 oNWK243J.net
今スクリプトでWindow_ActorCommandをいじって、戦闘時のアクターコマンドを
戦う
防御
魔法
特技
道具
みたいに、5行分表示したいんだけど
Window_ActorCommandの表示行数の取得を4から5に変更してみたら
ウィンドウのビットマップが途中で切れちゃうんだよね
スクリプトの何処をいじれば、ウィンドウをあと1行分増やせるのかわからない…
どなたかわかる方ご指導いただけませんか?

64:名無しさん@お腹いっぱい。
21/09/16 03:23:49.83 5DTo4M/R.net
Window_BattleStatusの32行

65:名無しさん@お腹いっぱい。
21/09/16 03:41:31.99 5DTo4M/R.net
アクターコマンドだけ5行にしたいのであればビューポートなどもいじらねばならぬ

#==============================================================================
# ■ Window_ActorCommand
#------------------------------------------------------------------------------
#  バトル画面で、アクターの行動を選択するウィンドウです。
#==============================================================================
class Window_ActorCommand < Window_Command
#--------------------------------------------------------------------------
# ● 表示行数の取得
#--------------------------------------------------------------------------
def visible_line_number
return 5
end
end
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
#  バトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 情報表示ビューポートの移動 エイリアス
#--------------------------------------------------------------------------
alias move_info_viewport_5ch move_info_viewport
def move_info_viewport(ox)
move_info_viewport_5ch(ox)
@actor_command_viewport.ox = @info_viewport.ox
end
#--------------------------------------------------------------------------
# ● アクターコマンドウィンドウの作成 エイリアス
#  アクターコマンド専用ビューポートの作成
#--------------------------------------------------------------------------
alias create_actor_command_window_5ch create_actor_command_window
def create_actor_command_window
create_actor_command_window_5ch
@actor_command_viewport = Viewport.new
@actor_command_viewport.rect.y = Graphics.height - @actor_command_window.height
@actor_command_viewport.rect.height = @actor_command_window.height
@actor_command_viewport.z = 100
@actor_command_viewport.ox = 64
@actor_command_window.viewport = @actor_command_viewport
end
end

66:名無しさん@お腹いっぱい。
21/09/16 03:47:54.61 5DTo4M/R.net
おっと、開放は必ずすべし

class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 終了処理 エイリアス
#  アクターコマンド専用ビューポートを開放
#--------------------------------------------------------------------------
alias terminate_5ch terminate
def terminate
terminate_5ch
@actor_command_viewport.dispose
end
end

67:名無しさん@お腹いっぱい。
21/09/16 03:49:16.54 5DTo4M/R.net
これ以外にも既存の@info_viewportを改変するのも良い

68:名無しさん@お腹いっぱい。
21/09/16 07:01:06.80 oNWK243J.net
>>64
ありがとうございますッ!
すげぇッ!何してるかわかりそうでわかんなくてちょっとだけわかるッ!
スクリプトに導入して
比較しながら自分でなんとかできるように頑張りますッ!!

69:名無しさん@お腹いっぱい。
21/09/25 00:57:07.60 p+j4Ww5E.net
正直ここで質問することではないかもしれませんが、ここくらいしかVXAceのスレ見つけられなかったので質問させてください
かなり久しぶりにツクールを開いたのですがVXAceのゲームだけが全て異常なほど重いです
新規プロジェクトで開いたただの大海原を歩くだけでも重いレベルです(大海原でFPS40代、一般的なゲームのマップで30以下 戦闘画面1桁代)
同時にキーの入力情報がずれるのかカーソルキーを長押しすればするほど長時間その方向に入力され続けて制御不能化します(Joytokeyを用いたゲームパッドだと何故かズレは起こりませんでした)
プロパティの画面描画のちらつきもほとんど改善しなかったです
スクリプトを大量に入れてるだろうMVやVXのゲームはちゃんとFPS60でぬるぬる動くのでスペックとかの問題ではなさそうですが改善方法を知っている方はいらっしゃいませんか
VXace自体はsteamで購入したもので、2~3年前に触ったときは正常に動いていたはずです
スペックはCPU i5-8300H メモリ8GB GPU GTX1060 のゲーミングノートです
おま環でどうしようもないなら諦めて新しいパソコン買うまでVXaceは封印します
スレ汚しすみません

70:名無しさん@お腹いっぱい。
21/09/25 02:53:42.50 szFkJapT.net
Aceだけ重いならRTPの入れ直しをしてみては?

71:名無しさん@お腹いっぱい。
21/09/29 15:43:59.30 ohgdBHMX.net
>>70
RTPの入れ直しだけでは解決しませんでしたがツクールVxace本体の配置場所をDドライブからCドライブに変えたら解決しました
お騒がせしました...

72:名無しさん@お腹いっぱい。
21/09/29 16:59:47.90 ljfWywA2.net
C以外にインスコする男の人って・・

73:名無しさん@お腹いっぱい。
21/09/30 11:07:57.63 xhkobW65.net
ステキ・・・

74:名無しさん@お腹いっぱい。
22/03/31 19:01:09.36 Sfpe9vOg.net
並列処理でピクチャー1のピクチャーを切り替えて
画面がちらついている演出を表現したいんだが、
文章を表示している途中だけその並列処理イベントの処理が止まってしまう…
なんとかならないだろうか?

75:名無しさん@お腹いっぱい。
22/04/03 19:56:09.40 oP8t/Vtx.net
スクリプト弄って特定の番号のピクチャを常に点滅するように変えては
点滅させたい時はその番号を使うと

76:名無しさん@お腹いっぱい。
22/04/10 17:19:50.04 JKS04vUc.net
>>75
ありがとうございます!めっちゃ助かった

77:名無しさん@お腹いっぱい。
22/04/19 14:20:42.25 8CB9jh/2.net
「メニューを開く」ってのをすっ飛ばして、
装備ウィンドウを開かせることって出来る?
そこからキャンセルしたらメニュー画面じゃなくてフィールドに戻る感じで。

78:名無しさん@お腹いっぱい。
22/04/19 22:48:47.93 MG2P+r6G.net
俺も今日たまたまそれやりたくてググったけどスクリプトコマンドだとキャラを指定できないから素材で入れるしかないらしいよ
やり方あるかもしれないけど

79:名無しさん@お腹いっぱい。
22/04/23 13:29:21.41 9eaSqB11.net
>>77
イベントからなら
SceneManager.call(Scene_Equip)
で良いんじゃないの

80:名無しさん@お腹いっぱい。
22/05/07 13:14:31.48 QsEC527y.net
SceneManager.call(Scene_Skill)で特定のスキルタイプだけ表示する方法ないですか?

81:名無しさん@お腹いっぱい。
22/05/07 20:47:46.67 qpPILyu6.net
>>80
表示する方法、というかスキルタイプウィンドウを消したいならScene_SkillのUI改造しないと無理でしょ
ヘルプに載ってるスクリプト入門実践編まで修了すれば
自力で改造出来るくらい初歩的なものだから練習がてら読み進めると良い

82:名無しさん@お腹いっぱい。
22/07/08 17:09:43.07 1xoYVgTb.net
格ゲーのように自分のHPバーと敵のHPバーを画面上部に表示することは可能でしょうか?
プレイヤーのキャラは全員でなく一人のHPを表示すること前提です

83:名無しさん@お腹いっぱい。
22/07/08 17:14:28.85 PmhbiWC9.net
そりゃ勿論、出来るか出来ないかで言ったら出来るだろうけど具体的な仕様が分からない事にはなんとも
エネミーの方は一体だけ?

84:名無しさん@お腹いっぱい。
22/07/08 17:28:46.38 1xoYVgTb.net
>>83
1体だけです

85:名無しさん@お腹いっぱい。
22/07/08 22:11:46.40 PmhbiWC9.net
ゲージ作り込み始めると際限無さそうだからなんか飽きてきた
基本は大して難しくないからあとはスクリプトリファレンス片手に弄ってくれ
URLリンク(wandbox.org)

86:名無しさん@お腹いっぱい。
22/07/08 22:17:52.42 PmhbiWC9.net
ウィンドウの表示優先順位に少し問題があったから早速少し修正
URLリンク(wandbox.org)

87:名無しさん@お腹いっぱい。
22/07/08 23:20:41.42 1xoYVgTb.net
>>86
ありがとうございます!

88:名無しさん@お腹いっぱい。
22/07/17 15:31:48.48 P6wdLg58.net
敵キャラを作ってるんやが、行動パターンに攻撃が入ってないのに他のスキルを無視してひたすら攻撃してくる…
試しに攻撃を入れてレーティング下げたけど変わらん
MPもたっぷりあるんやがどういうことやろか…

89:名無しさん@お腹いっぱい。
22/07/18 08:04:50.45 7y9BSPIQ.net
スクショでもしてくれんとわからん
恐らくなにか余計な設定してるんだとおもうけど

90:名無しさん@お腹いっぱい。
22/07/18 21:54:03.61 iFbF4nsQ.net
>>89
よく見たらだいぶ前に自動戦闘系スクリプトを導入しててそのせいだったみたいです
すみません、ありがとうございます

91:名無しさん@お腹いっぱい。
22/07/19 06:31:25.16 Wyyyrtc4.net
挙動がおかしくなったらまず完全新規プロジェクトで再現するか試してみるといい
それで再現しなければ100%スクリプトが悪さしてる

92:名無しさん@お腹いっぱい。
22/07/21 18:14:20.09 fbAJIHBD.net
今までは最後に開いたプロジェクトが次回起動時に自動で開いていたのですが
いつのまにかProject3が毎回開くようになっていました
不便なので以前のように戻したいのですが解る方いらしたら方法を教えてください

93:名無しさん@お腹いっぱい。
22/07/22 00:11:06 YQnA6Y9A.net
左上の「ファイル」からプロジェクトを閉じる→プロジェクトを開くで直るんじゃないか
というか直接.projファイルを開くと記憶されない

94:名無しさん@お腹いっぱい。
22/07/22 05:52:23.37 MPPdxPQq.net
直にプロジェクト開いてるからその仕様をしらなかった
どこから開いてるんだ

95:名無しさん@お腹いっぱい。
22/07/23 13:08:48.93 T0J0MfzD.net
>>93
返信ありがとうございます
やってみましたけど直らないですね・・・
>>94
vxaceを開いて ファイル→プロジェクトを開く でやってました

96:名無しさん@お腹いっぱい。
22/07/23 20:19:40 V6rdVrJ0.net
1回フォルダの位置をずらして開けない状態で起動してみたら?

97:名無しさん@お腹いっぱい。
22/09/24 18:16:40.90 Pj5mzbKy.net
>>86
このゲージをピクチャの上に表示することってできますか?

98:名無しさん@お腹いっぱい。
22/09/24 18:45:56.08 dJx9aSpT.net
スプライトウィンドウはz値で表示優先順位が管理されてるから適当に弄れ
既存のz値はヘルプの「スプライトの管理」に書いてある

99:名無しさん@お腹いっぱい。
22/09/24 19:45:09.33 NoJGnNqU.net
@main_sprite = Sprite.new
の下に
@main_sprite.z = 101

100:名無しさん@お腹いっぱい。
22/09/24 23:34:30.08 Pj5mzbKy.net
>>98
>>99
できました!
ありがとうございます

101:名無しさん@お腹いっぱい。
22/12/11 07:01:36.06 80DjYS/8.net
質問
Win10でVXace製のゲームやってるんだけど
ゲーム中盤ごろからマップ移動中に一瞬止まったり戦闘開始時に強制終了したりする
Win7の時は全く起きなかったのにおま環?
ちなみにセーブしながら進めると発生しない

102:名無しさん@お腹いっぱい。
23/01/29 12:27:27.23 Tqw8eNNR.net
バトル中ターン開始時にイベント発生させると
防御などの速度補正2000よりも先に来てしまうのですが
補正2000よりも後にイベント発生させる方法ってあるんでしょうか?
ひとつ前のターンで敵がHP50%以下になったら
大技はなつ予兆のイベントが発生し、主人公サイドが
防御で耐えろみたいな感じの会話が発生して
次のターンで大技を強制的に放つようにイベント組んだんですが
速度補正2000の行動よりも先にイベント発生で大技来てしまうため
防御しろって会話が意味を成さなくて困っているといったところです

103:名無しさん@お腹いっぱい。
23/01/29 16:24:01.55 dTMFHcFv.net
答えようかと思ったけどツクマテにもマルチポストしたんなら必要無いか

104:名無しさん@お腹いっぱい。
23/05/09 10:17:27.61 00AYoCe3.net
質問させてください。急いでます
1.ニューゲームを開始すると特定のスクリプト処理でNoMethodErrorが起きる
2.ある程度プレイしたセーブデータからロードすると起きない。
これを回避するために
ニューゲームをロードに置き換えて1を回避するために2のセーブデータを
初期状態に近いようにテストプレイなどで変えた
すると1のエラーが出る
どうすれば解決しますかね?

105:名無しさん@お腹いっぱい。
23/05/09 10:18:25.31 tFZL2Zlw.net
スクリプトを外す

106:名無しさん@お腹いっぱい。
23/05/09 10:25:54.22 00AYoCe3.net
それ以外方法ないでしょうか?
セーブデータからなら全てのスクリプトが動いているのがおかしくありませんか?
お願いします。

107:名無しさん@お腹いっぱい。
23/05/09 10:29:39.49 00AYoCe3.net
アイテム合成で「防具」を選んだときだけNoMethodErrorが
出てるみたいなんです。object=
考えられるのはニューゲームとかの状態ではメソッドなくて
後でメソッドを追加するようなスクリプトがあるってことでしょうけど
防具だけっていう状態で起きるものなんですかね?
ありえなくないですか?

108:名無しさん@お腹いっぱい。
23/05/09 10:55:20.00 00AYoCe3.net
すみません問題を特定しました。

109:名無しさん@お腹いっぱい。
23/07/01 20:42:38.88 z2XKTooM.net
エースというのが 800円で セール なんですけど買いでしょうか?

110:名無しさん@お腹いっぱい。
23/07/01 21:57:03.54 oHWAG0M7.net
ツクールの購入を検討しています
KODOMOプラザで買うのとSteamで買うのとでは何が違いますか?

111:名無しさん@お腹いっぱい。
23/08/16 00:10:01.78 bN+M3av1.net
>>110
小窓で買うとスチームのシリアルがついてくる
スチームで買うと そのまま アクティベーションされる


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch