ツクールVX Ace 初心者救済、質問スレ Part.3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
スクリプトやイベントの組み方などが苦手な人を救済するスレです。 このスレが繁栄する事はAceの繁栄につながり、過疎スレとなるとAceの衰退につながります。 質問者を煽ったり、馬鹿にするような書き込みはしないでください。 あまり酷い場合はアクセス禁止依頼を出します。 前スレ http://mao.2ch.net/test/read.cgi/gameama/1460005745/ ありがとうございました。 438と439の方法で条件分岐を作ってみます ループと条件分岐でスクリプトがやたら長くなってウィンドウの行に収まりきらないのですが、分けて書いちゃっていいのでしょうか。 横幅に収まらないから変数に入れるのはよく聞くのですが。 スクリプト素材に長いものがありますが、分けてコピペ、でいいんですかね。 超初歩的な質問ですみません。 https://pastebin.com/q4Hr6FsW このスクリプトで解像度を上げると、フェードアウトが正常になれなくなるのですが いい対策はないでしょうか? ここで聞いていいのかわかんないけど ツクールXPのgame.exeってどうやってキー入力を処理してるの? direct inputのラッパー作ったんだけどjoypadしか操作できないです やりたいのはバックグラウンドでの外部スクリプトによる 自動操作なんだけど、WM_ACTIVATEで擬似アクティブ化すると キー入力が邪魔すぎるので無効化したいです 質問です。 特定の攻撃の時だけダメージ等の表記を変えるにはどうすればいいでしょうか? 例:戦闘不能時 通常:〇〇は倒れた! 火属性攻撃時:〇〇は消し炭になった! ポケモンの身代わりやファイナルファンタジーの空蝉のような、 身代わりを召喚し、攻撃の大小にかかわらず1回だけダメージを無効化するが破壊される、といったものはどのように作ればいいのでしょうか? スクリプトを当たってみましたが、使用禁止であったりダメージ値で防げるか決まるバリアなどであり 似たようなものは見つかりませんでした ポケモンのみ代わりならダメージでいいんじゃないの? 恐らくステートごとに固定値でバリアの数値は変えられないだろうけど 状態異常も無効にすれば一応それっぽくはなる 空蝉は RGSS3 空蝉でググって一番上に出てくるやつじゃダメなん >>459 ネ実のスクリプトは、トラブルを防ぐため、規約上ネ実のゲームでしか使えないので、 求めてるものには近いのですが、残念ながら空蝉スクリプトはネ実と関係ないゲームでは使えないようです 手っ取り早いのはダメージ無効と状態異常を無効にすれば似たようなものができるのは確かなようですね・・ TP を隠し要素として使いたいのですが、ステータスウィンドウで非表示に出来てもスキルを選ぶときに表示されてしまいます。 隠し要素なので使えるようになったらスキルを選べるだけにしたいのですが、スクリプトで非表示に出来ますか? すみません。書き忘れましたが、アイテム使用でTPを上げた時のTPが○○増えた!も非表示に出来ますか class Window_SkillList < Window_Selectable def draw_skill_cost(rect, skill) if @actor.skill_mp_cost(skill) > 0 change_color(mp_cost_color, enable?(skill)) draw_text(rect, @actor.skill_mp_cost(skill), 2) end end end class Window_BattleLog < Window_Selectable def display_tp_damage(target, item) end end 回答ありがとうございます! 消えてくれました。 助かりました!! 戦闘メッセージをツクール2000のように下に出るように変える方法を教えてください セーブデータのプレイ時間を非表示にしたいんだけどどうすればいいの? Window_SaveFileのdraw_playtime行を削る >>466 >>467 だと複数いじる必要があるから セーブ画面系のスクリプトいれてプレイ時間のとこを削る方がいいかも たまにRTPをインストールしてなくてもできるゲームがありますが あれは何か特別な処置が必要なんでしょうか? RTP同梱して公開してるだけだよ ゲームデータ圧縮するときに選択できる >>469 RTPは容量削減の為に予めインストールするデフォルト素材集 つまり外部の音楽素材や画像素材やフォントのみを使って RTPに含まれる素材を一切使わないならRTPはいらない あるいは>>470 XPで申し訳ないのですが ツクールの戦闘画面は1つの画面にエネミー8つまでですが前面に4配置させ5匹目からは後面の画面に切り替わりさせることできますか? 前面に敵 A B C D 後面に敵 E F G Hがいて 戦闘になると前面が表示していて素早さの関係でGが早いため後面に切り替わりGが攻撃し次に素早いAが攻撃するため前面に切り替わりAが攻撃という感じです。 他にエネミー8までですが前面に敵5と後面に敵5とエネミー10配置することもできますか? >>470-471 なるほど ありがとうございました ずっと何もしないとかどうでもいい行動を繰り返す不真面目な仲間キャラをつくりたいんですが 何か簡単な方法はないでしょうか? 常に行動不能のステートつけといて戦闘イベントの戦闘行動の強制で動かせるのが一番楽か アクターor職業の特徴欄に 特殊効果「自動戦闘」 スキル封印「攻撃」、「防御」等 スキル追加「何もしない」「ぼーっとする」「遠くを見る」等の不真面目行動 >>476 ありがとうございます スキル封印の存在をすっかり見落としてました 質問です。シーンの作り方を教えて下さい。講座サイトを見ながらやってたんですが上手くいかず、足踏みしています。 どの部分がうまくいかなくて躓いてるのかを書いて欲しいな 1から10まで全部分かんないってことないだろうし >>480 一番最初の部分で躓いてしまってます。 class Scene_Class < Scene_Base end これでNameErrorが出ます。コピペして試して見ましたが変わらず……。 交易などに使う専門の買取店をつくりたいのですが 変数操作ってどうやればいいのでしょうか? 72個もっていたら×72の金額と変える式があるのかをきいていたんですが 講座の説明だと数の確認をするだけで変数操作そういうことはできないのですかね? 代入したり足したり引いたり掛けたり割ったり余りを出したりできるよ キャラ1体のHPを強制的に777にする(現在のHPが600でも800でも777に)スキルを作ったのですが、 HPダメージでもHP回復でも、ダメージか回復をどちらも行うということが出来ませんでした(ダメージを受けずに0になる。) 計算式だけで記述は可能でしょうか?(スクリプトの使用でも問題ありません) MP吸収にでもして b.hp = 777;0 にしたらできそう 素材もセールされてるけど 音楽素材ってどんな曲か確認できないの? いくら安くてもゴミみたいな曲買うのはちょっとね 値段設定もゴミ素材でも高いとこみると勝手に設定してるっぽいから信用できない データベース上限突破ってスクリプトがあるけど これどれ位までなら安定しているんでしょうか? アニメーション設定の詳しい解説ってないんでしょうか? ツクールACEでドラクエの奇跡の剣を再現したくてスキルにコモンイベント付けて 攻撃→使用者HP回復 ってやりたいんだけど、この回復量を与えたダメージの○%にしたいです 最初の攻撃で与えたダメージを変数に取得する方法があれば教えてください ミスした時は0を取得出来ると尚良いです 質問させて下さい 戦闘中のコモンイベントでアクター1から4のHP等を回復させた時に画面の情報が一辺に変わるのではなく、1人1人ピロン、ピロン、と変わるようにするにはどうしたら良いのでしょう? 1人回復、ウエイト、2人目人回復ウエイト…としても画面は一辺にパッと変わっちゃいます >>492 そもそもデフォの999の時点で多少動作は重い どうしても足りないのを補うスクリプトだから 足りなくなるまで容量使い切ってから少しずつ増やしていくものだし パソコンや設定量にもよるだろうから一概に回答できない 結論は「自分で納得できる範囲で決めろ」しかないと思う >>493 MVのだけど大体一緒だからこれ見ればいいと思うが 正直動画なんかなくてもやってれば分かると思う https://www.youtube.com/watch?v=_drxRQQ8ks0 >>494 デフォ機能しか使わないなら無理 素材スクリプト使うなら https://tm.lucky-duet.com/viewtopic.php?t=4446 http://artificialprovidence.web.fc2.com/rgss3/r3enhance/RGSS3DRAIN_ATTACK.txt このあたり >>495 ターン終了時のイベントに限るなら 適当に何もしない行動を戦闘行動の強制でやらせれば それでウィンドウが更新される イベントコマンドのスクリプトを使っていいなら SceneManager.scene.refresh_status これでいける 変数1番に格納されている数字の百の位と十の位と一の位を それぞれ2番〜4番に格納したいのですが、 何か良い計算方法はないでしょうか? 例をあげると、 変数ID1の数値が357だったとして、 変数ID2に3、 変数ID3に5、 変数ID4に7 を代入させたいという感じです。 文字列にしてから取り出した物を数値にして代入 a = $game_variables[1].to_s $game_variables[2] = a[-3].to_i $game_variables[3] = a[-2].to_i $game_variables[4] = a[-1].to_i 別にスクリプトに頼らなくても デフォルトのイベントコマンドで問題なくできるよ 変数ID2に変数1を100で除算したもの 変数ID3に変数1を10で除算したもの 変数ID4に変数1を10で剰余したもの >>499 ありがとうございまっす! 簡単に実現できてありがたいです! >>500 なるほど、変数に格納される数字って小数点以下は省かれる仕様だったのですね…。 357を100で除算すると3.57になるものかとばっかり 思ったより簡単に出来てびっくりです参考になります ステートのダメージってデフォだと%でしか設定できないのでしょうか? 素材サイトにツクールブログの改変素材というのがあるんですが ツクールブログにいっても元の素材がない場合も使って大丈夫なんでしょうか? 今はなくとも過去に配ってたっていう経緯があるならいいんじゃない 配布してた当時の規約に従う必要はあるけど こんにちは、ちょっとダメ元で相談させて下さい VX Aceで以前活動していたウサギマスクさんという方の「アクター量産スクリプト(ドラクエのルイーダ酒場やモンスター仲間システムのさ再現)」を利用させて頂きたく、ダウンロードしたのですが ダウンロードしたサンプルゲームをデフォルトの状態でパーティに状態異常(戦闘不能)があると戦闘終了時にエラーが出てしまいました 仲間勧誘確率関係らしいのですがその行だけ消しても上手く動きませんでした 配布されている方は既に活動をしていないようなのでバグ報告と修正のお願いも出来ない状態です 配布されている方のオリジナルスクリプトですので本当にダメ元なのですが修正箇所など分かる方がいらっしゃいましたら教えて下さい 宜しくお願いします スクリプトを配布しているHP http://usagimask.web.fc2.com/ 戦闘終了時のエラー https://i.imgur.com/GlpeQgX.jpg スクリプトのエラー箇所189行目 https://i.imgur.com/IMjPzbk.jpg んーデフォの状態だと普通に戦闘終わったけどな どういう状況なんだろ 返信ありがとうございます 仲間(自分はナタリー)を戦闘不能で出るんですが再現出来ませんか? 自分はサンプルそのままでパーティにナタリー入れて戦闘不能付加しただけで、エラー再現出来るんですが… ならないな バージョン書いてないからわからないけどDLし直してみたら? ありがとうございます 再度やってみましたが、自分の環境では同じくエラーが出ます VX Ace は1.02 Ruby 1.9.2 スクリプトはたった今ダウンロードした物で同じく 開始パーティにナタリーを加え ナタリーに戦闘不能付加した後 スライム2匹(通常エンカウント) スライムを倒すとエラー と、なります 追記 同じ条件 ・スライムを倒す ・戦闘終了時にナタリーが戦闘不能 以下の条件を試行 ・初期値パーティにナタリー←エラー ・ゲーム中にパーティにナタリーが加入←エラー ・戦闘開始時点で既に戦闘不能←エラー ・その戦闘中にダメージ受けて戦闘不能←エラー ちなみに戦闘から逃走した場合はエラーになりません 仲間勧誘率アップのフラグが関係しているからだと思いますが… うーん、自分のとID:a/o5S4ucさんのとVX Ace のバージョンが違うのでしょうか? 動作スクリプト 内の class Game_Party 勧誘率アップを取得 (590行目付近) def invite_plus_per battle_members.inject(0.0) {|r, data| r += data.invite_plus_per if data.alive?} end を def invite_plus_per battle_members.inject(0.0) {|r, data| r += if data.alive? then data.invite_plus_per else 0 end} end にしたらエラーが出なくなったよ >>514 ありがとうございます! こちらの環境でもエラーを回避出来ました、本当にありがとうございます 本当にダメ元でしたがありがとうございました! ところで疑問なのですが「勧誘率アップを取得」という項目は530行辺りにもありますがコチラはそのままで問題は無いのでしょうか? なぜか最近になって、VX ace製のゲームを起動して「はじめから」「New game」などの最初のスタートコマンドを押すと 「RGSS3 プレイヤーは動作を停止しました」と出て強制的に落ちてしまうようになりました。以前は普通にできていました 「続きから」などを選択しデータロードして開始する分には異常が発生しません。どのゲームでもVX ace製だとこうなります DEPの設定を変えても駄目でした。イベントビューアで確認すると\System\RGSS301.dllが原因で障害が発生していると出ました これ以上やってもどうすれば改善できるのかわからない状況です。すみませんがどなたか助けて下さい! ランタイム入れ直し 互換モードを変更 OSクリーンインストールの順 味方が攻撃をかわした時と敵が攻撃をかわした時に違うメッセージを表示するために、 味方が攻撃を外した場合はresult.missedを返し、敵が攻撃を外した場合はresult.evadedを返す、 といったようにしようと思ったのですが、攻撃している(行動している)キャラクターの判定(敵か味方か)というのは どのように記述すれば取得できるのでしょうか? どこで判別するかにもよるけど 対象に対してactor?とかで調べたらいいんじゃないの これでアクターじゃなければエネミーだし すごい基礎的なことかもしれなくて申し訳ないんだけど スクリプトエディタに自作したクラス、メソッドを class A def B 処理 end end ってして、イベントスクリプト呼び出したいメソッドで A.B()ってやってもnameエラー出るんだけど VXAceのヘルプとかRubyの文法調べても良くわからなくて class A def self.B 処理 end end で出来ると思うけどインスタンス化しないならmoduleで良いと思うよ module A def self.B 処理 end end すみません、質問させてください 戦闘背景はマップ毎に設定出来て、未設定にするとマップチップ毎?に背景が選ばれる仕様ですが この自動で選ばれる背景って自分で組み合わせる事は出来ますか? もしくはリージョン毎に背景を設定とか >>521 ありがとうございます これで処理分割して構造化できる ダメージを与えるスキルへの耐性を%で減少ではなく確率で効くか効かないかに出来ますか? 分かりにくいにくいかも知れませんがドラクエ3のような効けばフルダメージ、効かなければダメージ0 (同じドラクエでも多分5以降は%耐性になってるのかな) >>525 は通常のスキルは%耐性で良いのですが例えばドラクエのマホトラのように効くか効かないか(効けば効果100%)のスキルが欲しいので方法があれば知りたいです ピクチャを表示して、移動させながらマップのジャンプやイベントの移動などを行っているとフリーズします これって何か解決法ありますか? >>525-526 (b.element_rate(200) > rand) ? XYZ : 0 XYZ部分に本来のダメージの計算式を入れる これで属性ID200の有効度で判定を行い、満たさない場合はダメージが0になる。 有効度100%の場合は100%の確率でダメージが通る 有効度50%の場合は50%の確率でダメージが通る ただしあくまでダメージを対象としてるから使用効果までは止まらないので 使用効果がついてるスキルならこういうスクリプト素材でなんとかするしかない http://artificialprovidence.web.fc2.com/rgss3/r3enhance/RGSS3VOID_SKILL.txt デバッグ中に少し操作をするだけで突然stack level too deepってエラーが出てVXAceが落ちて困ってます http://trymemory.muspell.raindrop.jp/?eid=23 から、そのstackを出してくれるスクリプトを見つけたのですがあまり意味が分かっていません 以下のログが連続して出ているのですが、Scene関係を継承してるスクリプトが何か悪さをしているという認識でいいんでしょうか……? Time: 2019-09-08 20:29:24 +0900 CRITICAL OBJECT #<Window_SaveFile:0xef991ac> In Scene Scene_Load Creation Stack:: Script 0110 -- Scene_File, Line: 60:in `block in create_savefile_windows' Script 0110 -- Scene_File, Line: 59:in `initialize' Script 0110 -- Scene_File, Line: 59:in `new' Script 0110 -- Scene_File, Line: 59:in `create_savefile_windows' Script 0110 -- Scene_File, Line: 15:in `start' Script 0100 -- Scene_Base, Line: 12:in `main' Script 0122 -- クラッシュ出力, Line: 246:in `main' Script 0006 -- SceneManager, Line: 22:in `run' Script 0171 -- Main, Line: 8:in `block in <main>' :1:in `block in rgss_main' :1:in `loop' :1:in `rgss_main' Script 0171 -- Main, Line: 7:in `<main>' ruby:in `eval' イベントコマンドのスクリプトではscreen.pictureが機能するのですが、 スクリプトエディタでscreen.pictureが機能しません そういう仕様なのですか? 質問させて下さい。 入手先の異なる素材のBGMとかの音量をゲーム中で同じ位の音量にするには何をすれば良いのでしょう? 素材によってビックリするほど音量が大きかったり、小さくて聞こえなかったりをある程度は解消したいです。 Audicatyってフリーソフトで編集 ソフト開いて編集したいoggなりmp3をてきとうにドラッグアンドドロップ 左に音量の+/−のつまみがあるからそれで音量調整してファイル→書き出しでおk >>537 ありがとうございます 早速試してみます! すみません質問です さわりたての素人レベルの質問でごめんなさい ゲームプロジェクトの圧縮と暗号化は2GB以上だと失敗するというのは あくまで目安でしょうか? 場合によっては1.5GBでも失敗したり、2.5GBでも成功したりといった こともありえるのですか? 普通に考えて容量が2GBを超えることはありえませんがこのあたりの 知識がうといのでよろしくおねがいします。 2G がどうのなのはVXであってVXACEなら気にしなくていいよ 使ってるのがVXだったらなんかやんなきゃだめだったような >>534 Game_Interpreter内のscreenは186行目を参考に 大体$game_map.screenで置き換えられる イベントコマンド(Game_Interpreter)の場合: screen.pictures スクリプトエディタ内の場合: $game_map.screen.pictures 質問させて下さい。 戦闘中に敵の特技で味方を一時的に戦闘メンバーから外すにはどうしたら良いでしょうか? イメージ的にはドラクエのバシルーラみたいな感じで戦闘終了後、もしくは次のターンにパーティ入れ替え等で簡単に復帰出来るような >>545 それって状態異常のステートで解決てきない? 指定キャラは特定ターン数経過か戦闘終了まで吹き飛ばしのステート 吹き飛ばしのステートが付いてると攻撃不能で、同時に敵からも攻撃されない 状態異常解除とかで復帰されると困るとか、状態異常解除から吹き飛ばしステート以外解除になるように設定変えるの嫌ならイベント挟んだ方がいいね お答え頂いてありがとうございます。 ただ、申し訳ないんですが 行動出来ないという状態異常ではなくてアクターを一時的に外すというパーティ編成が希望です。 ちなみにエネミー側は強制的に逃走させるステートで同じような挙動は作れてます。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる