ツクールVX Ace 初心者救済、質問スレ Part.2 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
スクリプトやイベントの組み方などが苦手な人を救済するスレです。
このスレが繁栄する事はAceの繁栄につながり、過疎スレとなるとAceの衰退につながります。
質問者を煽ったり、馬鹿にするような書き込みはしないでください。
あまり酷い場合はアクセス禁止依頼を出します。 >>885
今更ですが調節を加えて無事再現することができました、ありがとうございました! すっごい初心者質問で申し訳ないんだけど
マップ作成で広範囲をコピーするスポイトって機能が左下1マスとかにしか作動しないんだけど解決策ある?
いちお再インスト、新プロジェクトに変更は試したが改善せず 20x20位でもコピーできてるけど
右ドラッグで1マス以上の範囲にカーソルが広がってる? >>893
広がってる
右ドラッグで範囲広げてスポイトしてから左クリックでペーストしようとすると右隅1マスしかペーストできないんだよね
検索してみたら同じ症状の人いるみたいなんだが解決策が書いてない 確かに鉛筆以外だと1マスしかコピーされないことがあるね >>895
解決できました!ありがとうございます! マップをランダムにうろついている敵に接触したら戦闘になるタイプのRPGを作っています
スイッチAがオンの時のみ敵がこちらに近づいてくるようにしたいのですが、どのようにすればよいのでしょうか スイッチAがオンの時のみ敵がこちらに近づいてくるようにすればいいと思います
まずイベントページ作成で新しいページを作ります
次に出現条件にスイッチAを設定します
自律移動のタイプを近づくかカスタムで設定します
以上です 質問させていただきます。
・スクリプトを直接いじって、メニュー内に画像を表示させています。
・メニューのSceneは「 screen.pictures[xxx]」命令が使えないクラスの様なので
「Sprite」命令で画像を表示しています。
ここでスプライトを書き換える事は出来るのですが、
更新してしばらく旧画像の表示が残ってしまいます。
数秒から10秒程度で消えてくれるので、何らかの画面更新や
割り込み処理でスコープが外れて消えてくれるのかと思いますが
どういう命令で消えてくれるのか判然としません。
Q.この残像が残る理由、あるいは、この遅延無しで残像を消す方法を
教えていただけないでしょうか? update(フレーム更新)でスプライトに変更加えたら1フレームごとに反映されるけど
ちゃんと書き換えの部分通ってるかな? 数秒という曖昧な時間が空いてるなら十中八九ガベージコレクタが働いてんだろ
具体的にどういう組み方しているか分からないから具体的なアドバイスも出来ない
GC.startとか入れたら即座にGC起動するだろうけど
そもそもGCは最後の保険であってこういう使い方は非推奨。根本的に組み方がおかしい。 class Scene_Menu < Scene_MenuBase
alias _start start
def start
_start
create_sprite
end
alias _update_basic update_basic
def update_basic
_update_basic
update_sprite
end
alias _terminate terminate
def terminate
_terminate
dispose_sprite
end
def create_sprite#スプライト作成
@sprite = Sprite.new
@sprite.z = 100
@sprite.opacity = 128
@sprite.bitmap = Cache.battleback1("Castle")
end
def update_sprite#スプライト更新
case Graphics.frame_count % 120
when 0
@sprite.bitmap = Cache.system("BattleStart")
when 60
@sprite.bitmap = Cache.system("GameOver")
end
@sprite.update
end
def dispose_sprite#スプライト開放
@sprite.dispose
end
end ありがとうございます、みなさんのおかげで解決できました!
旧いコンシューマー環境の経験はあるけれど
ハードスプライトだった為か、処理中にも動的に解放するという考え方がありませんでした。 RPG探検隊様のサイドビュー(Ace)スクリプトについて
スキル「空中アクションサンプル」の命中タイプを「物理攻撃」にして実行した際
敵が反撃を発動すると、敵の動き方が通常攻撃に対する反撃の際と異なり
上方向へ動いてしまいます
通常攻撃に対する反撃と同一の回避動作を取らせるにはどこを修正したらいいでしょうか 弓攻撃のアニメーションってどこかにあります?
ググって一番上に出てくるブログはリンクが途切れてる
次のブログはVX専用だからAceだとだめっぽい 教えて下さい
ボタンを押していると選択肢が出てテレポートできるようにしたいんですが
選択肢の表示a,b,c,d
aの場合:場所移動a
bの場合:場合移動b
cの場合:場所移動c
dの場合:場合移動d
以下は記載なし
だとaの場所でボタンを押してキャンセル(escキー)を押すと
bに飛ばされてしまうのですが他になにか必要な入力はありますか >>912
キャンセルが無効になってないんでしょ
キャンセルで2番目が選ばれるようになってるのがデフォルトだ >>913>>915
その通りでした
キャンセル活用したらできました!
こんなアホな質問に回答ありがとうございました すみません質問させてください
アイテムの選択処理で選んだアイテムをプレゼントするイベントを作っているのですが
大事なものに分類したアイテムが全部表示されてしまい(黒くて選べないけど)
渡せるものを探すのが大変かなと思いましたのでこちらを非表示にする方法はありますか
スクリプトになりますか アイテムの選択処理をする前に大切なものを全て削除して、処理後に再入手させる 一番簡単なのは選択肢で選ぶ方法だけど4つしか選べなくていいのなら >>921
持ってるアイテムをリスト化して選択肢を作るの難しそうだね
>>917
どんなアイテムをあげるの?特別なもの?それとも薬草みたいないくらでもあるもの? 選択肢は増やせるスクリプトあるからそれ使えば良くない?
配列とスクリプト使えばいくらでもなんとかできそうだけど
Ruby分かってないと厳しいかな >>921の案は選択肢ごとに指定の定数のアイテムを増減させるって方法ね、ただアイテムを変数で指定できないから単純だけど面倒だと思う 1キャラにあげられるアイテムは最初から4種って固定にしておけば作る方も選ぶ方も楽だとおもう
なんでもかんでもあげられるとプレイヤー的にも迷うしめんどくさくなりそう たくさんの回答ありがとうございます
渡せるものは薬草みたいにいくらでもあげられるものでした
8個くらい選択肢があるつもりで考えてました
選択肢を増やすスクリプトでやってみたり色々試してみます
IDでどうやって管理するのかよくわかりませんすみません
でも調べてみますありがとうございます ミニゲームで音ゲー作ってるんだけど
タイミングずれちゃうんだよね。
やっぱツールの性質上ムリなんかねぇ。
性能高いPCに変更して、コマ落ちしない環境でやってもズレるし
よく分からんわ。 ぴったり重なる前に少しでも接触するとイベント起動しちゃうからな VXA以前のツクールだとゲーム部分と音楽の同期が取れないから
本番中に処理落ちが発生すると同期ズレを修正しようがないっていう根本的な問題はある
ツクール2000だけどbeatmosimoULXみたいにイベントだけで仕上げた完成度高い音ゲーも存在するけど 変数にスクリプト代入
◆変数の操作:[xxxx] = Audio.bgm_pos イベントでは作ってないんだよね。
スクリプトとピクチャで ttp://www.dotup.org/uploda/www.dotup.org1300195.zip.html >>939
ありがとうございます。
一応、自分の組んだものに反映できるかわかりませんが視野に入れて改良してみます。 これから作るスーパー初心者なのですが、
このスレをみてもわからないことばかりです。
ここより初心者向けのスレはないですよね。 とりあえずひたすらいじってどうしてもわからないことがあれば聞けばいいんじゃない
基本的なことはググれば出てくると思うけど バトルレイアウトをレトロな感じにしたいのですが、
ググってみても何を仰っているのかがもうねww
プログラミングを勉強しないといけないみたいですね。 基本的なデザインをかえるのはそうとう大変だと思うよ そうなんですかー
複雑なシステムとかイベントとかアニメーションとかは無理でも、
コレはできるかなあと思ったのですが、それも大変ですか。 これからほぼMV移行するからrubyは意味ない 勉強するならjavascriptだろ いやあww 実は、プログラミングを勉強しようとしたのが始まりで、
言語とかもよくわからないし、
ツクールはRubyっていう言語だっていうから、じゃあツクってればRubyの勉強になるかと思ったんですが、
ツクるためには勉強しないとアカンっていうね。
うまくいかないもんですね。 分からない所を教えてあげる事は出来るけど
分からない所が分からないならどうにもならんね >>947
2000とMVも持ってますww
MVって、なんか重くないですか?
オレのパソコンのスペックが低いんですかね。 >>951
15年近く昔のソフトよりは重いのは普通だね。
PCスペック低いんじゃない >>951
最近出たアプデパッチで半分の軽さになって問題がなくなったのでこれから大移動が始まるらしい 3Dのゲームがぬるぬる動こうがツクールは重いからな 2年前からMVに移行するって言われてたけど結局あまり動きないしな 重い、いつ止まるかわからないイメージが定着しちゃったから少なくともMVで長編作る人なんていないだろう
MVはアツマールで短編やネタ寄りのゲームで活躍するだろう 製作者じゃなくて初心者プレイヤーの質問なんですけどVXace製ゲームでたまに起動しようとした途端
「問題が発生したためGame.exeを終了します」と出て落ちるものがあるんですがどのような原因が考えられますか?
ちなみに正常に起動できるゲームの方が圧倒的に多いです VXAceの質問です。
@武器に複数回攻撃の特徴をつけたいのですが、攻撃追加回数を増やすとその回数だけアニメーションが表示されます。
アニメーションは1回だけ表示した状態で複数回攻撃できるようにしたいのですが、どこをいじればよいですか?
A武器に複数回攻撃の特徴をつけたいのですが、特に、攻撃追加回数を乱数にしたいです。
具体的には、50%の確率で攻撃追加回数1、という感じです。
どこをいじればよいですか? その武器のみに適用させる場合はスクリプト素材を新たに製作しなければならなくて手間がかかる
通常攻撃および攻撃追加回数の仕様変更で構わない場合は以下の箇所を変更すればよい
@ Scene_Battleの585行目を
show_animation(@subject.attack_skill_id == item.id ? [targets[0]] : targets, item.animation_id)
に変更
A Game_BattlerBaseの342行目を
rand([features_sum_all(FEATURE_ATK_TIMES), 0].max + 1)
に変更 >>960
ありがとうございます。
@は仕様変更でよかったので、そのまま活用させていただきます。
Aは武器ごと(正確には武器タイプごと)に適用したいので、スクリプトを勉強して自分で作ってみます。 一つのマップに3つ建物が建てられるところがあって
どの場所にも武器屋、防具屋、道具屋等建てる建物が選べる小さな町作り系を考えてるのですが
スイッチとピクチャで作ろうかなと思いましたが他に方法はありますか
一応平地のマップを用意して武器屋のスイッチが押されたら建物ピクチャを表示させるとか考えていましたがこれだと通行設定とかがばがばですよね 3つくらいだったら全パターンの違うMAPを用意するとか・・? >>961です。
Aは自己解決しました。
公開されているRGSS3素材をいくつか併用することで武器ごとに攻撃追加回数の乱数設定ができるようになりました。 BGMのフェードアウトはあるけど、フェードインって無いよね?
自力でウェイト用いてだんだん大きくしていくとかしか出来んのかねぇ…この間動作が止まるから並列処理させるしかなくなっちゃうけど あれ、なかったっけと思って確認したら無かったわ
2000にはあったのに >>967
「RGSS3 BGM フェードイン」でググると色々書いてあった
NGワードに引っかかって書き込めないんだけどね http://etolier.webcrow.jp/material/vxskin.html
ここでシンプル枠をダウンロードしてウインドウに設定したんだけど実際にゲームを始めるとサンプルと違って中が白じゃなく水色っぽくなってしまう・・・
サンプルと同じようにするにはどうしたらいいですか? ウインドウカラーを真っ白にしてもサンプル通りにはならないですね・・・
透過しないようにってどうするんだろう class Window_Base < Window
alias _initialize initialize
def initialize(x, y, width, height)
_initialize(x, y, width, height)
self.back_opacity = 255
end
end 名前が競合しそうだったから変更
↓を素材に追加
class Window_Base < Window
alias hogehogehogeeeeee_initialize initialize
def initialize(x, y, width, height)
hogehogehogeeeeee_initialize(x, y, width, height)
self.back_opacity = 255
end
end マルチポストはマナー違反だってそれ昔から言われてる事だから そこはスクリプトじゃなくて画像のアルファ値弄る方がいい気もするが 画像製作者がback_opacityを操作するように説明しているわけだが VXAceでのウィンドウ非アクティブ時についてお聞きしたいです
非アクティブ時はBGMも動作も停止するものと思ってエンディングを作ったのですが、どうやら非アクティブ時は動作だけが停止してBGMは流れたままみたいです
エンドロールの終わるタイミングに合わせてエンディング曲も終わる調整にしていたので、プレイヤーがウィンドウを非アクティブにしてしまうとエンドロールとエンディングがずれてしまい非常に困っています
非アクティブ時に動作を止めてBGMも止める、あるいは動作を動かしてBGMも動かす方法はないものでしょうか? >>982
それしかなさそうですね……
ありがとうごさまいます VXAceの敵の設定について質問です
データベースで設定した以外の技を恒久的に敵に覚えさせたいのですが、どうすればいいですか?
できれば能力値もデータベースで設定した値から変更させたいです。
データが少なければそれぞれの能力値の敵と敵グループを大量にデータベース登録して変数で出現する敵グループを変更すればいいのですが、
あまりにもデータの数が多くなりすぎる(特に敵グループのデータ)ため、データベースに登録する以外の方法で教えていただきたいです。 スクリプトの知識がないとわかりづらいと思う
↓複数の敵を一括変更 module DataManager
class << self
alias alias_load_database load_database
def load_database
alias_load_database
#◆操作する敵に1〜3(スライム〜ホーネット)を指定
(1 .. 3).each{|i|
enemy = $data_enemies[i]
#▼指定した敵の能力を変更
enemy.params = [1, 9999, 120, 40, 8, 8, 10, 10] #一括変更(HP, MP, 攻, 防, 魔攻, 魔防, 敏, 運)
enemy.params[0] = 20 #HPのみを20に変更
enemy.params[2] += 6 #攻に6加算
#▼習得スキルをすべて忘却する場合に記述
enemy.actions = []
#▼スキル習得
action = RPG::Enemy::Action.new
action.skill_id = 28 #スキルの ID28: ヒールV
action.condition_type = 0 #行動条件のタイプ(この辺の詳細は RPG::Enemy::Action でヘルプを検索)
action.condition_param1 = 0 #行動条件のパラメータ
action.condition_param2 = 0 #行動条件のパラメータ
action.rating = 5 #優先度 (1..10)
enemy.actions.push(action) #習得スキルに追加
#▼スキル忘却
enemy.actions.delete_if{ |skill| skill.skill_id == 28 } #ID28のスキルを忘却
}
end
end
end module DataManager
class << self
alias alias_load_database load_database
def load_database
alias_load_database
#▼スライムのステータスを一括変更
$data_enemies[1].params = [1, 9999, 120, 40, 8, 8, 10, 10]#(HP, MP, 攻, 防, 魔攻, 魔防, 敏, 運)
#▼こうもりのステータスを変更
$data_enemies[2].params[0] = 99 #HPを99に変更
$data_enemies[2].params[1] += 20 #MPを20増加
#▼ホーネットのスキル習得
action = RPG::Enemy::Action.new
action.skill_id = 28 #スキル28はヒールV
$data_enemies[3].actions.push(action)
#▼大ぐものスキル忘却
$data_enemies[4].actions.delete_if{ |skill| skill.skill_id == 28 }#ヒールVを覚えていた場合は忘れる
#▼大ねずみのスキルをすべて忘却
$data_enemies[5].actions = []
end
end
end 特徴は面倒くさかったので省いた
必要なら調べるけど >>989
ありがとうございます。
>>986>>988は参考になりました。
イベントのスクリプトを使って直接書き込んで、あとは変数で制御しようと思います。
特徴はGame_BattlerBaseの定数がcode、あとはデータベースの中にある設定に準じて変更すればいい感じですかね。
確認ですが、例えば
$data_enemies[1].features.push(RPG::BaseItem::Feature.new(34,1,0)) #スライムの攻撃追加回数を1に設定
で大丈夫そうですか? 先ほど確認したところ、攻撃追加回数の設定は
@code = 34
@data_id = 0 #未使用
@value=0 #初期値
でした。
>>990を訂正しますが、
$data_enemies[1].features.push(RPG::BaseItem::Feature.new(34,0,1)) #スライムの攻撃追加回数を1に設定
が間違っているのか、スクリプトコマンドで設定しても機能しません(エラーではないようです)。
訂正箇所がありましたらご教示ください。 レス数が950を超えています。1000を超えると書き込みができなくなります。