X



ツクールVX Ace 初心者救済、質問スレ Part.2 [無断転載禁止]©2ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。
垢版 |
2016/04/07(木) 14:09:05.15ID:lSIBMvk5
スクリプトやイベントの組み方などが苦手な人を救済するスレです。
このスレが繁栄する事はAceの繁栄につながり、過疎スレとなるとAceの衰退につながります。

質問者を煽ったり、馬鹿にするような書き込みはしないでください。
あまり酷い場合はアクセス禁止依頼を出します。
0810名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 23:32:42.69ID:c0g1s22o
>>809
遠景自体のループというのは、マップの設定>遠景にあるチェックボックス、横方向(縦方向)にループするのことですかね?それなら入れていません
CGのサイズは横方向だけ合わせています、縦は合わせていません
遠景を床にするスクリプトは入れていません
一応聞かれたことで不備がありそうなところを直して待機してみます…いちいち手間かけて申し訳ありません
0813名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 08:50:25.85ID:+fs9tsw5
先日の変身を利用した戦闘アニメーションなんですが、なんとか攻撃アニメーション→変身アニメーションに短縮化するまでできました、
これで戦闘アニメーション(移動)→変身アニメーション→戦闘アニメーション(攻撃エフェクト)とできれば完璧なんですが、scene_battleのどこを弄ればいいんでしょうか…?
0814名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 09:01:03.57ID:+fs9tsw5
すいません、なんとか対応策が出来ました
具体的には、スキルから攻撃アニメーションを外し、自前の移動のみのアニメーションと攻撃アニメーションを組み合わせます、お騒がせしました
0815名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 09:19:52.07ID:+fs9tsw5
…出来ませんでした
スキルの移動命令ってアニメーションの中でやってないんですね…
代替としてRPSS2,3兼用の敵座標調整スクリプトを使ってみようと試みましたが、なぜかY座標を入力するとエラーが出るっていう…
敵のバトラーを移動させるスクリプトって何かありませんかね…、ちなみに今更ですがサイドビュー戦闘です
0816名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 09:27:12.61ID:M/bggjGY
レスが小分けされてて何がしたいのか分かりにくいというか日またぎIDのレス追うのが面倒
質問内容をまとめて書いて
0817名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 09:40:30.72ID:+fs9tsw5
すいません、纏めると要望としてはサイドビューにて戦闘中に任意に敵の移動ができるスクリプトを探しています
イベントコマンドのスクリプトで操作できるのが望ましいです
0818名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 10:58:10.43ID:M/bggjGY
◆スクリプト:move_enemy(1, 60, 60, 120) #敵番号, X, Y, フレーム数

class Game_Interpreter
def move_enemy(id, x, y, duration)
$game_troop.members[id - 1].target_x = x
$game_troop.members[id - 1].target_y = y
$game_troop.members[id - 1].duration = duration
end
end
class Game_Enemy < Game_Battler
attr_accessor :target_x
attr_accessor :target_y
attr_accessor :duration
def update_move
return if @duration == 0 || @target_x.nil? || @target_y.nil?
d = @duration
@screen_x = (@screen_x * (d - 1) + @target_x) / d
@screen_y = (@screen_y * (d - 1) + @target_y) / d
@duration -= 1
end
end
class Game_Troop < Game_Unit
alias _update update
def update
_update
update_move
end
def update_move
members.each {|enemy| enemy.update_move }
end
end
0819名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 11:08:55.27ID:+fs9tsw5
>>818
敵を移動させるスクリプトですかね?ありがとうございます…
ところでこれは$game_troopっていうのをバトルイベントなどに組み込めば使えるのでしょうか…?いちいち手間をかけてすいません…
0823名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 12:06:12.12ID:+fs9tsw5
いえ、今まで入れたスクリプトが$を頭につけてたので、てっきり今回も入力するものかと勘違いしてました
ところでX,Y,の後にあるフレームについてなんですが、指定した座標に動くんですがフレームを動かしても特に変化がないというか、瞬間移動してしまいます、これは設定が悪いんでしょうか…?
0824名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 12:16:23.60ID:M/bggjGY
わからん ほかのスクリプトと競合してるのかもしれんからその場合は流石に対応できない
変数名変更+微修正↓
ttp://www.dotup.org/uploda/www.dotup.org1268567.zip.html
0825名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 12:43:03.43ID:+fs9tsw5
眺めてきて、憶測ですけど多分サイドビューが競合してる感じですかね、サイドビュー以外は遠景を床にするスクリプトしか入れてないので
durationが何かに変更されているのかも…、探してみます
0826名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 12:45:22.02ID:+fs9tsw5
それと自分ので>>824入れたら35行目でエラー吐いたので、やっぱりサイドビュースクリプトとは相性が悪いのかもしれません、とりあえず>>818では動くのでそちらを使わせていただいております…
0827794
垢版 |
2017/06/02(金) 14:24:22.95ID:5K6A7dfQ
>>799
作っていただいたスクリプトを導入してイベントの「セーブ画面を開く」
から変数123の値から条件分岐させるやり方で、セーブしたときと
しなかったときのメッセージを変えることはできたのですが、
ロード後のメッセージを変えることができません。
何かうまいやり方はありますでしょうか?
0829名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 15:18:46.71ID:+fs9tsw5
すいません、先ほどの敵キャラ移動スクリプトなんですけど、durationというのは基本スクリプトのどの変数を指してるんですかね…?
検索をかけてみるとどうやらwaitの変数だそうなんですが
0830名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 15:24:58.30ID:+fs9tsw5
というより、今sideviewスクリプトのウェイト定義(再定義)を見たら
def wait
とあったんですけど、これって本家のGame_Interpreterにはwait(duration)とあることから純粋に変数の定義がされていないから影響されないって認識でいいんでしょうか?
0831名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 15:36:42.98ID:+fs9tsw5
連投すいません、Game_Picture内の情報を引用しているのだと自分なりの推測がつきました、それでオリジナルスクリプト内にもある@durationで検索かけて見たら見事にsideviewのスクリプト内に同名のタグ?が存在しなかったんですよね
それで、どなたかsideview内に@durationを追加する方法、もしくは類似したタグなどご存知の方はいないでしょうか…?
0833名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 15:51:45.86ID:+fs9tsw5
>>832
やっぱりそうなりますよね、これだけ文字量あると…
ちなみに試しに関係していると思われたmove_timeをdurationにしてみましたが変化はありませんでした
0834名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 16:11:54.42ID:ROeDoBs9
サポートは続いているようだし
個人で改造してひっそりと実装ならまだしも
皆が見てるところで寄って集っていじくりまわすってのがそもそもね……
0835794
垢版 |
2017/06/02(金) 17:13:25.16ID:5K6A7dfQ
>>828
他にコモンイベントで「教会の処理」っていうのを作って

セーブ画面を開く
条件分岐:変数[0123:セーブ分岐] == 0
 文章:
 : :セーブしてませんね?
    他に何か用事はあります?
 コモンイベント:[教会の処理]

 分岐終了
条件分岐:変数[0123:セーブ分岐] == 1

っていう感じでセーブしたときしてないときに関わらず、初めにある
「記録する」とか「治療する」っていう選択肢に
戻るようにしてるんですがそうするとロードのときは何も
メッセージが出ないんです。
0836名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 17:38:12.25ID:M/bggjGY
確認したら再現できた どうやらコモンイベントにバグがあるらしい
"コモンイベントでセーブを行うとイベントが正常に処理されないバグ"
でぐぐる検索
0837794
垢版 |
2017/06/02(金) 18:15:58.06ID:5K6A7dfQ
>>836
バグなんですね。検索してみると修正スクリプトを作ってる方がいたので
入れてみましたけど、今度はセーブデータのロードができなくなったり
してるのでこのあたりで止めておきます。
それでもセーブとセーブキャンセルのメッセージは変えることができたので
どうもありがとうございました。
0844名無しさん@お腹いっぱい。
垢版 |
2017/06/03(土) 17:31:02.42ID:6VaVl4Wn
コモンイベントとスイッチ、条件分岐で
敵が仲間を呼ぶスキルを作ったのですが
呼んだ敵の1匹目を倒してしまうと次の敵が現れてくれません。

具体的に言うと、
例えば、敵が左から A B C D と並んでいて、

・B、Cは初めからいてA、Dは「途中から出現」扱いで
 「仲間を呼ぶ」スキル発動でA、Dの順で出てくる
・「〜は仲間を呼んだ!」
 「それを聞きつけて仲間が現れた!」
 とメッセージが出て、敵の仲間が現れるようにしたい
・Aが呼ばれた後、先にAを倒すと、呼んでもDは出てこない
 (「仲間が現れた!」というメッセージまでは出ている)
 (Aを倒さなかったら普通にDを呼んでくれる)
・戦闘によって2〜5体ぐらいまで同様に設定できるようにしたい。
 (ずっと現れ続けなくてもいい)

作ってみたファイルを
アップロードしたのでアドバイスお願いします。

ttp://www.dotup.org/uploda/www.dotup.org1269828.zip.html
0848名無しさん@お腹いっぱい。
垢版 |
2017/06/03(土) 18:45:40.28ID:ccS2OIOD
仲間を呼んで出現したAを倒した後、また仲間を呼んだら今度はAではなくてDを出現させたいの?
0849844
垢版 |
2017/06/03(土) 18:48:56.00ID:6VaVl4Wn
>>848
そうです。同様に5体ぐらいまで同じ仕組みでできればと思っています。
もっといいやり方があるかもしれませんけど。
0851844
垢版 |
2017/06/03(土) 18:53:31.61ID:6VaVl4Wn
>>847
「仲間を呼んだーターンは無敵ステータスにする」っていうのは
どういう狙いなんですか?
0854844
垢版 |
2017/06/03(土) 19:03:05.15ID:6VaVl4Wn
>>852
そうなんですか。なるほど。
あと>>850がいい感じだったので参考にさせてもらいます。
ありがとうございました。
0855名無しさん@お腹いっぱい。
垢版 |
2017/06/04(日) 05:00:18.51ID:r9jwAcZu
キャラチップの話なんですが、!$にして画像サイズをそのまま3倍ほどに大きくして見ても3倍前のものと変わらずの大きさで表示されました
どうしたら大きくできますかね…?
0856名無しさん@お腹いっぱい。
垢版 |
2017/06/04(日) 05:12:38.96ID:X/QBwwu+
アクターでもイベントでもグラフィックを!$Gate1にしたら大きな扉が歩き回るから、画像の作り方かが悪い可能性が
0858名無しさん@お腹いっぱい。
垢版 |
2017/06/04(日) 12:14:04.91ID:mJsvmMW3
迫ってくる(下に菌につのスピードで移動してくる)巨大な物体から逃げて、
座標が重なったらゲームオーバー、特定のマスまで逃げたら脱出するというイベントを作りたいんですが
以下のイベント設定だとプレイヤーが動けずモジュールのみが動きゲームになりません
どうすればプレイヤーを動かすことができるようになるでしょうか…、分かる方いればよろしくお願いします
http://www.dotup.org/uploda/www.dotup.org1270737.jpg
0860名無しさん@お腹いっぱい。
垢版 |
2017/06/04(日) 12:43:46.51ID:mJsvmMW3
>>859
ありがとうございます、そのほか細かい点修正したら何とか形になりました!
0861名無しさん@お腹いっぱい。
垢版 |
2017/06/04(日) 22:38:50.01ID:A1F2OOjB
再び質問申し訳ないのですが、先ほど質問した襲ってくるオブジェクトからにげるイベントを作っているのですが、
以下の設定でゲームを開始すると設定した座標y=65にてオブジェクトが消失し、イベントも起きず動けるだけの状態になってしまいます。
y軸座標の設定が反映されていることから画像右のページまでは制御されていることがわかるのですが(更に言うと画像の自動実行と決定ボタンの判定から左ページ自体も判定はされている?)
左ページのイベントを正常に動作させるにはどうすればよいのでしょうか
http://www.dotup.org/uploda/www.dotup.org1271428.png

ちなみにこの前に緑枠内をマップ上にプレイヤーから接触でセルフスイッチをONするイベントを置いて試してみましたがそちらはセルフスイッチが反応しませんでした…
0863名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 03:42:28.43ID:QZC+S9GB
>>862
助言ありがとうございます、それと併せて自己解決したので報告させていただきます
最終的に到達点にイベントを製作してそことオブジェクトのY座標が重なったらの判定で乗り切りました
0864656
垢版 |
2017/06/05(月) 08:43:55.34ID:wao12PWJ
茂み属性の半透明部分の透明度は変更できますか。
もっと薄く、または状況によっては非表示くらいにできると嬉しいです。
どうかご教示ください。
0865名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 09:11:10.48ID:mXOMPvyz
スクリプトGame_CharacterBaseのupdate_bush_depthで
@bush_depth = 8 unless moving?
って記述があるけどこの8って数字を大きくすると茂みが深くなる、小さくすると浅くなる
アルファ値が変わってる訳ではなく、足元から何ドット茂みを描画するかって値なので望んでいるものとはちょっと違うかもしれないが
0866名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 09:25:49.82ID:mXOMPvyz
あとはマップチップ画像の茂みのアルファ値を薄くしてしまうか
普段の描画も薄くなってしまうけど
0867名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 09:46:22.46ID:Mni4Z0qx
マップ上で連打するミニゲームを作りたいんだけど
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10147498720
こちらを真似て作ってみてもうまく起動しないんだが、どう変えればうまくいくかな
とりあえず連打中解除を分岐で設定したところで繰り返されるので、繰り返されないようにもう一個スイッチ用意して反復を制御したけれど
肝心のその後の回数判定のイベントに行くスイッチが判定されない(該当ページのスイッチ3(溜め完了)が反応してない)
0868名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 12:17:09.74ID:wao12PWJ
>>865-866
説明不足ですみません。
おっしゃる通り深さじゃなく透明度の濃さでした。

水マップチップを歩行中に茂み属性で半透明にしたかったのですが
標準だと見た目判別しづらく、もっと透けて見えるようにしてみたかったのです。
0869名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 14:15:32.77ID:WxF6VdGP
class Sprite_Base < Sprite
#--------------------------------------------------------------------------
# オブジェクト初期化
#--------------------------------------------------------------------------
alias initialize_buooooooo initialize
def initialize(viewport = nil)
initialize_buooooooo(viewport)
self.bush_opacity = 0#ここ変えれ 0〜255
end
end

素材欄にぶちこんどき
0870名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 17:21:55.55ID:/SH1l03i
$game_party.gain_item($data_items["<メモ1>"], 1)
みたいにしたらアイテム武器防具のメモ欄に<メモ1>って書かれてるやつからランダムで入手できるようになるスクリプト作っていただきたいのですが難しいですか
0873名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 19:20:11.86ID:kslVi+Pr
>>870
複合配列のデータベース作って
キー一つあたりに複数の武器のアイテムID格納して一つだけ抽出するプログラム作れば簡単だよ
0880名無しさん@お腹いっぱい。
垢版 |
2017/06/06(火) 00:17:24.70ID:63UrHjUP
>>879
そう言われても、書いてある通りにプログラム書いてみてダメだったとしか言いようがないんだけれども
自分はマップ上で連打するミニゲームを作るのが最終的な目的だからクリソツである必要もないんだけどね
仮に自分が見よう見まねで書いた動かないプログラム乗せてなんとかなりますかね、
それでなんとかなるなら載せるんですけど、ソレってURL先に書いてあることのコピペ以上の意味はないんですよね
0888868
垢版 |
2017/06/06(火) 15:17:35.16ID:J380z9HA
>>869
お返事遅くなってしまって大変申し訳ありません!
導入して表現したかった表現が出来ました。
ありがとうございます。
0890名無しさん@お腹いっぱい。
垢版 |
2017/06/06(火) 20:06:29.36ID:bf5IkvUC
>>889
ていうか、普通にイベントコマンドでやれば?
乱数発生させれば場合分けもできるでしょ

無理してスクリプト使うとあとで訳わからなくなるよ
0892名無しさん@お腹いっぱい。
垢版 |
2017/06/08(木) 23:14:29.44ID:FZnSdmTq
すっごい初心者質問で申し訳ないんだけど
マップ作成で広範囲をコピーするスポイトって機能が左下1マスとかにしか作動しないんだけど解決策ある?
いちお再インスト、新プロジェクトに変更は試したが改善せず
0894名無しさん@お腹いっぱい。
垢版 |
2017/06/09(金) 01:18:49.84ID:39zofUfI
>>893
広がってる
右ドラッグで範囲広げてスポイトしてから左クリックでペーストしようとすると右隅1マスしかペーストできないんだよね
検索してみたら同じ症状の人いるみたいなんだが解決策が書いてない
0899名無しさん@お腹いっぱい。
垢版 |
2017/06/13(火) 03:20:18.26ID:Fnac3+gh
マップをランダムにうろついている敵に接触したら戦闘になるタイプのRPGを作っています
スイッチAがオンの時のみ敵がこちらに近づいてくるようにしたいのですが、どのようにすればよいのでしょうか
0900名無しさん@お腹いっぱい。
垢版 |
2017/06/13(火) 03:34:40.84ID:UooRY+ZX
スイッチAがオンの時のみ敵がこちらに近づいてくるようにすればいいと思います
まずイベントページ作成で新しいページを作ります
次に出現条件にスイッチAを設定します
自律移動のタイプを近づくかカスタムで設定します
以上です
0902名無しさん@お腹いっぱい。
垢版 |
2017/06/14(水) 21:46:49.70ID:qfePaiID
質問させていただきます。
・スクリプトを直接いじって、メニュー内に画像を表示させています。
・メニューのSceneは「 screen.pictures[xxx]」命令が使えないクラスの様なので
「Sprite」命令で画像を表示しています。

ここでスプライトを書き換える事は出来るのですが、
更新してしばらく旧画像の表示が残ってしまいます。
数秒から10秒程度で消えてくれるので、何らかの画面更新や
割り込み処理でスコープが外れて消えてくれるのかと思いますが
どういう命令で消えてくれるのか判然としません。

Q.この残像が残る理由、あるいは、この遅延無しで残像を消す方法を
  教えていただけないでしょうか?
0903名無しさん@お腹いっぱい。
垢版 |
2017/06/14(水) 22:10:35.89ID:PZT5TkqL
update(フレーム更新)でスプライトに変更加えたら1フレームごとに反映されるけど
ちゃんと書き換えの部分通ってるかな?
0904名無しさん@お腹いっぱい。
垢版 |
2017/06/14(水) 22:12:29.97ID:1+xdBLxW
数秒という曖昧な時間が空いてるなら十中八九ガベージコレクタが働いてんだろ
具体的にどういう組み方しているか分からないから具体的なアドバイスも出来ない

GC.startとか入れたら即座にGC起動するだろうけど
そもそもGCは最後の保険であってこういう使い方は非推奨。根本的に組み方がおかしい。
0906名無しさん@お腹いっぱい。
垢版 |
2017/06/14(水) 22:24:26.01ID:i6gle2O3
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
0907ID:qfePaiID
垢版 |
2017/06/15(木) 05:36:34.11ID:MG6k8QL1
ありがとうございます、みなさんのおかげで解決できました!
旧いコンシューマー環境の経験はあるけれど
ハードスプライトだった為か、処理中にも動的に解放するという考え方がありませんでした。
レス数が900を超えています。1000を超えると表示できなくなるよ。

ニューススポーツなんでも実況