レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
ツクール質問スレ
ここはRPGツクールシリーズの製作技術に関する質問を扱うスレです。
■質問する前に■
質問前にマニュアルやヘルプを読んでみましょう。
ヘルプ・公式サイトの講座・FAQ・wikiを調べる、ググるなどしましょう
解決するかもしれません。
■質問者の心構え■
・質問の冒頭でツクールのバージョンは必ず申告すること。(2000かXPかVXかVX Aceかを書く)
・煽られても煽り返さず放置。(質問者にとってますます悪い結果になる)
・回答を催促しない。(回答が得られない理由を考えよう)
・納得のいかない回答しか得られなくても文句を言わない。
・情報の小出しはしない。一回にまとめて。
・回答が得られた場合、その経過を報告する。(上手く行ったかどうか)
■回答者の心構え■
・質問の答えが解り、気が向いたならレスを。解らないor気が向かないなら放置を。
・回答に関係のないレスは基本しない事。
・質問者への煽りは禁止。(気に入らない質問内容は放置で)
・荒らしには放置を徹底。
・質問者の態度等が気に入らない場合は放置してください。
・違法行為や不正に関する話題は放置する事。
【関連サイト】
●ツクール公式
http://tkool.jp/
乙
テスト
VXAceです。
キャラに話しかける→そのアクターのステータス画面→パーティに加えますか?
・・・という流れを作りたいのですが、
SceneManager.call(Scene_Status) でステータスのシーンを呼び出すまではできたものの
パーティ内のステータス画面しか開けず詰まってしまいました。
「パーティ外も含めた指定アクターのみの」ステータス画面を開くにはどうすればよいでしょうか?
>>4
Scene_Statusの構造見る限り、Scene_Statusそのままでは難しいので、
Scene_Statusをコピーしたパーティ外のアクターも呼び出せるシーンを
自分で作るしかないんじゃないかな。
そもそもScene_StatusはLRでアクターの切り替えができるから、
そのまま使うと不具合が出ると思う。
まあ、変数のアクターを開く、みたいに改造することもできなくはないけど、
LRの解消に加えて元のステータスとの整合性とらないとだめだから、コピーして作ったほうが早そう。
下記のスクリプトを入れて、
SceneManager.call(Scene_Status2)で呼び出します。
その前に、変数に呼び出したいアクターのIDを代入してください。
class Scene_Status2 < Scene_MenuBase
# 変数の番号を設定
STATTUS_ID = 20
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
def start
super
@status_window = Window_Status.new($game_actors[$game_variables[STATTUS_ID]])
# 決定で戻る
@status_window.set_handler(:ok, method(:return_scene))
# キャンセルで戻る
@status_window.set_handler(:cancel, method(:return_scene))
end
end
>>5 ,6 回答ありがとうございます!
結果的に素材をリクエストするような形になってしまいましたが、
OSDでよろしいでしょうか?
>>7
自由に使うのは構わないが、素材として配布は認めない。
素材じゃないので、不具合の対応はしない。
VX ACEにてメニューのコマンドを横並び、選択項目の文字列をアイコンに変更したいのですがどうすればいいでしょうか?
リクエストと質問の区別のつかんのか
スクリプトいじったことある奴ならスクリプトの要不要をすぐ判断できるけど
ガチ初心者だとどこまでがデフォでできるのかすらわからないこともあるし煽らずに誘導しろ
>>9
http://jbbs.shitaraba.net/bbs/read.cgi/game/59291/1441515356/
その要求はスクリプト必須だからここでリクエストするといい
作ってもらえたらラッキーぐらいの気持ちで
>>9
まず、横並びにするには、
Window_MenuCommandクラスの、スーパークラスをWindow_HorzCommandに変更する。
visible_line_numberのメソッドは不要なので消す。
アイコンを表示するには、簡単な方なら、
制御文字を使えるようにすれば良い。
draw_itemをオーバーライドして、
draw_textではなく、draw_text_exを使うように変更する。
Vocab::○○が、名前なので、
そこを"\\I[アイコンの番号]"と変えていく。
それでアイコンに変わるはずです。
>>11-12
ありがとうございます、お陰で解決しました!
めっちゃ初歩的な質問かもしれませんが、ゲームオーバー画面って変更が効かないのでしょうか?
システム項目みてもイベントコマンドを見ても設定項目が見つからないのですが・・・
結構簡単なことだから普通にできそうなのですが、もしかしてどこか見落としてる・・?
>>14
音楽はデータベース>システムタブの音楽から
画像は/Graphics/System/GameOver.pngを書き換え
返答ありがとうございます。
本当は各章によってゲームオーバー画面を変更、みたいな事がしたかったのですが、
どうやら無理っぽいみたいですね。元の画像の変更で妥協します・・・
>>16
できると思うぞ。こういうスレでは、やりたいことは一番最初に言うもんだ
#==============================================================================
# ■ Scene_Gameover
#------------------------------------------------------------------------------
# ゲームオーバー画面の処理を行うクラスです。
#==============================================================================
class Scene_Gameover < Scene_Base
#--------------------------------------------------------------------------
# ● 背景の作成
#--------------------------------------------------------------------------
def create_background
@sprite = Sprite.new
@sprite.bitmap = Cache.system("GameOver")
end
end
これはゲームオーバー時の画像関連のだが、
@sprite.bitmap = Cache.system("GameOver")の行でファイルを読み込んでる。
つまり"GameOver"を何かしらの形で"GameOver01"とかに書き換えて
"GameOver02""GameOver03"とできれば……無理か?
うーむ、理系な作業は苦手な分野なので難しいですね。
とゆーかここから先は別のリクエストスレの範囲になりそうな感じ・・・どうしよう・・・
スクリプトScene_Gameoverをいじる(2箇所)
#==============================================================================
# ■ Scene_Gameover
#------------------------------------------------------------------------------
# ゲームオーバー画面の処理を行うクラスです。
#==============================================================================
$GameoverSrc = "Gameover" #■この行を追加
class Scene_Gameover < Scene_Base
…
…
…
#--------------------------------------------------------------------------
# ● 背景の作成
#--------------------------------------------------------------------------
def create_background
@sprite = Sprite.new
@sprite.bitmap = Cache.system($GameoverIMG) #■変更部分
end
イベントの編集でコマンド「スクリプト」を実行
実行内容
◆スクリプト : $GameoverSrc = "Gameover2"
◆ゲームオーバー
ああ、あとSystemフォルダにGameover2.pngを入れといて
>>17
それのゲームオーバー画像をダミーアクターを作ってダミーアクターの名前を参考に呼び出すようにするといいよ
イベントのアクターネーム変更で他のゲームオーバー画像の名前を入力する
すまんミスったわ
@sprite.bitmap = Cache.system($GameoverIMG)
じゃなく
@sprite.bitmap = Cache.system($GameoverSrc)
Scene_Gameoverの場所くらいはわかるよね?
#==============================================================================
# ■ Scene_Gameover
#------------------------------------------------------------------------------
# ゲームオーバー画面の処理を行うクラスです。
#==============================================================================
class Scene_Gameover < Scene_Base
#--------------------------------------------------------------------------
# ● 背景の作成
#--------------------------------------------------------------------------
GAMEOVER_VAR_ID = 35
def create_background
@sprite = Sprite.new
name = "GameOver"
num = $game_variables[GAMEOVER_VAR_ID]
name = sprintf("%s%02d",name,num) if num > 0
@sprite.bitmap = Cache.system(name)
end
end
こうかな。
変数35番が0ならデフォルトのGameOverを、1ならGameOver01、2ならGameOver02、といった具合で読み込む。
あ、こっちにきてた・・・
つい早まってリクスレに行ってしまっ・・・
回答ありがとうございます。
まさか即答で返ってくるとは思いませんでした。
本当にありがとうございます。
class Scene_Gameover < Scene_Base
#--------------------------------------------------------------------------
# ● 背景の作成
#--------------------------------------------------------------------------
def create_background
@sprite = Sprite.new
str = $game_variables[98].to_s
@sprite.bitmap = Cache.system("GameOver"+str)
end
end
他のことやってたら出遅れた
23とほぼ同じ回答だけども変数98番に対応した"GameOver0.png"等が開かられる感じで。
解決したようで何より
vxaceで、隊列歩行のキャラ同士の距離を広げる方法を教えて下さい
Game_Followersの@dataに隊列のキャラ情報が入るみたいだから、
キャラ間に透明のキャラを追加してみたらできるんじゃないかな
透明キャラはGame_Followerを継承したクラスを作ったらいいと思う
他にもっといい方法があるかも
class Game_Followers
SPACE = 1 # キャラ間の距離
def initialize(leader)
@visible = $data_system.opt_followers
@gathering = false
@data = []
if SPACE > 0
@data.push(Game_Follower_Dummy.new(0, leader))
(SPACE - 1).times{
@data.push(Game_Follower_Dummy.new(0, @data[-1]))
}
@data.push(Game_Follower.new(1, @data[-1]))
else
@data.push(Game_Follower.new(1, leader))
end
(2...$game_party.max_battle_members).each do |index|
SPACE.times{
@data.push(Game_Follower_Dummy.new(0, @data[-1]))
}
@data.push(Game_Follower.new(index, @data[-1]))
end
end
end
#透明のフォロワー
class Game_Follower_Dummy < Game_Follower
def initialize(member_index, preceding_character)
super(member_index, preceding_character)
@transparent = true
end
def update
super
@transparent = true
end
end
>>27
おお!これは凄い!距離もいいかんじですね。
ありがとうございます。
マップ移動して戻ってきた時に特定の並列イベントの再生位置を復元したいんだけど
あらかじめ退避しておいたinterpreterを入れなおしたら再生位置は復元できたけどその回の実行が終わったら止まっちゃったんだけど並列処理を継続するにはどうしたらいい?
すまんinterpreter入れなおしは関係なかった
ん?並列処理を復元再生?なんか並列処理の使い方自体間違ってないか?
どんなイベント処理してんだ?
動く足場作ったんだけどその足場の移動を並列処理の移動ルートの設定で実行してる
足場としての処理は全部スクリプト内でやってるからイベントの中身は移動ルートの設定と、名前欄にキーワード入れてるだけ
自作戦闘システムでマップ移動使ってて戦闘が終わるたびにイベントがセットアップしなおされるから、足場の位置も最初からになっちゃうんだよね
>>30 の後もいじってたらmove_route関連を入れなおすのと、戦闘直後のみ@move_route内に既にオブジェクトが入ってる場合は上書きしないようにしたら移動の再生だけは復帰できるようになったから一応は解決したんだけど
今後使いみちがあるかもしれないから再生位置の復帰は一応知っておきたい
marshal_dumpとmarshal_load
質問というよりちょっとした疑問なんだけど
Game_Player、Game_Event、Game_Follower、どれもGame_Characterクラスを継承してるけど
Game_CharacterBaseとGame_Characterが分かれてる意味ってあるの?
>>34
Game_BattlerBaseとGame_Battlerにも言える事だと思いますが
あくまで最低限の機能だけを使って他に使えるようにと
分けてあるのかと思われます。
特にそこから継承しているデフォのクラスだけを使うのであれば
分ける意味は全くないのではないでしょうか。
>>35
なにかしら自作する時にGame_Characterクラスのメソッドは別にいらねって場合にBaseのほう継承すればいいってだけでそれ以上の意味はないってことかな
ありがとう
VXAceです。
たいまつのような、足踏みアニメで揺らめきを表現するタイプの
グラフィックを持ったイベントを、
強制移動床に乗せるという演出で移動速度を速くすると、
揺らめき具合も速くなってしまうのですが、
これを連動させないためには、どうするのがよいでしょうか?
スクリプトでもかまいません。
強制移動床ってなんですか?スクリプトならそれが原因です
移動速度を上げるとグラフックの動きが早くなるのが原因じゃないの?
へぷたなすくろーるっていうサイトにある『足踏み速度の独立化』ってやつを使ってみればどうだろう。
機能するかどうかは知らんが・・・
ありがとうございます。
これでうまく対応できそうです。
質問です。VXAceです。
逃走不可の設定にしてもデフォだと逃走アイテムで簡単に
逃げられてイベント進行に支障が出て困っているのですが、
逃走不可の設定にしたら逃走アイテムも使えないようにするにはどうすればいいのでしょうか?
>>42
スクリプトのWindow_BattleItemクラスに以下のメソッドを追加する
#--------------------------------------------------------------------------
# ● アイテムを許可状態で表示するかどうか
#--------------------------------------------------------------------------
def enable?(item)
return false if !BattleManager.can_escape? &&
item.effects.any? do |effect|
effect.code == Game_Battler::EFFECT_SPECIAL &&
effect.data_id == Game_Battler::SPECIAL_EFFECT_ESCAPE
end
$game_party.usable?(item)
end
これでいけるやろ
いけました。ありがとう!
やったぜ
がんばってやー
VXAceです。F1キーを押しても、ゲームのプロパティ画面を出さない方法はありますか?
ないです、無理です
プレイヤーを不快にさせる以外意味のない変更
ゲームのプロパティ的な画面を新しいウィンドウじゃなくてゲーム画面に描写するようにしたかったんですけど
無いなら仕方ないので諦めます
ありがとうございました
てst
VX Aceです。
4bitで足りる数値データを各アクターに対して大量に持たせたいんですが、
適当に数値を入れたら32bitくらい確保されてしまうんでしょうか?
セーブデータが重くなるのが心配です。
4bitしか確保しないやり方があれば教えていただけると助かります。
32bit確保されるんなら、1つの変数で8つの数値を管理すればいいのでは…
まあ、文字列で確保すればbyte単位での容量の確保ができるんじゃないかな?
ただ、セーブ容量減らしても、データを全部展開する必要があったりすると、GCでカクついちゃうけど。
米一粒我慢してダイエットしたつもりになってるようなもの
Game_ActorかRPG::Actorか
そもそも大量がどれぐらいの数なのか曖昧すぎる
>>52
入れる数値にあわせて変数の型も調節されたと思う
タッチしたらその位置へ歩いていくんじゃ、迷路を作る意味がないね
通行可能のタイルをタップしたらそこに歩いていくのか
絶対入れないエリアだったら流石に反応しないのかな
通行可否で判定なら隠し通路作っても無視するのか
>>54 は間違い無くクソゲー作者
VX Aceのことで質問させてください。
フォントを変えるとモノによっては文の最後に中黒のようなもの(・)が付きます。
それが一種類や二種類ではないので困っています。
どうすればこれを消せるのでしょうか?
CACAO氏のところのFun Patch導入すればいい。検索すればでてくる
色々修正されてるけどそれぞれ独立して動いてるから必要なのだけ使うことも出来る
VXAceの質問です 制作環境はWindows8.1です
Windowsのエクスプローラはサムネイルのキャッシュファイルを生成しますが
ファイル>ゲームデータの圧縮>暗号化アーカイブを作成する
を実行した場合プロジェクトの各フォルダ内のキャッシュファイルも
そのまま取り込んでしまうのでしょうか?
>>63
ありがとうございます!
理想通りです!助かりました!
戦闘画面の立ち絵でダメージを受けるたびに表情を変えたいのですが思い通りにできません
使用しているスクリプトはももまる氏のXPスタイルバトルです
被ダメージ時はひとまず置いておき、毒になったときにも別の立ち絵に変わるようにしようと思ったのですが
こちらはターンの終了時のみの変更で毒になってもすぐに変更されません。他のステートでも同様です
これらはコモンイベント、バトルイベント、スクリプト、どれをいじれば思い通りにできるのでしょうか…
>>66
冒頭でのバージョンがVXAceという申告をし忘れていました
被ダメージは妥協し、ステートは自分でがんばろうかと思うので回答はもう大丈夫です
失礼しました
>>66-67
://blueredzone.com/script/script.html
多分ここの「ダメージイベント」を使えば何とかなると思う
://artificialprovidence.web.fc2.com/
ここの「変装特徴」とか
://ranranabbb.blog.fc2.com/blog-entry-174.html
ここも参考になるかも知れない
↑httpを抜いてます
>>68 二番目のスクリプトを試してみました
この変装特徴は顔グラのみが変わるようで、XPスタイルバトルスクリプトの立ち絵を表示させる
バトラーグラフィック = "ファイル名"というメモ設定では立ち絵は変更されませんでした…
ですが、毒状態になったときにすぐに顔グラが変更されるというのは理想に近い状態でした
もう少し両方のスクリプトについて理解を深めたいと思います
ご回答ありがとうございました
>>69
顔グラじゃなく立ち絵でしたね、すみません
://declarewar.blog.fc2.com/
ここの「レーネさん素材まとめ」に
ステートで立ち絵を変えられるスクリプトがあるようです
同じページの「RGSS3小物」に更にその拡張版もありますね
試してないから分かりませんが
>>70
素材集に入っていたスクリプトでステート、被ダメージの両方を理想通りに変更することができました!
おかげで表現の幅が広がり、うれしいかぎりです
これからはもっと自分でヘルプや配布サイトなどを隈なく調べるように心がけます
本当にありがとうございました!
VXACEでの作品が完成したのでVectorにアップロードしたいと考えているのですが、
どういう手順で圧縮などしたらいいのか、調べても出てこないので
よく分かりません。
見た限りZIPファイルにしてあることが多いようですが、
ツクール標準搭載の圧縮機能は使わないのですか?
(ツクール標準搭載の圧縮機能を使おうにも、Readmeを置けないので
使えない気もしますが)
あと、バグが判明したらアップデートをしなければいけないのでしょうが、
その仕方も分かりません。
申し訳ないですがご回答をお願いします。
>>72
標準搭載ので圧縮暗号化し解凍したものをzipなどで再圧縮する
調べる前に頭を使え
なるほど、単純なことすぎて盲点でした。
ご教示ありがとうございます。
exeは回答してからにしるといい
>>75
圧縮暗号化したファイルを解凍してからzipなどで再圧縮するのではなく、
ツクールで圧縮暗号化したexeファイルをzipで圧縮して配布ということでしょうか?
名前、73ではなく72でした
失礼しました
>>76
お前はzipを解凍してから再びexeを解凍させる手間をせっかく遊んでくれるプレイヤーに強要するのか?
>>76
ツクールで圧縮してできたexeをまず解凍してフォルダになった状態でzipに圧縮してください
手順を完璧に把握できました。
ありがとうございます。
悩みが晴れました。
RPG探検隊様の素材はサポート終了、利用規約もなしとの事なのでこちらに失礼させていただきます
RPG探検隊様のサイドビュー(Ace)はtrueかfalseを返すスクリプトで条件分岐ができるようですが、
攻撃が命中したかで分岐させるにはどのように記述すれば良いでしょうか?
ツクールMV スクリプトも何も入れてない状態です
スペックは問題ありません Windows10 core i7 32GBメモリ 960ti
画面の色調変更(Tint Screen)が重すぎてFPSが酷く落ちます
FPSが10~20前後になります 解決策はありませんか?
>>82
Windows7 i5 メモリ16GBだけど画面の色を変えてもFPSは60を維持したままだよ
イベントに画面の色調変更だけやってもその状態になるの?
毎フレーム実行してんじゃね
Rendering EngineがCanvasが原因なのはわかったけど
chromeやfirefoxを何度インストールし直して既定のプログラムを変更して
新規プロジェクト→テストプレイしてもCanvasから変わってくれない
index.html開けばEngineはWebGLになってくれるのに・・・
プロジェクトのファイルパスに2バイト文字が含まれるのが原因なのかと思い C:直下に置いて
プロトコルを完全にリセットする為にIE以外のブラウザを全部アンインストールして
x86FireFox入れなおしてFireFoxのセキュリティを最低に落としてFireWallとAntiVirusを切って
ツクールもインストールし直したからどれが原因かわからんが兎も角治った\(^o^)/
ウィザードリィみたいに
ワープポイントを踏んだら
ランダムでMAPの座標のどこかにワープさせる。
普通に歩ける地点にワープした場合は問題なく、
ここまでは簡単に出来るんだけれども
壁の中とか移動不可能な地点にワープした場合に
ゲームオーバーにするか、再度別の歩ける地点にワープするまで
繰り返し処理するか、といった処理をしたいのですが
ワープ地点が移動可能か不可能かの分岐処理って、
どうすればできるでしょうか?
位置情報の取得で地形タグかリージョンID取得して分岐すればいけそう
移動できないチップにどっちか好きな数字いれておけば
移動負荷のマップチップに地形タグつけて指定座標の地形タグで判別
なるほど、リージョンタグ。
ありがとうございました。
質問させて頂きます。
VXAceで武器に攻撃時属性を火と雷など複数の属性を付けている時に
%が高い方だけではなく、乗算?でしょうか、複数の属性を相乗効果として
表現したいのですがどのようにしたらできるのでしょうか?
よろしくおねがいします。
素材サイトを探せばそういうスクリプトが見つかると思いますが、
スクリプトを使わない場合はたとえば火属性、雷属性、火雷属性、というように
複合属性自体を1つの属性として用意すればそれっぽくなりますよ。
火属性と雷属性が付いた武器には火雷属性も付けるようにして、
敵の耐性を火属性200%、雷属性200%、火雷属性400%、といった感じで設定すればいいです。
組み合わせが増えるとすごく大変ですが・・・
elements_max_rateをちょろっと変更するだけでできる。
単純な掛け算でいいならこれで検索すれば一瞬でみつかる。
91です。
教えて頂きありがとうございました。組み合わせが多くなりそうなので
93さんに教えていただいた方を試してみようと思います。
elements〜で検索したら出てきました。ありがとうございます。
MV海外版トライアルです。
プレイヤーが移動中かそうでないかを判定したいのですが、
どのようにすれば実現できるでしょうか。
VXAceの条件分岐:スクリプト:「$game_player.moving?」みたいなことがしたいです。
よろしくおねがいします。
>>95
$gamePlayer.isMoving();
>>96
うおおおお!できました!
ありがとうございました!
初歩的な質問で恐縮なのですが、上で挙げられているようなこと(移動中か判定したい時は$gamePlayer.isMoving();を使う、等)を自分で調べたい時はどこを見ればいいのでしょうか?
>>98
ここにだいたい載ってる
https://docs.google.com/spreadsheets/d/1-Oa0cRGpjC8L5JO8vdMwOaYMKO75dtfKDOetnvh7OHs/edit #gid=0
>>99
ありがとうございます!
いろいろ試してみます
すいません。VXAce(RGSS3)について一点質問させてください。
変数に入っている文字列で、ある文字を他の文字に変えるということは可能でしょうか?
例:$game_variables[1]内の値 "1>2>3"
※ ">"を"<"に変換
$game_variables[1]内の値 "1<2<3"
以上、よろしくお願いいたします。
$game_variables[1].gsub!(">","<")
>>102
ありがとうございました。お蔭様でうまくいきました。
しかし、この場合は"変換"でなく"置換"でしたね・・・。
失礼いたしました。
RPGツクールVXAce マニュアル RGSS入門についての質問です
基礎編>クラス定義>インスタンス変数の例文
class Person
def name
return @name
end
def name=(name)
@name = name
end
def hello
print "俺は" + @name + "だ"
end
end
alex = Person.new
alex.name = "アレックス"
alex.hello # => 俺はアレックスだ
この内容に対して自分は以下の様に理解しました
■Personクラスをここで定義生成する
□Personクラスの専用関数(メソッド)を以下の様に定義生成する
●Personのメソッドname
内容:インスタンス変数@nameをここで定義生成する、
nameを実行すると@nameの値が返ってきて処理を中断するように設定する
○Personのメソッドname=
内容:name=は末尾が=で直後に引数(name)があるので、
Personクラス外で 甲.name = 乙 の構文を用意した場合、
乙の内容が引数として@nameに代入される
◎Personのメソッドhello
内容:表示する 俺は@nameだ
■newメソッドでPersonクラスのインスタンスクラスalexクラスをここで定義生成する
□alexクラスとしてメソッドnameを、引数に"アレックス"を代入して実行する
●と○で@nameに 甲.name = 乙 の乙アレックスが入るので
alex.helloで 俺はアレックスだ になる
と理解してたんですが
def name
return @name
end
をCtrl+Qで無効にしても動作するのでよく分からなくなりました
なんで上の3行を無効にしても大丈夫なのでしょう
>>104
その3行は@nameを定義してるわけじゃない
nameメソッドを使えば外部から@nameの中身が見れるっていうだけ
その例だと
p alex.name => アレックス
となる
ちなみにクラスのインスタンスを作った時(Person.newを実行した時)に実行されるのはinitializeメソッドで、この場合initializeは定義されていないのでインスタンス変数の定義はなにもされてない
書き忘れあった
>>104 の例の場合、インスタンスを作った時には@nameは定義されておらず、alex.name="アレックス" を実行した時に初めて定義されたことになる
>>105 さんありがとうございます
整理というか改変してみましたが
class Uuuuu
def mmmm
return @eeee
end
def pppp=(tttt)
@eeee = tttt
end
def gggg
print "俺は" + @eeee + "だ"
end
end
iiii = Uuuuu.new
iiii.pppp = "アレックス"
iiii.gggg => 俺はアレックスだ
3行の@nameは宣言・代入・参照の宣言しかしてなかった
initializeメソッドで初回設定をして代入をするか、
def name=(name) で指定した式の実際の式
alex.name = "アレックス" で代入・参照をするまで
@nameは定義されない ということでしょうか?
>>107
>initializeメソッドで初回設定をして代入をするか、
>def name=(name) で指定した式の実際の式
>alex.name = "アレックス" で代入・参照をするまで
>@nameは定義されない ということでしょうか?
その通り
ちなみに未定義の変数を参照するとnilが返ってくる
たぶんあなたはメソッドの「戻り値」の事を知らないのかな?
return ○○ という文は ○○ をそのメソッドの戻り値にしてメソッドを終了するという意味の処理だよ
詳しくはググったほうが早いと思うから書かないけど、戻り値について理解すれば>>104 のnameメソッドの意味が分かるはず
戻り値などについて調べました
戻り値は返す仕組みが出来るだけで格納されたり、代入されたりはしない
@nameに"アレックス"が代入されるわけではないのでp @nameとかは出来ない
よってreturnメソッドで@nameを戻り値として返す上の3行になる
と理解しました
しかしreturnが終了するという意味がよく分かりません
def 甲
return @乙
end
でreturnを使うと、このdef end内ではそれ以上記述出来ないので
@乙 endで終了しなければならない ということなのでしょうか
>>109
def hoge(arg)
if arg > 9
return "9より大きいです!"
end
arg ** 2
end
returnはこんな感じで使う
このメソッドの場合、引数に9より大きい数値を与えると"9より大きいです!"という文字列を返し、9以下の数字を与えるとそれを2乗した数値を返す
ちなみにreturnをしなかった場合はメソッドの一番最後の値が戻り値になる
Aceマニュアル
ここで return というのは、関数の処理を終了するための命令です。
関数が VX Ace のコモンイベントだとすると、return は [イベント処理の中断] に相当すると考えてください。
return の右側に書かれた式が、その関数の戻り値となります。
なお、関数を途中で中断する場合以外は return を省略することも可能です。
Class XXXX endの中で
メソッドdef endが複数あった場合上から処理されていくが
>>110 のようにreturn使用のdef endがあればそのdef endの処理を最後に
Class XXXX endの中から処理が出ていく ということですか?
>>111
根本的にクラスの仕様を勘違いしてる気がする
例外もあるけどクラス定義っていうのはただ単にそのクラスのインスタンスが何を出来るのかを決めるだけで、実際にインスタンスを生成してメソッドを実行するまでは何の動作もしない
class Hoge
def fuga
処理A
end
def piyo
処理B
end
end
こう記述した場合、Hogeクラスのインスタンスを生成したら、そのインスタンスに対してfugaメソッドとpiyoメソッドが使えますよ、っていうこと
Hogeのインスタンスに対してメソッドを実行した時に初めて内容の処理がされる
つまり上の記述のあとに
a = Hoge.new
と書いて変数aの中にHogeのインスタンスを作り、そのあとで
a.fuga
と書けば変数aの中に格納されたHogeのインスタンスに対してfugaメソッドを呼び出し、そこで初めて処理Aが実行される
class Cくらす #クラス名の頭は大文字アルファベットでなければならぬ
def initialize
@いにしゃらいず = "イニシャライズ"
end
def init
@いにっと = "イニット"
end
def ちぇき1
return @いにしゃらいず
return @いにっと
end
def ちぇき2
return @いにっと
return @いにしゃらいず
end
def ちぇき3 #returnがない場合勝手にend直前の行がreturnされる
@いにしゃらいず
end
def ちぇき4
if @いにっと == "あ〜〜^"
return "ちぇき4はあ〜〜^"
end
if @いにっと == "イニット"
return "ちぇき4はイニット"
end
return "ちぇき4はい〜〜^"
end
end
へんすう = Cくらす.new #Rubyの仕様でクラス内のdef initializeは.new時に勝手に実行される
p へんすう.ちぇき1
p へんすう.ちぇき2
へんすう.init
p へんすう.ちぇき2
p へんすう.ちぇき3
p へんすう.ちぇき4
---実行結果---
"イニシャライズ"
nil
"イニット"
"イニシャライズ"
"ちぇき4はイニット"
MVでゲームを作ってサーバーにアップロードまでは出来たのですが、それをブラウザで開こうとすると
「Failed to load:data/Actors.json」というエラーが出ます。
これはどうしたらいいんでしょうか?
開くブラウザを変えてみるといいよ
google chromeでやってます。
ほかの人が公開してるゲームはプレイできるのでブラウザの問題ではないと思うのですが・・・
俺もChromeで自分のゲームだとそのエラーで落ちる、Firefoxだとエラーが起きない
それでもサンプルゲームはChromeで落ちないし何なんだろ
ほんとだ、Firefoxダウンロードして試してみたらできました。
ありがとうございます。
でもどういうことなんでしょうね?
ブラウザのセキュリティ関係ちゃうか?俺もchrome無理やが
しばらくツクールのマニュアルじゃなくてRubyの本で勉強してきます
なんかreturnとか初期化とかイメージ変わって来た・・・
>>120
がんばれ
class Car #今から自動車の設計図を作るよ!設計図の名前はCarだよ!
def accelerator #自動車にアクセルをつけるよ!
処理A #アクセルを踏むとこうなるよ!
end #アクセルの設計はここまでだよ!
def brake #自動車にブレーキをつけるよ!
処理B #ブレーキを踏むとこうなるよ!
end #ブレーキの設計はここまでだよ!
end #ここまでがCarの設計図だよ!
kuruma = Car.new #Carっていう名前の設計図から自動車を作ってkurumaさんに渡したよ!
kuruma.accelerator #kurumaさんがアクセルを踏んだよ!
kuruma.brake #kurumaさんがブレーキを踏んだよ!
説明むずかし
スクリプトって難しすぎる
頼むからコモンイベントを発展した形で作らせてほしかった
プログラムなんて合理的に考えたら当然なことばかりなんだけど
リファレンスがわるい
昔データで使わされたテラソルナ以下
ツクール添付のスクリプト入門や市販のRuby入門書などが
Cかじってるとか多少なりとも経験あるのが前提なのが自分みたいなツクールがきっかけのズブの素人にはつらい
たのしいRubyとか1、2章でギブアップ
概要わかればいいんだよ、あとは素材弄りながら学べばいい
rpg_で始まるjs読むのもいいかと
一応コメントついてるし
俺も最初はクラス定義とかほぼ理解できてなくて実際にスクリプトいじり初めてやっと理解したからな
やっぱり書かないとダメだわ
BASICでもHSPでもプログラムを経験してるなら
ヘルプを読めばそこそこ理解できるようになるよ
あとはそこからの応用力だと思う
あとF8押してデバッグモードでオブジェクトの中身見るといいかもね
JavaScriptはそれなりに分かるけどツクールが初めてだからイベントコマンドの把握が大変すぎる…
ちなみに>>114 の件の原因は同一生成元ポリシーの問題だよ
各種jsonファイルをXMLHttpRequestで取得しようとしているから問題になっているわけだね
起動オプションに「 --allow-file-access-from-files」と追加してやれば解決する。
ちなみにFirefoxではローカル環境における同一生成元ポリシーがChromeより緩いのでこの問題は起こらないよ
ツクールMVはJavaScriptプラグインだそうですね
そこで皆さんがMVのJavaScriptプラグイン作りに参考にされている本があったら教えて欲しいです
jsファイル開いても
今回注釈が全部英語で内容がまるで理解できんな
何で読めないの?
何でと言われても…
英語だからさ・・
クロームの翻訳機能使えよ
jsをそのまま突っ込むだけだぞ
翻訳の精度やミスに不安抱く層には手強い話だ
うわー英語だ!逃げろ!って状況よりマシだろ
英語のわからない奴が辞書片手に翻訳するより信用できる
実際プラグインの概要調べるくらいなら十分解読できるレベル
>>133
俺は他の人が作ったプラグイン(なるべくシンプルな構造になってるもの)を開いて触ってみるところから始めた
少し数字をいじって何が変わるのか見てみたり、分からない単語はネットで検索したりしてるうちに簡単なプラグインなら作れるようになったよ
プログラマーになりたいなら参考書を買ったほうがいいかもしれないけど
ツクールのプラグインを作れるようになりたいだけなら実践形式の方が早く身につきそうな気がする
とりあえず似た作りのプラグインをいくつか並べて、テンプレになってる(共通した記述になってる)部分と
各プラグインごとの処理になってる部分を分けてみるといいよ
ありがとうございます
試してみます
初歩的なことなんですが、デフォルトでのHP、MPといった値のフォントサイズはどのスクリプトにありますかね
VXaceです
>>143
Window_Baseでdraw_actor_hpとかdraw_actor_mpでcontents.font.sizeに変更したいサイズを代入する
>>144
解決しました。ありがとうございます
モンスターについて
ラスボスのように資料のないモンスターについてはどこからアイディアを獲ていますか?
ストーリーがあったら必然的にラスボスのイメージも付いてくるものじゃない?
たとえば剣と魔法のファンタジーなら悪魔、魔王、ドラゴンとか
今の時期に合わせてクリスマスをテーマにするならサンタとかお父さんとか
ラスボスが自然に導かれないシナリオは破綻している
つーかそういうことはこっちじゃなくて総合スレとかで聞くことだと思うが
えっ!?
質問スレとなっているからてっきりこっちで聞くものだと思ってました
ここ製作技術スレ
>>1 に書いてるな
ゲームの設定を構築するためのノウハウも広い意味では製作技術だから別にここでもいいと思うけど
「(みなさんは)どうしてますか?」みたいな聞き方はどうしても雑談寄りになりがちだから嫌がられることも多い
Raioh@魔界の死神 @Raioh_rpg2003 11月15日
レビューの大事なことは
1 いかに端的にその作品がどんな内容で 長所・短所・総評を述べることができるか。
2 第三者がちゃんとそれを見て作品を選ぶことが出来るか?
この2点に尽きる。
Raioh@魔界の死神 @Raioh_rpg2003 23時間23時間前
@Raioh_rpg2003 3 良作だろうと駄作だろうと、その理由を具体的に記載すること。
抽象的な理由や私情(個人的好き嫌い)をはさんでいてはレビューに説得力がない。
>>154
ん?宣伝?
RPGツクールMVです
変数110番・111番・112番・113番・114番・115番・116番にそれぞれランダムな数字を格納した後、
その7つの変数に対して数字の大きい順に1・2・3・4・5・6・7と数字を格納(Set)し順位をつけたいのですが
アイデアが思い浮かびません。もしよろしければお知恵を貸して頂けませんでしょうか
>>156
配列を切り取って、
ソートして、その結果を代入すればいい
//配列の切り取り
var arr = $gameVariables._data.slice(110,116+1);
//ソート
arr.sort(function(a,b){
if( a < b ) return 1;
if( a > b ) return -1;
return 0;
});
//結果の代入
for(var i = 110; i < 116+1; i++){
$gameVariables._data[i] = arr.shift();
}
>>157
//結果の代入の所
for(var i = 110; i < 118+1; i++){
for(var n = 0; n < arr.length; n++){
if($gameVariables._data[i] == arr[n]){
$gameVariables._data[i] = n + 1;
break;
}}}
に変更してください。
>>158
助かりました、どうもありがとうございます!
RPGツクールMVです。日本語の体験版です
時々手動で画像や音楽ファイルの削除をしてたプロジェクトで
気づいたらアニメーションの設定の色相を弄っても反映されないんですが
何か誤って必要なファイルを削除してしまった可能性はありますか?
新規プロジェクトで作成後、特にファイルの削除をしてないプロジェクトでは
色相を変えると反映されるんですがorz
何かご存知の方がいらっしゃいましたらよろしくお願いします
ツクールMVを使用しています
下記のスクリプトを自動実行のイベントコマンドで使用し、ステータスの値を変更しようとしても反映されません
$gameActors.actor(actorid).mhp = $gameActors.actor(actorid).def * 5
何度試してもうまくいかないので新規プロジェクトで
下記のスクリプトを使用しハロルドとマルシャで試しましたが
いずれもうまくいきませんでした。 どうしてでしょうか?
どなたかご存知でしたらご教示ください
$gameActors.actor(1).mhp = 100
$gameActors.actor(1).def += 200 + 1
$gameActors.actor(3).mhp = 300 - 2
$gameActors.actor(3).def += 400 * 3
俺もまだ勉強中だから原理とかは聞かれても答えられないけど、とりあえず言えるのはそれは値の読み込み専用で書き込みには使えないということ
数値にいくつかを加算したい時は$gameActors.actor(actorid).addParam(paramID,n)で出来る(paramIDが能力値番号でHPから順に0,1,2…、そしてnが増やしたい値。力を1増やすなら(2,1)って具合)
増減じゃなくて直接変更したい時の書き方は分からないけど上を応用すれば一応出来る
>>162
読み込みにしか使えないんですね、お返事ありがとうございます!
addParamは使えてsetParamがだめという事がまだよく理解できていませんが色々調べてみます
Rubyの頃は何年経とうと文法に全く理解が及びませんでしたが、
Javascriptは一日勉強しただけでかなり手応えがあります
phpから離れて何年も経つので全く忘れましたが文法がそれと近いのかな?
MVでウィンドウの枠を非表示にさせるにはどうすればいいのでしょうか?
this.backOpacity=0;で背景は透明になりますが枠が消えてくれません
__refreshFrame = Window.prototype._refreshFrame;
Window.prototype._refreshFrame = function() {
if ($gameSwitches.value(1)) {
__refreshFrame.call(this);
}
};
タイトル名変えるってどうすればいいのですか?
>>166
システムにタイトル名ってなかった?
VXAceのRGSS3に関する質問なのですが、Game_Battler内のメソッド
def attack_apply(attacker)
ってどこで使われてるのでしょうか?
>>168
スクリプトエディタでshift+ctrl+F押すと全文検索できるよ
ツクールシリーズに同梱されている「素材の改変素材」や「素材からイメージを受けて作くられた2次創作素材」は
ツクール以外では使用することができない
ということらしいがそれじゃ、スライムなんかはどうなるんだ?
どのゲームも似たり寄ったりの形になるのに…
作った人がRTPを参考しましたって言ったらだめなんじゃね
いままでもそういうのは多々あった
これべつにツクール外でもよさそうだなっていう
>>169 ありがとうございました
attack_applyはどこで呼び出されるのですか?
それとも初期状態では未使用のメソッドですか?
>>172
だからスクリプト内を検索しろっつってんだよハゲ
脳みそ入ってるのか?
笑う
そういえば、メモリ問題どうなった?
あれを放置だと(プログラムが出来なくても作れる)に詐欺疑惑が起きる
だって自分でメモリ解放のプログラム組まなくては、いけなくなる
めんどくせーから発売後に対策するわとか言ってたような
>>173 ありがとうございました
スクリプト内を検索しました
初期状態では未使用のメソッドみたいですね?
176へ
それじゃ、全ては発売してからだな
ちゃんとパッチを出してくれることを祈ろう
>>177
そうですね
MVのマップ作成で気になったんですけど、
デフォ外観タイルセットの【A2の草地】と【A5の草地A】とか、
【A4の段差A(草地)】と 【A5の段差(草地)】とか、
デザインが同じタイルはどう使い分ける感じなんですか?
A5のタイルはオートタイルじゃないからエディタで表示されているまま使える
それをどう使うかはお前次第
でもShift押して置けばいいだけだからただの水増しだよな
ありがとうございます。
まぁ、仕組みの違いはわかるんですが、併用するものではないんですかね?
見た目が同じであるために、配置してしばらく経ってから手直しするときに
オートタイルのほうだったか否かを忘れてぐちゃっとなった経験が…
最大の違いはA4の屋根タイルは歩行不可にしても梯子などで登ると歩けるっていう隠し仕様がある
shiftで作っているとうっかり通行できる場合があるから完全に通行不可のタイルとして置いたりして
まあ使い方は自分次第
何層にもなってる山道みたいなマップを作る時、
1層目の草地はこれ、2層目の草地はそれ、3層目の草地はあれ、っていう風に分けると何かと便利だったりする
RPGツクールMVの制御文字をプラグイン内で使いたいのですが、上手くいきません。
例えば\N[n]を利用する場合
$gameMessage.add("\N[変数名]")
と書いても、\N[変数名]と文字列として表示されてしまいます。
変数自体の中身が数値なのはデバッガで確認しました。
直接数値を入れても \N[2] とか文字列として表示されました。
根本的に使い方を間違っている気がするのですが、宜しければご指摘願います。
Aceの知識で申し訳ないんだけど
"\N[変数名]"の部分を"\\N[変数名]"にしてもダメそうかな?
Aceだとスクリプト内で\は2つ書かないといけなかった
>>186
制御文字をプラグイン内で使いたい?
ちょっと意味が分からないんだけどスクリプトの方で制御文字使うってこと?
>>187
いけました、ありがとうございます。
>>188
プラグイン内で複数キャラ使いまわす処理があって
楽にキャラ名を引っ張ってきたかったので
$gameMessage.add("\N[変数名]" + "は〜した!")
みたいに記述しました。
Actorクラス?から名前取り出すパターンの方が手っ取り早い気もしましたが
入れ子になっててめんどくさかったので。
$gameMessage.add("\N["+変数+"]は〜した!")でいいじゃん
MVの条件分岐でダッシュ中か判別する方法はありませんか?
ボタンでシフトを押している時で判別した場合、オプションで常時ダッシュに変更してしまうと判別が逆になって困っています
Aceのスクリプト入門の基礎編をやったぐらいの者ですが
VXAceで、
イベントコマンドでピクチャの表示を行った後、イベントコマンドのスクリプト欄などで
ピクチャの画像ファイル名を変数にして、変数操作でピクチャ表示を変更する
というのをするにはどうすれば良いでしょうか
>>191
シフトキー入力時に
条件シフトキーで入力したらダッシュ中というピクチャ作って画面表示
キー入力なければ削除
それ以外に作りたいなら個別でスクリプト作るしかないかな
>>192
スクリプトでなく条件で行けるよ
変数枚にピクチャーを指定していく
例えばAのピクチャーなら変数0001に1なら表示
その変数に従って移動
コモンイベントでつくるといい
>スクリプトでなく条件で行けるよ
ありがとうございます 一寸それでやってみます
イベントの条件分岐を使いこなせないならスクリプトはまだ早い
>>193
それ常時ダッシュ時にシフト押した時にもダッシュ中なんだが?
そもそもダッシュ判別で分岐するのに画像表示?意味がわからん
そもそもスクリプトを新たに作る必要もなく常時ダッシュ判別すればいいだけ
条件分岐→スクリプト→$gamePlayer.isDashing()
>>197 >>198
なんとかなりそうですありがとうございました
Aceなんですが
スクリプトエディタで配列を設けて
マップイベントのスクリプトで変数に配列内容を取得したいのですが
▼素材 VXAce_SP1の下に
hairetu = Array.new["aaa", "BBB", "CCC"]とやって
マップのイベントコマンドのスクリプトで
$game_variables[1] = "#{hairetu[0].to_s}"とやってみたところ
undefined local variable or method 'hairetu' for・・・と出ます
これはどう直せば良いでしょうか
グローバル変数にしたらいいんでない?変数の頭に$をつける。
$hairetu = Array.new["aaa", "BBB", "CCC"]
$game_variables[1] = "#{$hairetu[0].to_s}"
$game_variables[1] = $hairetu[0].to_s #2行目はこれでもいいはず
すまん配列の初期化もおかしいな
$hairetu = Array.new(["aaa", "BBB", "CCC"])
$hairetu = ["aaa", "BBB", "CCC"] #これでもいい
おお!ありがとうございます 出来ました!
ここもログがおかしくなってるっぽいので書き込みテスト
あの、とても初歩的な質問で大変恐縮なのですが、
MVのプラグインの一番最初によくある
var Imported = Imported || {};
Imported.○○ = true;
というのは一体何をしているんでしょうか?
当方、RGSSは未経験でJavascriptは基本の制御構文とオブジェクト指向のさわりだけを知っているような初心者で
プラグインを作れるようになるには何を勉強すればいいかもわからない状態であります
皆様はプラグインの作成方法を学ぶにあたって何か参考にしたサイトなどはありますでしょうか?
やはりJavascriptを書籍などでマスターして、既存のプラグインのソースから作り方を学び取るしかないのでしょうか?
Importedの意味で予想できないの?
しょうもない質問なんですが旧作のBGMってどこに入ってますか?
普通にインストールしても入ってないんですが
>>208
自己解決しました
MVの移動ルートの設定でセルフスイッチAをオフにする方法を教えてください
スクリプトで$gameSelfSwitches.setValue(A, false);とやってもエラーが出て駄目でした
事故解決しました
MVです
イベントのウェイトとトリガーについてお力をかしてほしいです
Aのイベントと接触すると30フレームのウェイトで
同じAのイベントに決定ボタンで文章表示というようにしたいのですが、
ウェイト中は他のイベントページのトリガーを受け付けてくれません
ウェイトを用いなくても30フレームの間そこにイベントが移動せずにとどまる処理でもあればいいんですが見当たらないです
何か解決策はありませんか?
Aに接触した時のイベント内容を「スイッチ1をオン」にして、
Aの2ページ目を 出現条件:スイッチ1がオンの時、トリガー;決定キー、移動タイプ:固定 にする
それから、スイッチ1を発動条件にした並列処理のコモンイベントで
◆ウェイト30フレーム
◆スイッチ1をオフにする
とやる
これで、
Aに接触するとスイッチ1がオンになり、Aが2ページ目に切り替わって同時にコモンイベントが起動する
30フレーム後にスイッチ1がオフになって最初の状態に戻る
ってなると思う
>>214
素晴らしいです!
イベントの難しさってこういうところからあるんでしょうね
本当になんでもできそうです。精進しますありがとうございました!
ACEでサンプルマップの読み込み数を増やしたいです。
SampleMapフォルダの中のMap117.png と Map117.rvdata2 が最大値みたいで
新しくサンプルマップを増やそうとしてMap118の番号を振ったファイルを入れてみたのですが
117番目で終わっています。
その118番目のファイルを、ファイルネームMap001にしたら、うまく動きましたが
当然ながらMap001番の元々のマップが上書きされてしまいます。
118番以降のサンプルマップを追加する方法はないでしょうか?
サンプルマップ増やす意味ってあるの?
>>216
自己解決できました。
今作は2種類音楽データあるけど、どちらか消したらだめなのでしょうか
音楽データでも膨大だから、軽くしたいのですが
>>219
MVのことだったら公開先によって変わってくるよ。
PCのみだったらoggのみでOK。
詳しくは下記の音楽ファイルについてを読んでみるといいよ。
ttps://tkool.jp/mv/course/04.html
今作では音楽ファイルとしてmidiは使用不可なんでしょうか
過去のお気に入りの素材が使えなくなるのは痛い・・・
>>221
ツクールMVなら今のところは不可能なので、どうしても使いたい場合
各種録音作業を駆使してogg&m4aファイルに変換するしかない
…はず
https://youtu.be/BMueUWBvgLU
Aceで外字を使用するにはどうすればいいでしょう
文章中ならアイコンで対応できますが
システムメニュー項目とかアイテム名などはやはり外字じゃないと無理だと思うので
>>222 >>223
ありがとう やはり現状は使用不可なんですね
ツクールMVのキャラ育成で
顔グラフィックを8枚揃えるにはどうしたらいいんでしょうか?
1種類作ったやつをインポートしても前にインポートしたやつが消えてしまいます。
これはお絵かきソフトを使えってことなんでしょうか?
>>226
そうだよ
>>227
ありがとうございます。
>>228
インポートしたら、置きたいトコをクリックするだけやで。
>>229
ちょっとよくわからないです。
>>230
キャラクター生成で保存する時に、前にエクスポートしたやつインポートしたら
●○○○
○○○○
で、●の部分にばっかり表示されて消えてしまうという話やんね?
せやから229の言うとおり、○の場所どこでもクリックして
好きなところに配置したらええんやで。
保存画面に、仕切りがないのでわかりにくいかもやけど
配置する位置を選べますよ・・・ということですわ。
これは、歩行グラや倒れグラでも同じやで。
>>229 >>231
ようやく理解できました。ありがとうございます。
>>220
遅くなったけどありがとう
でもこれだけでもかなり容量多いなあ
ダメージ計算式を変えたいんだけど、プラグインのどこをいじればいいかわかりますか?
>>234
どのツクールの話だ?
ACE、MVならスキルの項目にあるがXP、VXなら全セクション検索でダメージ計算で探せばある
>>235
失礼、MVでの話です
VXでは色々いじっていましたが、仕様が変わって戸惑っています・・・
プラグインはMVにしかないしダメージ計算式はデータベースで自由にできる
ありがとうございました。
スレチだったのでこちらで質問させて下さい。
従来のツクールでできた扉や宝箱の開閉アニメーションをMVで実現するにはどうすれば良いでしょうか?
キャラクターの動作指定がイベントの「自律移動」に移った事で従来通りのやり方は無理なようで…
>>239
右クリックでイベントの簡単作成→宝箱でイベント作れるからどういう処理してるかわかるよ
>>240
こんな便利機能が…ありがとうございました。
名前を変えてコマンド一覧にあるのだな…
すみません
MVのタイマーを非表示にするためにはどうすれば良いか分かる方いますか?
>>242
タイマーなしでやればいい
並列平行でイベント作ってウェイトで時間がきたらイベントスイッチオン
steamのRPGツクールVXaceを買ったので日本ではユーザー登録してないのですが
作ったゲームは配布してよいのでしょうか?
またRTP素材を改変したものや正規ユーザー向けのRGSS3は利用してよいのですか?
>>244
配布すればいいじゃん
なんで公開しちゃいけないと思った?
>>245
買ったばかりなのでまだ完成してないです
公式のQ&Aにユーザー登録してれば作ったゲームの公開が可能です。と書いてあったので。
steamを違法サイトみたいに思ってるのか?www
>>246 はちょっと杓子定規すぎるだけでむしろルール守る意識が高くて良いじゃん
草生やして煽ってる奴は何が面白かったの?
ツクールMVです。
イベントでピクチャを使ってメニュー画面っぽくしたいのですが
メニュー禁止の設定のように、プレイヤーの移動を禁止することはできないでしょうか
メニューイベントのトリガーを自動実行にすればいいよ
自動実行のイベントが動いている間はプレイヤーの操作ができない
ツクールMVで戦闘開始の効果音を
イベントスクリプトで任意な効果音に
変更する方法はどうすればいいでしょうか?
通常のランダムエンカウントを使ってる場合はイベントスクリプトじゃ無理
イベントコマンドの「戦闘の処理」を使って自作エンカウントにしてるなら
データベースのシステム設定で戦闘開始の効果音を無し(何も設定しない)にして
「戦闘の処理」の前に「SEの演奏」を入れればいい
>>250
回答ありがとうございます
言葉足らずで大変申し訳ないのですが、マウスでのクリック操作を前提として考えてまして
イベントで表示させたピクチャを、トリアコンタン様のピクチャのボタン化プラグインで操作させたい感じです
ですので、プレイヤーの操作自体は受け付けるが、キャラが移動することは無い という状態を作りたかったです
少し自分で考えてみて、プレイヤーキャラの向きを固定させ、その周りを透明な通行不可のイベントで囲む
とすれば理想の状況を作り出せるかもと思ったので、もう少し試行錯誤してみます
長文失礼しました
メニュー専用の別マップに移動させれば?
>>254
一度メニュー専用マップに場所移動させてから、閉じる時にマップの元居た位置に戻すほうが遥かに簡単そうです!
これで行こうと思います。ありがとうございました
MVなのですが、
横スクロール風の画面を作るために、
プレイヤーキャラのy軸の位置をほんの数ドット下げたいんですけど、
どうすればいいですか?
色々なぶったけど、力尽きました・・・
>>256
キャラ画像ファイル名前の頭に!付けてみれば?
>>257
いけました!
プラグインでなんとかする方法を探していたのですが、これでもなんとかなりそうです!
ありがとうございます!!!!
すみません
MVが発売してから初めてRPGツクールを購入したため、RPGツクールの仕様がまだ十分に理解できません
色々と調べた結果、初歩的なスイッチの動作が分から無いので教えて頂けないでしょうか
スイッチを設定したイベントの自動実行のオンオフの使い方で
①マップA:ページ1トリガー【自動実行】、出現条件【スイッチをオン】、実行内容【スイッチをオフ】
:ページ2トリガー【決定ボタン】、出現条件【なし】、実行内容【なし】
②マップBへ移動し、【スイッチをオン】
③マップAへ移動
希望は③を行うとマップAのページ1が実行される事なのですが、テストプレイしたところ
スイッチはオンの状態になっているにも関わらずマップAのページ1の自動実行が行われません
ためしにマップ1ページ1の同じ記述をトリガー【決定ボタン】で実行するとうまく実行しました
つまり自分の自動実行について解釈が間違っているのだと思いますが
条件にスイッチをつけていなければ、自動実行を行うとマップに入った時点でイベントが発動します
この違いは何なのでしょうか
初歩的な質問で申し訳ないです
ちなみに上記のスイッチは全てセルフスイッチではありません
根本的な勘違いとかあるかもしれないし画像貼ったほうがわかりやすいと思う
うーん・・・なにか無関係だと思って書くのを省いてる部分がない?
ツクールではイベントのページを複数にした場合 条件を満たしてる中で一番番号の大きいページが優先されるから
2ページ目の出現条件を無しにしてたら 1ページ目をどんな内容にしようとも そのイベントは常に2ページ目の状態になってるはず
だから1ページ目が実行されないほうが正常で、トリガーを変えたらうまく実行できたっていうのがおかしい
>>259
そのイベントページの組み方がおかしい
1ページ目と2ページ目を逆にする
優先度はページ数の大きいほうだからそれじゃあ条件無しの2ページ目が優先され
1ページ目のイベントが発動することは無い
>>259
トリガーが決定か自動かということは、イベントの優先順位とは無関係です。
トリガーはあくまでも、イベント開始の号令であって条件ではないのです。
出現条件の整った複数のイベントのページがある場合
ページ番号の大きい方が優先されるので
この例の場合は、ページ1の条件が整っていても2ページ目の「条件なし」のが優先されます。
条件がないということは、常に条件が整っているという意味ですから。
1ページの出現条件と同じスイッチを、1ページ目でOFFにしているなら
2ページ目はそもそも必要ありませんし
グラフィックが替わるのでどうしても必要だというのであれば
1ページと2ページ目をそっくり入れ替えるといいです。
条件が整っていないと、そもそもどのイベントページも出現しないので
グラフィックを指定していたとしても、表示されません。
おおお・・・書いてるうちにドンドン回答が・・・259さん人気者!!
>>260-262
皆様ありがとうございました
逆にページ数の少ない方が優先度が高いものと勘違いしておりました
やはり初歩的なミスでした
トリガーを変えるとうまく実行できないはず、とのご指摘ですが
記述の確認だけのつもりかつ白紙のページは自動実行の終了を目的に作成していたため
自動実行が行われないなら白紙のページを作成する必要も無かったため削除しておりました
混乱させてしまい申し訳ありません
MVで先頭のキャラ以外全て外す効率的な方法はありませんか?
メンバーの入れ替えで変数でも使えればループ処理を使って楽に外せるかと思ったんですがそうもいかないみたいなので…
>>266
ちょっと違うが、変数に代入するだけで済む
戦闘人数を変えるだけならこれとかどうだろうか。
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● バトルメンバーの最大数を取得
#--------------------------------------------------------------------------
def max_battle_members
return 1 + $game_variables[81]
end
end
>>267
ごめんなさい、MVだからrgssは使えない
読み飛ばしてた、申し訳ない
これでなんとかできたっぽいので自己解決です
var a=$gameParty.members()[0].actorId()
var n=0
for (var i = 0; i < 50; i++){
n+=1
$gameParty.removeActor(n);
}
$gameParty.addActor(a);
こんなやり方もありよ、先頭キャラ以外お別れ
-var pt = $gameParty.members();
-var id = pt[0]._actorId;
-for (var i = 0; i < pt.length; i++){
--if(pt[i]._actorId != id) $gameParty.removeActor(pt[i]._actorId);
-};
$gameParty._actors.forEach(function(a,i){if (i>0) $gameParty.removeActor(a)})
272が最適ってことでokなのかな?
>>271 スペースの代わりに-を使ってるからそのままコピペするとエラーになる、せめて_を使って欲しい
>>272 だと何故か1人残って2回実行しないと駄目だった
$gameParty._actors.slice(1).forEach(function(a){$gameParty.removeActor(a);})
>>273
プログラムで大事なのは、そのコードによってもたらされる結果が同じなのであれば
1.可読性(メンテナンス性)
2.速度
3.簡略化
だ。
一部ゲーム等ではスペックのギリギリを追求したりするから
そういうところでは速度こそが至上主義になったりするが
そんなのは例外なので、普通は↑になる。
ツクールもゲームだが、別に速度を極めるほどのプログラムをしてるわけじゃない上に
扱う人間自体がプログラムを完全に把握していないレベルなので
そこ(速度)を気にする必要はない。
何よりも見てすぐ分かる事が大事。
1万倍遅いとかならともかく。
で、どれがいいの
どれも同じ効果なんだから好きにしろよ
すみません
以前質問をした242です
質問をし続けてはいけないと思い、自分なりに試行錯誤してみたのですが
タイマーなしでウェイトを行う方法(並列処理)もよければ教えて頂けませんか
ウェイトをするとイベントが停止してしまい、時間が終わるまで何の操作も出来なくなってしまいます
上で2ページ目を作りウェイトをして、スイッチがONになると自動でコモンでスイッチが
OFFになるようにしたら良いともあったのですが、やはりウェイトを使うとイベントが停止してしまいます
聞いてばかりですみません
>>279
https://tkool.jp/products/rpgvxace/lecture/006_004k
>>279
自分でプラグインにしてね。
スイッチ1番がオンの時に、タイマーを表示しないコード。
Sprite_Timer.prototype.updateVisibility = function() {
this.visible = $gameTimer.isWorking() && !$gameSwitches.value(1);
};
並列処理でするなら、
ウエイト→実行したい処理の順に設定すればいいと思います。
イベントが停止するのは、自動実行の場合では?
ありがとうございます
>280で理想としている状態ができました
マップに入ってすぐに実行したかった事もあり
自動実行でしか試していませんでした
>281の方もありがとうございます
お察しの通りでした
みなさんすみません。初歩的な質問かもしれませんが教えてください。
杖を持ったキャラが旅をするゲームを作りたいと思っていて、道中には落とし穴などの罠を配置したいと考えています。
なので主人公に罠を回避するため決定ボタンで足元を調べさせたいのですが”トリガー決定ボタン”はプライオリティが同じ以外の時は今いるタイルを調べてしまいます。これをプライオリティに関係なく”プレイヤーの正面一つ目のタイルを調べる”という風に変更することは可能でしょうか?
それと調べているとわかりやすいように調べているマスにアニメーションを表示させたいのですが可能でしょうか?
条件分岐にプレイヤーの向きがあるじゃん?
それで条件付けてプレイヤーをターゲットにプレイヤー前に位置調整したアニメ表示すればいい
とりあえず使用ツールとなぜプライオリティが通常キャラと同じじゃダメなのかを
アニメーションはイベントのグラフィックをイベント中だけ変えれば調べてるとわかりやすいようにっていう条件は満たせると思うけど
グラフィック変更じゃなくてアニメーションじゃなきゃダメっていうなら並列処理とかあるけど
283です。
>284さんありがとうございます。アニメーションの表示はいける気がしました。
>285さんすみません。ツールはRPGツクールMVです。
プライオリティは同じだとプレイヤーがぶつかってしまい落とし穴に落ちるというような事ができないのではという事なんですが、プライオリティが同じでも可能ですか?
アニメーションは特にアニメーションじゃなきゃいけないわけではないんですが、何もない場所でも調べる動作が欲しいのです。
1マスごとにイベント作るの大変だから地形タグで管理できる
コモンイベントかプラグイン作ってもらえばいい
リージョンイベントってのが公式プラグインにあるだろ
タグ使うより現実的
>>283
可能。ただし「決定ボタンを押すとプレイヤーが正面のタイルを調べる動作をし、罠があった場合に発見する動作に発展する」処理には
「決定ボタンでも接触でもイベントが実行される」のアプローチだとおそらく様々な不便が発生する。
var x2 = $gameMap.roundXWithDirection($gamePlayer.x, $gamePlayer.direction());
var y2 = $gameMap.roundYWithDirection($gamePlayer.y, $gamePlayer.direction());
var event = $gameMap.eventsXy(x2,y2)[0]
if (event){$gameSelfSwitches.setValue([$gameMap.mapId(),event.eventId(),"D"],true)}
このスクリプトを実行すればプレイヤーの正面にいるイベントのセルフスイッチDをオンにしてくれるので、
コモンイベントの並列処理にでも組み込んで決定ボタン押したときに実行されるようにして、
各罠イベントにセルフスイッチDがオンの時の自動実行処理を組み込んだほうが早いと思う。
もちろんこれだけだと色々不具合発生するんで、好きなように発展させると吉。
>>283
プライオリティが同じでも、「通り抜け」に設定すれば大丈夫ではないでしょうか。
(「足踏み」をさせればアニメのような動きにもなります)
もし可能なら、いつも足元に一歩前のイベントの判定結果を書き、284さんのおっしゃるように、
主人公の方向を調べて、その前方の調査結果だけを表示してはいかがでしょうか。
すいません、通り抜けにすると今度は落とし穴におちなくなるので、
私の場合、面倒ですが、並列処理で常に主人公の座標情報を調べ、
それに応じて特殊な座標の場合、然るべきイベント結果を返しています。
みなさんありがとうございます。
289さんのスクリプトを試してみたんですが何も起きないかエラーになってしまいます。
おそらくやり方が間違っているのだと思うんですがどうやってもできませんでした。
コモンイベントにスクリプトを入れる方法と、コモンイベントの呼び出し方を教えていただけますか?
>>292
コモンにスプリクトはそのまま入れればいい
コモンイベント→イベントの挿入→スプリクト
コモンイベントの呼び出しは1ページ目の右下にあるよ
そこから該当するコモンを呼び出す
>>293
ありがとうございます。
いちおうそうやってるつもりなのですができません。
まずコモンにスクリプトだけ書いたものをトリガーなしでマップ上のイベントトリガー並列から条件決定ボタンでコモン呼び出しができませんでしたので
つぎに、コモンのトリガーを並列にしてマップ上のイベント条件決定ボタンでスイッチオンを試してだめでした。
なので今度はコモンのスクリプトの前に条件決定ボタンを入れて、試したんですがだめでした。
トリガーや条件など詳しくお教えいただけるとありがたいです。よろしくお願いします。
サンプル渡したほうが早い気がしたので丸投げしておくわ。
新規プロジェクトからDataファイルだけ置き換えるんやで。
英語版と日本語版で互換性あるかは確認してないんでそこだけ宜しく頼むで。
パスはmv。
http://www1.axfc.net/u/3599838?key= mv
丁寧な対応ありがとうございます。
おかげさまでなんとか把握できたと思います。
ただ知らなくても問題ないところだと思うんですがなぜpressではなくinputなのでしょうか?
VXAceなんだけどMEを任意のタイミングでフェードアウトさせたいのですが、
どのようにすればいいでしょうか?
イベントコマンドのスクリプトでRPG::ME.fade(a * 1000)
aにフェードアウトまでの秒数を入れる
ありがとう。おかげさまでMEのフェードアウトは出来たけど
バックのBGMの処理タイミングはそのままみたいですね。
ちょっと気になるレベルのものだからこれでも妥協は出来るけど、
欲を言えばこのBGM処理も合わせる事はできませんでしょうか・・?
ちょっとややこしくなるなら別に構わないのですが・・・
てかMEフェードアウトの項目だけないのって、これが原因なのかなと思ったり。
Ace触ったことないから適当なこと言うけど
RPG::ME.fade(a * 1000)の「ME」を「BGM」に変えるだけで出来たりしないの?
簡潔に言うと出来ないっぽいです。
イベントコマンドのBGMのフェードあうとの内部処理はRPG::BGM.fade(a * 1000)で合ってるよ
確かME鳴らすときにBGMをストップさせてME終了に再開させてるんじゃ無かったかな?
先にBGMを無しにすればいいはず
>>296
Input.isTriggered('ok') が「決定キーが新たに押されていた時」
Input.isPressed('ok') が「決定キーが押されている時」
イベントコマンドだと後者しかできないけど、そっちだとこういう仕様に対しては誤作動多くて不便。
>>299
何がやりたいのかわからんBGMも一緒にフェードアウトしたいの?
それならこれでいけるけど違う?
a=3#3秒でBGM、MEフェードアウト
RPG::BGM.fade(a * 1000)
RPG::ME.fade(a * 1000)
スクリプトでパーティーメンバーの一人目のアクターIDを取得して
変数1に入れるという場合にはどうしたらよいでしょうか
下のようなものを想像していたのですが
$gameVariables.setValue(1, $gameParty.members()[0].??? )
ゲームデータのパーティーメンバーのIDじゃだめなん?
>>306
パーティーの一人目がデータベースのアクターの0010のキャラの場合
10という数字が取得したいです
だめだこいつ
イベントコマンドに普通にあるね
イベントコマンドで出来る操作をスクリプトでやりたい時は、rpg_objects.jsの下の方にイベントコマンド関連の関数が纏まってるから、そこから該当するものを探すのが簡単だよ
で、どう書くかというと???の部分に actorId() でいい
デフォで出来ることを出来ないと思ってスクリプトでやろうとして難しく考えることはたまにあるな
>>306
>>309
イベントコマンドの変数の操作で普通にできたんですね
見たことなかったので初めて知りました
スクリプトでのやり方もレスにあったjs見てみます
ありがとうございました
あとなんのツクールかかいたほうがいいと思うよ
デフォでできるって答えたあとにダンテIIなんですけどとか言われても泣くしかない
イベントコマンドで出来ることでもスクリプトでやったほうが便利な時があるから知っておいて損はないと思う
たとえば今回の場合だとスクリプトなら「○人目の〜」の部分を変数で指定できるようになるね
お騒がせしました胆に銘じておきます
>>304
すんません、説明不足でした。BGMのフェードアウトではなくフェードインの方です。
普通はMEがフェードアウトし終わる直前のタイミングでBGMがフェードインするけど、
スクリプトでMEを強制的にフェードアウトさせた場合、BGMがフェードインは本来のタイミングのままで、
MEに合わせて処理してくれないという感じです。こうして文章にして説明するのは難しいですが、
実際にゲームオーバーのMEとかで試してくれれば分かると思います。
例えると、10秒程度のMEを強制的にすぐにフェードアウトさせても、BGMのフェードインは10秒後になり、
その10秒の間、完全に無音の状態になるという感じです。
その処理を多用するんじゃなければMEをエクスポートしてSEに入れて、
ミスって投稿してしまった……(´・ω・`)
その処理を多用するんじゃなければ、MEをエクスポートしてSEに入れて
BGMのフェードアウト→SEの再生を始める→Audio.se_stopで止める→BGMを再開する
……と思ったけどこれだとフェードインにはならないな
MVで現MAP内の全てのイベントのセルフスイッチをOFFにする方法はありませんか?
すみません自己解決しました
>>317
試してみましたが、そのやり方が今のところベターだと思いました。
SEのフェードアウトが出来なくて完全再現にはならないけど
無音になるよりはマシだし、特に気になる程の違和感でもないのでこれでいきます。
>>320
VXで同じようなことやってたんだけど適当なタイミングでRPG::ME.stopかMEの演奏→無しが必要だったよ
RPGツクールVXACEで質問です。
ももまるlabsさんのXP風スタイルバトルみたいに
敵を弱点を突いたときや耐性でダメージを半減された時に
効果音や文章を分かりやすく変更できるRGSS3はありませんか?
参考にしたいけどもうダウンロードできないです(><)
ツクールMVです
マウスカーソルが置かれている方向に向かって弾を飛ばす、というようなイベントを作りたいと思ったのですが
その座標を取得する方法がわかりません
マウスカーソルの座標を変数に代入したり、ピクチャの移動に使ったりするにはどうすればいいでしょうか?
>>323
$gameVariables.setValue(1,Math.floor(TouchInput._x));
$gameVariables.setValue(2,Math.floor(TouchInput._y));
これで変数1にクリックしたX座標、変数2にクリックしたY座標が代入できる
>>324
ご返答ありがとうございます
このスクリプトでまさに自分のやりたかった動きが完璧に再現できました
相談してよかったです。ほんとありがとうございました
分かりづらかったので追記です
VXaceで敵の弱点を突いたとき(属性有効度150%以上)の攻撃をしたとき
「弱点を突いた」とログに表示させるか
「WEAK」という文字をポップアップさせる方法を教えて下さい
そもそもデフォじゃポップアップがないんだからダメージポップアップみたいなスクリプトいれるしかないんじゃない?
ももまるさんに再配布お願いするしかないんじゃない?
あの人つい最近「自分のスクリプトを無断で真似された!」って激おこだったし
勝手に同じようなスクリプト作っちゃいけないらしい
class Game_ActionResult
attr_accessor :element_rate
def make_element_rate(n)
@element_rate = n
end
alias save_clear_damage_values clear_damage_values
def clear_damage_values
save_clear_damage_values
@element_rate = 1.0
end
end
class Game_Battler < Game_BattlerBase
alias save_make_damage_value make_damage_value
def make_damage_value(user, item)
save_make_damage_value(user, item)
@result.make_element_rate(item_element_rate(user, item))
end
end
class Window_BattleLog < Window_Selectable
def display_hp_damage(target, item)
return if target.result.hp_damage == 0 && item && !item.damage.to_hp?
if target.result.hp_damage > 0 && target.result.hp_drain == 0
target.perform_damage_effect
end
Sound.play_recovery if target.result.hp_damage < 0
add_text("弱点を突いた") if target.result.element_rate >= 1.5
add_text(target.result.hp_damage_text)
wait
end
end
もうリクエストスレで頼むレベルだよなあ
別のサイトで丁度良いRGSS3を見つけました
スイマセン、自己解決しました。
>>327
ダメージポップアップのスクリプトは他のサイトで幾つかありました
先月からツクール始めたので自分で弄ったりはまだできないです・・・
>>328
その騒動については知らないですので
どのスクリプトのことか分からないです(><)
>>329
ありがとうございます!
ツクールmvでHPだけではなくMPが無くなった場合も死亡したことにする場合は
どこをいじればいいんでしょうか
プラグインを色々見てみたのですがイマイチわかりませんでした。
>>333
rpg_objects.jsのGame_Battler.prototype.refresh = function() で
HPが0だと死亡っていうのをやってるからそこにMPが0だと死亡っていう条件を付け加える
Game_Battler.prototype.refresh = function() {
Game_BattlerBase.prototype.refresh.call(this);
if (this.hp === 0) {
this.addState(this.deathStateId());
} else if (this.mp === 0){//ここを追加
this.addState(this.deathStateId());//ここを追加
} else {
this.removeState(this.deathStateId());
}
};
それでもいいけど3行目を
if(this.hp === 0 || this.mp === 0){
の方がスマートだと思う
|| は「又は」って意味で、どちらか片方の条件を満たしていれば条件を満たしたことになる
>>334
>>335
ありがとうございます!
MVでアイテムやスキルにコモンイベントを付けて使用した場合
使用したアイテムやスキルを判別することは可能でしょうか?
複数のアイテムに同じようなコモンイベントをつけるので共通管理したいので
方法があれば教えてください
自己解決しました
ツクールMVで現在判明しているバグってどんなものがありますか?
vx aceでキャラクターのみを拡大縮小ってできませんかね
できません
どっかのスクリプトであったと思う
ひきも記だっけ?
>>342
ありがとうございます
MVで制作中なんですが
1日1回取得できるアイテムを複数配置した時に個別のスイッチを作って
1日経過時にONOFFでアイテム復活させるより手軽な方法ってありますかね?
宝箱ごとに日付を覚えさせて
現在日付と宝箱日付が違ったら入手、とかどうだろう
VXなら出来そうだけどMVでできるか分からん
>>345
ちょうど覗いたらお返事が
なるほど、それなら一括で処理できそうですね
試しにその方法でやってみたいと思います、ありがとうございます!
>>346
MVはまだほとんど弄くってないけど、
・T=最後に宝箱を空けた日時
・L=空けた宝箱の配列
だけ用意して
・現在日時がT+1日以降ならLを空にする
・現在の宝箱がLに登録されていなければ中身をゲット
・中身をゲットしたら現在の宝箱をLに登録してT更新
とかのが多分楽だと思う
MVです。単にオンオフの繰り返しができるスイッチを作ってるのですが
1回決定ボタンを押してレバーを下がってから
再度決定ボタンを押してレバーを上げるとき
一瞬だけページ1の画像(レバーが上がってる状態)の絵が表示されてしまいます。
どこがおかしいのでしょうか?
http://www.dotup.org/uploda/www.dotup.org704670.jpg
オプションの「向き固定」にチェック
移動ルートの指定の先頭に「向き固定OFF」を挿入
あとこれはお節介かもしれないけどスイッチはセルフスイッチがおすすめ
>>349
できました!ありがとうございます。セルフスイッチ使います。
公式で美少女ピクチャー大量にダウンロードできましたけど
他にこういう感じの美少女ピクチャーが多くあるサイトないですかね
いやスイッチが飾りならいいけどセルフスイッチだと他のイベントに反映できなくね?
そういやそうだな
>>351
立ち絵 フリー素材でググれ
ツクールMVですが
被ダメ時のTPの増減のダメージ計算式はドコで変更出来ますか?
>>355
たぶんrpg_objects.jpの3213行目の
Game_Battler.prototype.chargeTpByDamage = function(damageRate)で定義してるっぽい
rpg_objects.js 3213行目のGame_Battler.prototype.chargeTpByDamageだね
こいつの中に書いてある
var value = Math.floor(50 * damageRate * this.tcr);
の右辺を書き換えればいい
Math.floor()というのはカッコ内の値を整数にする関数、
damageRateは被ダメージ/最大HP
this.trcはキャラの特徴で設定できるTPチャージ率
つまりデフォだと被ダメの割合に応じて0〜50増えるという式になってる
単純に多くしたり少なくしたいだけなら50という数字を変えるだけでいいよ
詳しい説明ありがとうございました!
ツクールMVで「属性攻撃を的確に使ってくるボス」を作成したいのですが
ドラゴンの味方にはドラゴン切りを、氷族の味方には火炎切りを100%使用してくるみたいなAIを作るにはどうすればいいんでしょうか?
>>359
そういうプラグインがあるかはわからないけど、きちんと組まないと無理じゃないかな?
簡単に挙げるのならば、
・与えたダメージや消費MPなどからその行動がどれだけ有効かを評価する式を作る
・敵が取れるすべての行動を列挙する
・その行動がどの程度効果的かを最初の式に当てはめて計算する
・一番評価の高かった行動を選択する
みたいなスクリプトを自作することになるのかな?
敵ごとに回復優先するとかとにかく最強の攻撃をしてくるとか性格付けしたければ、最初の式を個別に用意してやればいい
もっとシンプルでいいのなら「ドラゴンがいたらこの行動を優先しろ」みたいな簡単な場合分けを組むだけでも、パターンが少ないのならそれっぽくなるかも
>>359
準公式プラグインのYEP_BattleAICoreで出来るとはず
自作したいなら味方側のAIは属性込みで一番ダメージを与えられる技を選ぶようになってるから
敵にも味方側のAIを一部使わせるようにすれば出来るかも
ツクールMVです
条件分岐で”マウスのクリックを押した時”と”マウスの右クリックを押した時” でそれぞれ分岐させる方法はありますか?
イベントの項目に決定ボタンとキャンセルボタンはあるのですが、それだとマウスには反応しないみたいで・・・
>>362
左クリックがTouchInput.isTriggered()
右クリックがTouchInput.isCancelled()
>>363
早速の回答ありがとうございます
スクリプトに入れたところ、ちゃんとクリックで分岐してくれるようになりました
大変助かりました。 ありがとうございます
MVで特定マップでは使用禁止になるアイテムを設定したいのですがどこを弄ればいいのでしょうか?
.canuseが怪しいと思ってたのですが違うっぽいみたい?
変更場所だけでもいいのでわかる方いましたらお願いします
>>365
(function() {
var _Window_ItemList_isEnabled = Window_ItemList.prototype.isEnabled;
Window_ItemList.prototype.isEnabled = function(item) {
if (item.id === 1 && $gameMap.mapId() === 1) {
return false;
}
return _Window_ItemList_isEnabled.call(this, item);
};
})();
こんな感じ?
このスクリプトでは
マップIDが1番のマップでは、アイテムID1番のアイテムが使えない
もし複数設定したいときは、switch文なぞ使ったらいいと思う
>>366
ありがとうございます!望み通りのものになりました!
ツクールMVです。
メッセージを進めるときに「ピッ」というSEを鳴らしたいのですが、どうやればいいですか?
rpg_objects.jsの475行目
Game_Message.prototype.add = function(text) {
this._texts.push(text);
};
ここらへんの処理にSEを鳴らす処理、
AudioManager.playSe({"name":"SE名","volume":音量,"pitch":ピッチ,"pan":位相});
これ挟んだらいけないかな?
未検証
>>369
ありがとうございます!
試してみます!
>>369
試してみた結果、
一応、通常の会話では教えてくださったように書き足すことで、SEが正常に適用されました。ありがとうございます。
しかし、選択肢が含まれる会話の場合、デフォルトの決定音と混ざってしまいます。選択肢の場合はメッセージ送りのSEを鳴らさないようにはできますか?
また、制御文字でボタン入力待ちに設定している場合にも、文章を進ませるときにSEが適用されるようにはできますか?
もし分かれば、お力を貸していただきたいです。
MVで戦闘開始時のスライムが出現みたいな開始メッセージを出さないようにするにはどうすればいいですか?
>>372
yep_battleenginecoreを入れるといい
パラメータshow emerge textてのがそう
うちは入れたら自動的にfalseになったけど
>>373
ありがとう
質問です
西の地方にいる怪鳥が1/4ぐらいの確率で落とす魔法の鍵を手に入れる
というクエストを受注するイベントを作りたいのです
1/4で鍵を落とす怪鳥を森でエンカウントする様にすると、クエストを受注しなくてもクリアしても鍵を落としてしまいます
怪鳥のドロップ率を0にし、クエスト受注をスイッチに加えて、倒した時に変数の乱数でイベントを起こす様にしてみると、何も起こらず戦闘終了します
(戦闘不能時にイベント実行されないため?)
通常エンカウントの怪鳥が、クエスト受注の時だけ鍵を落とすようにするには、どうすればよいでしょう?
落とす敵と落とさない敵を別に用意する
通常の怪鳥と、ドロップに鍵を設定したイベント用の怪鳥を用意しておく
↓
敵グループの設定で両方の怪鳥をセットし、イベント用の怪鳥は『途中から出現』にしておく
↓
戦闘開始時のイベントで、クエスト受注のスイッチがONになっていたら
イベントコマンド:敵キャラの変身 で通常の怪鳥をイベント用の怪鳥に変身させる
これで出来ると思うよ
落とす怪鳥と落とさない怪鳥を作って、
クエスト受注した時だけ落とす会長が出るマップに移動するようにする
>>376
これだとクエスト受注関係なく落とします
>>377
これ行けそうです!
鍵を手に入れたらもう鍵を落とす鳥を出さないようには出来ますか?
アイテム欄に鍵があれば変身させない、みたいなことが出来ればいいんですが
>>378
フィールドをもう一個作る必要が・・w
条件分岐でアイテムも指定できるけど、「○○を持ってる時」しか指定できないから
鍵を持っている時
・
・
それ以外の時
・クエスト受注のスイッチがオンの時
・敵キャラの変身
にすればいい
>>380
ありがとうございます!
これでやってみます!
戦闘終了時にイベント仕込めないの本当面倒だよな〜
敵が全滅した時にコモンイベント発動のプラグインないかな
Drop Items Conditions
ってプラグインで戦闘終了時のドロップ条件を細かく設定できるらしい
特定の武器装備してれば100%ドロップとか
これスイッチにも使えれば良さそうだよね
使用してるツクールが不明なのにスクリプトの話しても意味ないだろ
>>371
公式プラグインに普通にメッセージでSE鳴らすやつあった気がする
>>385
それ違う、メッセージ一文字ごとにSE鳴らすやつ
つまり公式のはドラクエ風
あれか、なら使えないか
VXAceのひきも記さんのところのスクリプトの時刻演出でどうにも困った事があって
手詰まりの状態なのでここで質問してみます。
これはデフォで時計表示されて、スイッチONにする事で非表示される仕様になってるのですが、
これだと最初から始める→モノローグという流れで、モノローグシーンで
時計表示を消したいのに、モノローグイベントの一番先頭にスイッチONにしても
最初のモノローグに入るフェードインのところでどうしても一瞬だけ表示されてしまいます。
なのでデフォの時計表示とこのスイッチの仕様を逆に、
デフォで非表示、スイッチオンで表示という風にしたいのですが、どうすればいいでしょうか・・
>>389
270行目をself.visible = $game_switches[TMTIMEC::SW_CLOCK_HIDDEN]に変更
rgss触ったことないから勘だけど、
#-------------------------
# ● フレーム更新
#-------------------------
って項目の2行目、
self.visible = !$game_switches[TMTIMEC::SW_CLOCK_HIDDEN]
の『=』の次の『!』を消せばいいと思う
OKですありがとうございます!
おかげさまですっきりしました!
>>385
>>386
>>371 です。
一文字ごとに音を鳴らすのは無理だと諦めていましたが、できるのならやりたいです。
ですが、その公式プラグインというのが見つかりません。どこで手に入りますか?
MVです。
ドラクエのように会心の一撃時にSEを鳴らしたいのですが、
どこを触ればよいのでしょうか?
>>394
SOUL_MV Critical Hit Effectsてプラグインでできる
>>395
見つけました。ありがとうございます。
海外のフォーラムなんですかね。英語読めればもっとよかった・・・。
>>393
サンプルゲームに入ってるプラグインだよ。
捜してみてタイトルは忘れた
ツクールMVですが、アイテム名の文字色って変更出来ますか?
例えばアイテム欄で、回復アイテムは黄色で表示するとかしたいです
>>393
http://galvs-scripts.com/2015/11/05/mv-message-sound-effects/
MVでステートの歩数解除の処理はスクリプトのどこで設定されていますか?
>>398
EquipmentRarityColors.jsとかそれ系のプラグイン探せばあるがな
>>400
rpg_objects.js 4131行目のGame_Actor.prototype.updateStateStepsだと思う
ツクールMVの質問です
キャラの顔を生成したあと、8つ並べられるようにしたいのでペイントを使い並べましたが、後ろが透明になりません
aceのときはインポートの時に透明にする色を選べましたが、MVではどうすればいいでしょう?
>>403
外部ツール使わなくても並べられるよ。
なに
そうなんですか
差し支えなければやり方を教えていただきたいです
あ、やってたら分かりました!
分かった!
回答ありがとうございました!
>>397
>>399
お二方、情報ありがとうございます!
>>405
最初の2行がガチで驚いてる感あって和んだ
質問させて下さい。
ツクールMVで、MPの表記をすべて「霊力」に変えたいのですが、やり方がわかりません。
どなたか教えてください。
>>409
データベースに用語って項目があると思うんだけど…
>>402
ありがとうございます!これでやりたい事ができるようになりました!
>>410
半月悩み続けた問題が解決されました。
ありがとうございます!
もう一つ質問させて下さい。
バトルイベントの発生条件で、アクターのMPが50%以下になった時にイベントを発生させたいのですが、この方法がありましたら教えてください。
変数にキャラのMP代入して条件分岐
RPGツクールMVが初めてなんですが
こういうよくある横並びのメニュー画面に変更したい場合ってどうすればいいんでしょうか?
http://www.lemon-slice.net/MV_ss01.jpg
デフォルトだと縦に並んでどうやって変えればいいのかさっぱりです
>>415
公式のAltMenuScreen
準公式プラグインを導入すればそうなる
>>416 >>417
ありがとうございます
公式のパックみたいなの登録して落とすんじゃなく
最初からも色々入ってる事に今気付きました・・・
>>414
ありがとうございます。
さっそく色々と試してみましたが、イベント発生のタイミングが思うようにいきません。
主人公が敵のMPドレインを食らった時に、「MP吸われてるよ!こういう時は…」と言わせたいのですが…。
私のやり方が変なのでしょうか。
とりあえず、変数にMP代入というアイデアはありがたく頂戴します。
戦闘イベントじゃなくてそのMPドレインのコモンにしこんでおけばいいんじゃない?
>>420
そのようにしたらできました!
ありがとうございました!
Window_MenuCommand.とかスクリプトの関数やオブジェクトの説明が載っているサイトってあったりしますか?
サイドビューの戦闘中に任意のメッセージ(バトルログ)を表示するにはどうしたらいいでしょうか?
ツクールMVです。
デフォルトで表示されてると思うけど
>>424
イベントコマンドで出来ますでしょうか?
例えば
アクターのHPが半分になったら等の条件でメッセージを表示
というのをやりたいんですが
こんにちははじめまして
ツクールMVの強制終了問題を解決し、作成開始したもののテストプレイをしようとすると白い画面のままはじまりません
色々検索すると大抵エラーメッセージが出るようですが・・・
グラフィックドライバーにまだ不備があるということでしょうか
質問に不足があれば継ぎ足します
>>426
自分なら最初は推薦スペックの確認して問題なければ使用しているグラボのドライバーの一番安定しているバージョンを調べて変更する。
>>425
メッセージを表示なら、バトルイベントにそのように入力すれば良いです。
バトルログを表示したいなら、ログ表示用のスキルを作って誰かに使用させればいいです。
使用効果とかダメージとか範囲とかも全部なしにして
メッセージの欄は、(使用者の名前)の欄は無記入にして
その下の欄にメッセージを書くといいです。
制御文字も使えるので、変数に文字列を使えばスキル1つで色々なログを表示できると思います。
使用するのは、敵でも味方でも、待機メンバーでも、いっそパーティにいないアクターでもOKです。
でも、バトルログってすぐ消えちゃうので、表示しても気づかれないかもしれませんよ。
>>428
詳しくご説明ありがとうございます。
MVです。プラグインに関する質問ですみません。
YEP_MessageCoreを導入してフォントサイズを変更したのですが、
・フォントサイズを小さくしたことにより生まれた余白がウィンドウ下に発生してしまい不格好。
行間を広げることで均等に分配したいのだがどうすればいいのか分からない。
・フォントサイズを著しく小さくすることで、ウィンドウサイズを変更しないまま5行以上表示することなどがうまくできない。
設定で行数を変更するとウィンドウサイズが変わってしまうので意図した形にならない。
・5行以上表示できるようにした場合の、エディタ側における入力方法が分からない。
配布元は読みましたが英語なので誤読があるかもしれません。
どなたか分かる方いらっしゃいましたらよろしくお願いいたします。
vxで関数の中でウェイトさせる方法ってありますか
def hoge
nannka;@wait_count = 10
nanka2;@wait_count = 10
nakna3
end
これだとウェイトの合計分固まってから全部の処理が同時に襲ってくるのですが
ウェイトしてから次のnankaという風にするにはどうしたらいいでしょう
なんとなくウェイトの後ろにupdateいれてみましたがそれでもダメでした
Graphics.wait(10)
ツクールMVを購入しました
現在メニューを開くと
・コマンド
・ステータス
・お金
の3つの窓がありますが、ここに新しく歩数を表示する窓を追加したりするプラグインって存在しますか?
もしくはプラグイン使わなくても出来たりしますか?
検索しても出て来ない場合に質問しましょう。
サイドビュー戦闘で「逃げる」を選んだ時、キャラが前を向いたままズダダダダ!ってムーンウォークしますが、気持ち悪いので後ろ向きに変えたいです
プラグイン探しても見つからなくて、フェードアウトさせるやつは見つかりましたが、やはり後ろを向いたまま逃げさせたいです
どこを変えればいいでしょうか?
YEPのBattleCoreのプラグインって相当もっさりしてるんですが、デフォルトのサイドビューぐらいの速さに戻す改善方法はありますか?
>>435
そんなの画像を書き換えるだけだよ
SVアクター画像のどの部分が逃げるモーションなのかはヘルプに書いてある
>>434
一通り検索したのですが出てくるのはVXだけで
MVは見つかりませんでした
じゃあないんじゃない?
歩数表示だかの作り方が検索で出るけど
工夫したらウィンドウ表示出来そう
プラグインがあるかないかの質問だから無いって答えればそれで終了だろ
いちいち相手にするな
Aceで、戦闘中に背景だけ色調変更できるスクリプトをご存知ないでしょうか?
Ace 色調変更 背景 とかで調べてみましたが見つからず…。
>>442
http://urx.blue/rOH3
NGワードにひっかかるので短縮URLで。
これはどうでしょ?
>>443
おお、ありがとうございます。明日試してみます。
NGワードにひっかかるのは管理人のavastが反応(たぶん誤検出)したからかも
ともあれ良かった
変数にデフォルトの値入れたくてnew gameした時イベントを発生させ変数の操作で全部入れてるんですが
設定でデフォルトの値入れる事できるんでしょうか?
>>446
できないからイベントでやってるんでしょ?
>>447
自分が無知だけなのかなーって思ってたんだけど
やっぱ無理って事なのね成程ありがとう
本当はできるんだけどな
全部の変数に同じ初期値を入れる、ということなら可能ですね
発想を変えれば解決
出来るとしてもそれは他人が設定してくれるわけじゃなくて結局自分で初期値を入れていくわけだから
変数の操作で初期値を入れるのと何も変わらない気がする
初期位置を真っ暗なマップにしてイベントで初期設定するのは普通の技術
>>453
手間考えればそれが1番楽で管理しやすい
>>453
それはみんな分かってると思う
質問者はそうじゃなくてデータベースやプラグインであらかじめ初期値を設定しておきたいってことを言ってるんじゃないの?
だから俺はそんなこと出来ても意味がないって言った
>>371 及び >>393 です。
だいぶ遅くなりましたが、皆さんからの情報やアドバイスを参考にして色々と調べた結果、
「GALV_MessageSoundEffects.js」というプラグインを追加することで、
「メッセージ中の音を出す」、「メッセージを進ませる際にSEを鳴らす」という目的の両方を
同時に達成できましたので、一応報告させていただきます。(ツクールMV)
ご協力・ご教授くださった方々、ありがとうございました。
Menuのサイズ変更やってるんだけど
Window_MenuCommand.prototype.lineHeight = function() {
return 28;
};
でlineheightは変えられるんだけどもfontSizeの変更がどうも上手くいかない
分かる人いる?
Window_MenuCommand.prototype.standardFontSize = function() {
return xx;
};
>>458
ありがとう言葉では言い表せない程の感謝だ
YEP.29 Party System
どうしても戦闘で戦うと逃げるしか出て来ません。
フォーメーションを変えたいのですが……
もうここしか頼れるところはありません。
この無能にどうかお慈悲を……。
>>460
翻訳してみれば簡単にわかることだけど導入のところに
If you are using YEP_BattleEngineCore.js and would like to enable party switching mid-battle, place this plugin under YEP_BattleEngineCore.js in the plugin’s list.
(YEP_BattleEngineCore.jsを使用していて、戦闘中にをパーティ変更を有効にしたい場合は、
プラグインのリストにYEP_BattleEngineCore.jsの下にこのプラグインを配置します。)
これが真っ先に出てるから単独で動かないことはわかると思うんだけど?
英語わからんならブラウザをChromeにしていれば自動翻訳できるんだから使ってみよう
>>461
ありがとうございます。
そこまではわかっています。
両方入れているのですが、その後どうしたらいいのかがわからず……。
>>461
あっ!
わかりました。
コアエンジンの元にって思っていましたが
コアエンジンの下になんですね。
ようやく解決しました。
ありがとうございます。
>>462
翻訳版のYEP_BattleEngineCore.jsのバージョンが低いから対応してないんじゃない?
最新版と入れ替えれば入れるだけで動くよ
VXAceだけどイベントコマンドからのアニメーション表示はキャラを対象にするしかできないけど、
画面を対象にして表示するにはどうしたらいいでしょうか?
まず透明なイベントを用意します
すみません。できました。勘違いしてました・・・
ツクール:MV
目的:お金表示される部分に画像を表示したい
方法:0〜9(gold0.png〜gold9.png)の画像を用意してあるので数値の変わりに画像を表示したい
現状:Javascriptでテキストの消去をし、お金の数値の取得と各単位の分割は出来たが、画像の表示方法が不明
どなたか解決策知ってる方いますでしょうか?
ある程度スクリプトが分かる前提で答えさせて貰うけど、まずWindow_Gold.prototype.refresh を改変して
このメソッドの4行目の
this.drawCurrencyValue(this.value(), this.currencyUnit(), x, 0, width);
を
this.drawIcon(1,0,0);
にしてみて。
そうするとお金欄にアイコン画像が表示されるのが確認できるはず。
this.drawIconっていうのはWindow_Base.prototype.drawIconだから、
こいつを適当に改造して、アイコンじゃなく数字画像が表示されるようにすればいい。
数字画像をアイコン画像と同じような配置形式にするとやりやすいと思うよ。
>>469
出ましたドクロマーク!
ありがとうございます!
ここまでくればもう大丈夫です。
連続質問申し訳ないのですが
画像の比率を変更できるのは$gameScreen.showPicture()だけが特別という事なんでしょうか?
アイコンなので必要は無いのですがdrawIconもdrawActorIconsも引数に画像比率が無いのでちょっと疑問に思ったので
俺も手探りでやってる部分が多いからあまりしっかりした説明は出来ないのだけど、
とりあえず画像の表示にはbitmapクラスを使ってるものとspriteクラスを使ってるものの2種類があって、
spriteクラスを使ってるものはみんなピクチャーと同じように伸縮も回転透過も出来るはず
bitmapも出来ないわけではないと思うけど、ツクールのスクリプト内にそういうことをしてる部分が無いから分からない
画像の表示はSpriteとBitmapで一セット
Spriteという枠にBitmapという絵をはめ込んでるイメージ
Spriteのサイズを伸縮することで画面に表示される画像のサイズが決まるが、付属のBitmapのサイズを変更しているわけではない
こんな感じだと思ってたんだが違うんだろうか?
ツクールのヘルプ読めば書いてあるレベル
vxace(rgss3)の事で質問させてください。
メッセージの制御文字を拡張し、メッセージに"\SM[x]"と入れた場合、
ID:xのスキルのメモ欄より"<説明 ○○>"と書かれているところを抜き出し、
メッセージに"○○"と返すようなスクリプトを作っています。
一応、下記の様に作ったところ、欲しい結果は返ってきたのですが、
"def skills_note"内で"p $1"を実行しないと、$1が変わらず、
欲しい答えが返ってきません。
きっと、もっときれい(正しい)記述があると思うのですが、
もしよかったら、お教え願えないでしょうか?
def convert_escape_characters(text)
result = convert_escape_characters(text)
result.gsub!(/\eSM\[(\d+)\]/i) { skills_note($1.to_i)}
result
end
def skills_note(n)
/<説明 (\w+)>/ =~ $data_skills[n].note
p $1
end
申し訳ありません!475で書き込んだかたちだと、動作しませんでした。
正しくは以下のようになります。
alias convert_escape_characters_add convert_escape_characters
def convert_escape_characters(text)
result = convert_escape_characters_add(text)
result.gsub!(/\eSM\[(\d+)\]/i) { skills_note($1.to_i)}
result
end
def skills_note(n)
/<説明 (\w+)>/ =~ $data_skills[n].note
p $1
end
>>476
p を外すか return $1 にしたら良いだけだよ
メソッドの戻り値はreturnメソッドの引数か、それがない場合はメソッドの一番最後のオブジェクトになる
p $1 の場合、pメソッドの戻り値は引数そのままだから$1の中身がそのままskills_noteの戻り値になってる
デジカでMVと同時に有料素材を購入したいと思っているのですが、よろしければ何点か質問させてください
VXA以前の素材の互換性について、
・BGMはファイル形式が違うので利用困難なケースが多い
・マップチップはタイルサイズ変更をすればそのまま利用できる
・キャラチップも同様だがサイドビュー戦闘には対応していない
・背景はおそらく拡大必須
・その他はそのまま利用できる
という認識で合っているでしょうか?
また、どのような見栄えになるのか一応確認しておきたいのですが、タイルサイズ変更を実際に行っているサンプルゲームなどはあるでしょうか?
>>478
BGMはmidi,mp3は使えない、基本oggだけ
マップはタイルサイズ変更で利用可能
キャラチップはそのまま使える、サイドビューが使えないってのはそもそもサイドビュー対応してないじゃん
画像の並び替えさえしていれば基本解像度は自由、使えるといえば使える
背景って戦闘背景?たぶん拡大は必須
ウィンドウ、アイコン、吹き出しはプラグインがないとダメ、配布はされてる
アニメーション素材はそのまま流用可能
とりあえず体験版落としてやればいい
>>477
ありがとうございます。
おかげさまでうまくいきました!
なるほど、ただ$1と返すだけだったんですね…。
>>479
ありがとうございます
体験版は試したのですが、タイルサイズ変更スクリプトは製品版の特典らしくDLできませんでした
なので実際に導入しているゲームがあるのならばそれを動かしてみようと思ったのですが、勘違いがあるようでしたらすみません
メニューコマンドのアイテム、装備等を押したときに
フェードイン、フェードアウトさせたいのですが上手く出来ません
分かる方教えてください
Scene_Menu.prototype.commandItem = function() {
SceneManager.pop(Scene_Menu);//一度Scene_Mapに戻す
$gameScreen.startFadeIn(180);//フェードイン
//this.wait(180)などのウェイト処理を入れたい
$gameScreen.startFadeOut(60);//フェードアウト
//this.wait(60);
SceneManager.push(Scene_Menu);//メニューを戻す
SceneManager.push(Scene_Item);//元の処理
};
MVのイベントでHPを減らす処理に属性を持たせたいのですがどうすればいいでしょうか?
書き忘れましたがツクールMVです
ウェイトは無理そうだったので、ハンドラ関数以外で処理するようにして解決しました
ツクールMVで作成は可能なのにテストプレイをしようとすると白い画面のまま出来ないのは、主に考えられる理由はなんでしょうか
>>485
公式サポートに聞く
>>485
回答まったく無いので同じような症状で改善した方や考えられる原因等ご教示願いたかったです
いつまでもテストプレイできないのはつらいです・・・
スペックが足りてないとかグラボのドライバが古いとかいろいろ
一応環境とかスペック書いといたほうがいいよ
>>487
そもそもMVのゲームって遊べるの?新規プロジェクトでも同様?
最低限スペック情報は必要だなw
知り合いが糞オンボードでフォールアウト4が動かないって喚いてたしw
MVだとOnclickEventみたいなの作れると聞いたんだけど
画面上に常にクリック可能なbutton設置とかも可能?
例えばメニューのステータスでHPをクリックすると自動的に回復するみたいなやつ
>>491
ひきも記とかにプラグインにそれっぽいのがあるが
>>491
http://tm.lucky-duet.com/viewtopic.php?f=5&t=90
こういうのもある
MVで説明されてるEnigma Virtualboxを使って
ACEのゲームプロジェクトをパッケージ化しようとしましたが
うまく起動してくれません。
MVの説明どおりにやって、MVではうまくいきましたが。
ACEでうまくいかないのは何故でしょうか。
どうしたらACE用のゲームをパッケージできますか。
ほかのソフトを使ってもいいです。
>>494
ファイル→ゲームデータの圧縮→暗号化アーカイブを作成する
ACEはデフォでパッケージされるだろ
いや、ACEは暗号化されるといってもグラフィック素材だけで
音楽素材はむき出しのままです。
それにファイル構成も、いくつかのフォルダとファイルになっていますしね。
exeファイル1つだけにパッケージしたいのです。
そうしたら配布が楽になりますので。
exe剥き出しで配布するのはお勧めしないがな
>>492 >>493
ありがとう面白いね
完全にhtmlのClickイベントみたいだ
夢がひろがりんぐ
ちょいとVXとVXAceの素材に関する質問なんだけど、
素材屋で、見た目全く変わらない全く一緒のグラなのにVX用とVXAce用に
分かれてるのをよく見かけるんだけど、これってなんの意味があるんでしょう。
>>499
規約見なさい
その規約があるのは分かってるけど、そこまで分別することに
なんの意味があるのかが分からないとです。
VXのRTPキャラとかドットとか普通にVXAceのRTPにも入ってるのに、なんでそこは分けるのかなって。
二つとも持ってるから別に困りはしないから、どうでもいいと言われればそれまでなんだけど。。
片方しか持ってない人は困るだろw
ツクールMVのサイドビューバトルで
【P3X-774】様のバトラーを使用させて貰っているのですが【アルド】でいうと通常攻撃でスイング2のアニメーションをさせたい場合はどうすれば良いのでしょうか?
スレ違いならスイマセン
>>503
取り敢えず武器タイプの振りを飛び道具に変えたらスイング2のモーションになりましたがスキルでスイング1→スイング2とやりたい場合が分かりません。
自己解決しました。
駄レスすいませんでした。
何かマップがバグったんだが
こんなの報告されてる?
エディタとゲーム上のマップが食い違ってる
書き忘れた
MVです
色々といじってみたら直ったけど
何だったんだろう
ちなみに屋根パーツでした
>>506
https://tkool.jp/mv/course/02.html
これだと思うけど
街に入る度に街の名前をピクチャ表示させたいのですが
表示中もキャラを動かすために並列処理で表示させところ
場所移動ができなくってしまいました
EVページを新たに増やしプレイヤー接触での移動を追加しても
仕様上ページ数の大きいものしか適用されないので今度は表示ができなってしまいます
ご助言お願いします
記入漏れありましたので連投稿失礼
バージョンはMVです
普通にマップ設定の表示名:じゃダメなのかね
自動実行にして内容の一番後ろにイベントの一時消去を入れればいい
返信ありがろうございます。
自動実行だとキャラクターが動かなくなるのですが
並列処理以外で動かせる方法あるのでしょうか?
>>513 を並列処理にすればいい
自己解決しました
>>509
これだ
ありがとうございます。
でもややこしくて理解できない…
ここで教えてもらったcall()で一気にツクールが動的なものになって世界が広がった
俺を大きく羽ばたかせてくれた事を今一度感謝したい
本当にありがとう
ありがとうございます
参考にしてやってみます
ただ並列にするとピクチャ消去する前に場所移動するとピクチャ残ったままとかにならないかな?
>>520
場所移動時に消去すればいいじゃん
>>518
それ使うと何が出来るんだ?
JavaScriptはよく分からん……
vxでseが演奏中かどうか判定するにはどうしたらいいの?
>>522
常に数値やキャラや色々な物を動かす事が出来る
カウンターだろうがメニュー画面だろうが夕陽だろうが
歩いてる最中だんだんと夜になりましたとか出来た
初心者でもわかりやすい
MV作品のアップロードのやり方教えて下さい
検索して調べたんですが、日本語使ってよといいたくなるぐらい
ちんぷんかんぷんでしたorz
せっかく作ったのに投稿できないとは。
ヘルプ嫁
>>526
今までのどの検索した結果よりもわかりやすい!
ありがとうございます。
>>524
スクリプト版の並列処理みたいな感じかな?
スレッドとかよく分からなくて投げ出したんだけど、そんなすごいなら頑張ってみるわ
update内で毎フレーム処理するのとナニが違うん
と思ったけど、アップロードできねぇ!
何が駄目なのかもわからん!!
くっそぉなんだよーもうー。ほんと嫌いやわー
アップロードってどこにあげるつもりなんだ?
日本語使ってよ?日本語のところにあげればいいだけでは?
斧にでもあげたらいいんちゃうの
まずどの形式でアップロードしたいのか言ってみて
aceとmv両方持ってる人に質問です
一般的にrubyよりjsの方が計算速度は速いと言われてますが、
同じ処理を書いたときやはりmvの方がFPSが低下しにくかったりするのでしょうか?
■32x32の画像をピクチャで画面のランダムな位置に3000枚表示した結果(グラボGTX780)
Ace
解像度:544x416
FPS 6〜7
MV
解像度:816x624
FPS:82〜90
■whileを用いた10億回の足し算(インクリメント)の計算にかかった時間
Ace:約3秒
MV:約37秒
結果
グラフィックに強い(FPSが下がらない)のはMV
計算速度が速いのはAce
測定方法が雑で申し訳ないんだけど多分こんな感じ
質問に答えてなかったわ
MVは何かしら重い計算をするとその瞬間だけFPSがガクッと落ちる
Aceは重い計算してもFPSは落ちにくいがスプライトを大量に置くとFPSガタ落ちする
なのでどちらがFPS低下しやすいかは一概には判断できない
>>535-536
おお!
わかりやすい測定ありがとうございます!
けっこう差が出るんですね〜
今回は計算の重いゲームを作ろうとしているのでaceにしたいと思います!
そのエースの方のFPS低下の弱点ってスクリプトでなんとか補えないかな
リクエストスレで依頼してみる?
MVです。
プレイヤーの隣マスのリージョンを調べて、指定したリージョンだったら〜
という条件分岐はどうやって作ったらいいでしょうか?
>>535
その結果は、単に
AceはCPUでブン回す処理
MVはグラボに左右されやすい
って話なだけだと思うぞ
たぶんグラボ刺さってない環境だとMVの利点は減る
まぁどっちも例が極端すぎるからそこまで気にすることないと思う
3000枚も画像表示することなんか無いし10億回も計算することも無いでしょ
300枚程度ならACEでも60FPS保てるってことだし数百万回程度の計算ならMVでも一瞬でしてくれるってこと
>>539
まず変数の操作で、プレイヤーの位置を取得。
プレイヤーの右隣なら取得したプレイヤーのX座標に+1にして
指定位置の情報取得というイベントコマンドで
座標を変数で指定すれば、隣のマスのリージョンを取得できます。
後は、リージョン番号の入った変数が特定の数なら・・・で分岐すればよろし。
上下左右全部調べるなら、座標を変更して必要なだけ繰り返せば良い。
>>542
ありがとうございます。
>>540
確かにグラボ刺してないPCだとMVのFPSガクッと下がった
>>541
その通りだが、MVはゲームを作りこんでいくうちに先に処理落ちが発生し始めると思う
例として戦闘画面のFPSはAceのほうが高い
以下解像度は両方とも544x416に統一
■化石PC(CPU:Atom(TM), メモリ1GB, オンボ, OS:XP32bit)での測定
・スクリプトのwhileで100万回の足し算の計算にかかった時間
Ace:0.5秒くらい
MV:5秒くらい
・タイトル画面のFPS
Ace:75
MV:35
・戦闘画面のFPS
Ace:53
MV:3
・毎フレームピクチャ300枚表示時のFPS
Ace:7
MV:3
■>>535 と同じPC(CPU:Core i 7 4770, メモリ16GB, グラボGTX780, OS:win7pro64bit)での測定
・スクリプトのwhileで100万回の足し算の計算にかかった時間
Ace:ほぼ体感できないほど一瞬(0.05秒ほど?)
MV:0.5秒くらい
・タイトル画面のFPS
Ace:120(上限)
MV:144(所持モニタの上限)
・戦闘画面のFPS
Ace:120(上限)
MV:100
・毎フレームピクチャ1000枚表示時のFPS
Ace:21
MV:124
本当ならピクチャではなくスクリプトのスプライトで比較したかったんだがjsのスプライト使用法が分からなかったので断念した
addChildも見つけられんのか
戦闘画面なんでそんな重いんだ
プラグインで軽くできねえかな
そもそも言語特性としての計算速度と
FPSは殆ど関係ないのだが…
物凄い糞重い処理とかさせるなら割と影響あるけど
ツクール程度でそんなことはすまい。
学術計算とか暗号の解読とか、そんなレベルの話。
>>547
FPSが下がるのって一定時間以内に処理が終わらなかったときだから関係あるんじゃないの?
60FPSに保つための時間ってそんなに長くないからツクール程度でも下がることは十分あり得ると思うんだが
>>548
元々の話は言語による計算速度の違い。
FORTRANが科学技術計算に向いてるとかそういう(だからといって何も考えずに使っても意味は無い)
計算速度は方法の話。
処理速度は仕組みの話。
処理が滞ったらFPSは下がる、それは当たり前だけど
そうじゃなくて、言語による計算速度の話。
更にその上で描画はまた別の話にもなる。
この辺説明しだすともう3行どころか1000行かかっても終わらないので
わからないなら自分でプログラム勉強してくれとしか言えない。
>>549
要するに重い計算処理が入ればツクールでもfps落ちるってことでしょ?
例えば以前、イベントが最短経路で動くプレイヤーを追跡するスクリプト組んだけど重くて使えなかった
DXライブラリ(C言語)で同じアルゴリズム実装したときはそんなことなかったから、言語特性の計算速度の違いによるfps低下はあるんじゃないの?
そんなレベルのプログラム組む奴がこんな所で質問するかよ
>>550
どんな実装してるかは知らないが
それは
・処理速度は仕組みの話。
こっちの話になるだけの事だ。
計算が遅いのではなく、仕組みのせいで遅い。
外人とのやり取りで通訳を通すか直で話すかの違い
(function(){
Scene_Menu.prototype.create = function() {
_Scene_Menu_create.call(this);
this._commandWindow.width = 400;
}
});
とやるとコマンドウィンドゥのwidthが400pxにはなるんですが
開いた時にセレクトされている項目だけがデフォルトのwidthになります
一番上にアイテムがある場合、アイテムの部分が半透明に点滅しますが、そこの横幅が足りず半分だけ点滅してる感じです
>>554
rpg_window.jsのcommand_windowで直接width弄らなきゃ駄目じゃね?
まずその書き方では正しく読み込まれないはず。
単にコピペミスしただけなのか実際に間違った書き方をしてるのか分からないから正確に写して。
それともし他にメニュー関連のプラグイン入れてたらそれも全部書いて。
イベントで設定した画像を透明状態から徐々に表示を濃くしていくにはどうすればいいでしょうか?
移動ルートの
途中で送信してしまいました。すみません
イベントで設定した画像を透明状態から徐々に表示を濃くしていくにはどうすればいいでしょうか?
移動ルートで不透明度を徐々に上げていってるんですが
他のイベントからスイッチONで、目的のイベントを起動すると
最初パッと表示されてから透明になって、そこから徐々に不透明度があがっていきます。
他のイベントで透明化をONにしておいて、イベント起動したら透明化をOFFにしてからとか
いろいろやってるんですが、上手く行きません。
なんとかやってるうちに解決しました。
スレ汚しすみませんでした。
>>554
Window_Selectableを継承してるから
中身のアイテムの幅はitemWidthを変えるといけるはず
MVで戦闘中のみ特定のスキルタイプをアクターコマンドに表示させないようにするにはどうしたらいいでしょうか?
パッシブスキルをメニューでは確認できるけど戦闘では使えないので表示させたくない
MVについてなんですけど、例えば毒を解除するスキルを使用した際に
「○○(使用者)は○○(対象)の毒を解除した!」ってメッセージを表示させたいんですが、
このとき、対象の名前を表示させるにはどうすればいいでしょうか?
>>560
できました!ありがとう!
MVでスキルの攻撃ダメージをお金に変換はデフォルトで出来ますか?
100ダメージで100Gとかです。
コモンイベント付ければできるんじゃね?
>>565
あっ!そうか!
コモンイベントの存在を忘れてました。
ありがとうござます。
>>561
自己解決しました
http://daimonioustails.weebly.com/recipe-crafting-mv.html
こちらのMV用Recipe Craftingというアイテムクラフトのプラグインに関しての質問です
カテゴリ名をパラメータからALchemy以外の名前にすると
クラフトアイテム名が消えてしまうのですが日本語表記にしたい場合どのようにしたらいいのでしょうか?
具体的に下記画像のようになります
http://www.dotup.org/uploda/www.dotup.org744960.jpg
また重ねての質問恐縮ですが
下記画像のような症状がでてしまいます
http://www.dotup.org/uploda/www.dotup.org744962.jpg
こちらに関しては公式のサンプルプロジェクトもこの仕様なので
仕方ないものなんでしょうか?
長くなりましたがよろしくお願いします
>>568
そのカテゴリー項目の呼び出しってどうやんの?
>>569
すみませんjava scriptの知識が全くないです
おそらくこのあたりが関係してるとは思うのですが
(function() {
var parameters = PluginManager.parameters('RecipeCrafting');
var categoryNames = eval("[" + (parameters['Categories'] || '"Alchemy","Blacksmith","Tailor"') + "]");
いやだからサムネのカテゴリ選ぶのどうやるのって聞いてんの
サンプルプロジェクトにないじゃん
画像のとおりパラメータで指定してます
サンプルと全く同じです
プラグインコマンド聞いてんだろ
テキストファイルは何の文字コードで保存してる?(文字コードは分かる?)
>>572
サンプルのそこを変えただけじゃ、そうなるのは当然だと思うのだけれど、
そもそも合成するためのレシピの作り方を理解してるかな?
レシピの中で、合成カテゴリがAlchemyになってるんじゃない?
dataフォルダに入れているtxtファイルはANSIで
pluginフォルダに入れているjsファイルはUTF-8です
>>575
そちらの方法は以前試したのですが
レシピのtxtファイルほうでカテゴリをAlchemyから変えても同じ症状でした
>>576
ANSIだと日本語が文字化けするから同じカテゴリーって判定されないのかもしれない
dataに入れてるテキストもUTF-8にしてみて
>>578
こちらの方法試したところ日本語がちゃんと反映されました
ありがとうございます。助かりました
答えてくれた方々もありがとうございました
>>568
下の画像はMVの仕様です。
MVはウィンドウを重ねて描画することを考慮していません。
>>580
やはり仕様なのですね
お答えいただきありがとうございます
角を丸くしなきゃいい
むしろ重ね置きを考慮してああなってるんだと思うよ
透過部分に後ろのウインドウが映るようにすると>>568 の例だと成功ウインドウのど真ん中に縦線も映り込んでしまう
Aceがこっちの仕様だったのでできなくなったってイメージの方が強いかな。
http://rpg.mitukasa.jp/src/ogrpg1376.png
そもそもきちんと考慮してたら、>>568 みたいな質問はでてこないのではないかなぁ。
重ねるプラグインもあるけど、そんなに違和感はなさそう。
http://rpg.mitukasa.jp/src/ogrpg1377.png
このプラグイン、バグってて動作させるのに苦労したのだけど・・・
もっと見難くなるかと思ったけど案外自然だねぇ
ちょっと作ってみるかな
ちょっといい?
Window_MenuCommand.prototype.windowHeight()でMenuCommandウィンドウの高さを調べると
_list.lengthが空っぽでメニュー項目数が取得できず高さが計算できませんってエラーが出るんだ
コマンドの高さ取得するのはこの部分以外にある?
プラグインは何も入れてない状態でもこうなった
_listはデフォで空っぽなんだろうけど、ここに形だけメニュー項目入れると後々バグが怖いし
かなり強引なやり方だけど
Math.ceil((メニューの項目数)/Window_Selectable.prototype.maxCols()) * Window_Base.prototype.lineHeight()
+ Window_Base.prototype.standardPadding() * 2
これで取得できる
メニューの項目数が空っぽの部分だからここだけは手動で数字を入れるしかない
プラグイン等でメニューのレイアウトを一切変えてないなら
(メニューの項目数) * 36 + 36 でもいい
>>587
やっぱり無理矢理自分で入れるしかないのか、ありがとう
でもこの_listって何の意味があるんだろうか
他でも利用してる様子ないし
ツクールMVの質問なのですが
装備品の文字色を変更するのはどのようにしたらいいでしょうか
\C[n]では指定できませんでした
よろしくおねがいします
MVの質問です
F9デバッグモードで出来ることは、スイッチ、変数の変更のみでしょうか?
テスト中にアイテムの増減などしたいのですが、そのようなことは可能でしょうか?
スイッチの変数の変更のみ。
いろいろやりたい時は自分でデバッグルームを作るのが普通。
>>591
なるほど。ありがとうございます
>>590
F8デバッグ使えば出来るのぜ
// アイテム番号0001を2個増やす
$gameParty.gainItem($dataItems[1], 2)
// 武器番号0003を4個増やす
$gameParty.gainItem($dataWeapons[3], 4)
// 防具番号0005を6個減らす
$gameParty.loseItem($dataArmors[5], 6, true)
スクリプトさえ覚えておけばいちいちデバッグルーム作らなくて良くなったのが
MVのかなり大きな改善点だと思うのぜ
スクリプト前提ならVXAでもF5〜F8の好きな所にデバッグコマンド入れれるが
>>589
制御文字は決まった場所でしか通常は利用できないです
具体的なものをすぐに紹介できなくて申し訳ないのですが、アイテムの名前などにも制御文字を使えるようにするプラグインとか、そういう方向で探してみるといいと思います
最悪着色だけならそんな手間ではないはずなので、どうしてもないようなら、暇があったら作ってみるかもしれません
>>594
おお、vxaにもテストプレイ中に組んだスクリプトを即時実行する機能とかあったのか。
やり方を教えて頂けると嬉しいです。
>>596
機能というか普通にスクリプトの内容いじらないといけないけど
Scene_Mapのupdateメソッドにボタン押下チェックを入れればいいだけだよ
デバッグ用の自作シーン作って
SceneManager.goto(OriginalDebugScene) if Input.trigger?(:F8) && $TEST
みたいにすればいい
シーン作るほど大掛かりじゃなくて何か決まった動作をさせたいだけなら
class Scene_Map
def original_debug
何らかの処理
end
alias original_update_scene_map update
def update
original_update_scene_map
original_debug if Input.trigger?(:F8) && $TEST
end
end
こんな感じでもいい
すまん、調べてみたらMVにはテストプレイ中にスクリプト入力できるような機能があるんだな
VXAにはそういうのはないからスクリプトいじらないといけないんだすまんな
>>595
返信ありがとうございます
やはりカラー指定はできないのですね
アドバイスいただいた方法で探してみます!
あーやっぱMVから追加された機能だよね。
aceも今月steamが日本語化したりいつの間にかクラウド機能が追加されてたりで、
プレイ中に新しいスクリプト書いてその場で実行する機能も追加されたのかと思た。
これあるとデバッグルーム作らなくて良いから、かなり便利なんだよね。
コンソールでできるようにする素材あるから
>>589
>>599
もう見てないかもしれないけど
cellicom's Rarity Item Color System
っていうプラグインで出来るよ
VXACEでMPの部分をミンサガのBPシステムで実装したいんだけど
スクリプト無しのイベントやらでどうやったら可能なのかな。
特徴だと割合回復しかないけど、指定値ポイントで回復させたい。
ミンサガ知らない人に説明しておくと
6/19+4 というステータスなら
初期MPが6
最大MPが19
ターン回復が4
というシステム。
勿論レベルによってこの3箇所は全て変わってくるんだけど
それもどうすれば実装できるか思いつかない…
初期値は常に同率割合(最大MPの○分の1とか)ならなんとかできる気はするけど
理想はそうじゃなくてテーブル作ってキャラクターや職業ごとに1レベルごとに設定したい。
俺も似たようなシステム導入してるけど
スクリプトで処理するのが楽だった
スクリプトでやりたくないなら面倒でも変数に頼るしかないな
2000で自作戦闘やってた人はスイッチや変数を
駆使してるからね
イベントでやると相当めんどくさそうだな
スクリプトコマンドで
$game_party.members[x].mp += $game_variables[n]
とかやれば固定値で+出来る思う
>>593
返信おくれました。すごい!
ありがとうございます。
あのコンソールはそのようにして使うものなのですね
やっぱりスクリプト使わないと実現は難しそうですな…
>>604 は自前でスクリプト組んだのかな?
自前じゃなくて既存素材であるなら教えてほしい。
素材でないなら妥協して
初期値はTPの初期値の所を多少改造して使って
ターン回復は割合設定でどうにかなるように無理矢理バランス調整しようと思う。
レベルによるMP上昇の値次第で割りあいに見えづらい、程度ならできるかもしれないので。
どっかのイベントだけでやるなら>>605 で教えてもらったのでいけそうだけど
各キャラクターや各レベルで全部設定していくとなると相当面倒そうなので…
>>605 のやり方でいいと思う
MPと回復量のテーブル作成は空いてるアクターデータ使えば楽だよ
仲間キャラがたとえば全部で4人なら、ID5〜8のアクターデータをテーブルにする
ID5〜8の最大HPを初期MP、最大MPを回復量に見立ててそこから値を取得すればいい
MVです。
解決策がわからないので、わかる方教えてください。
状況
①マップに、サンプルマップの「オフィス2F」をつくる。
②プレイヤーの初期位置の設定を、その「オフィス2F」の真ん中あたりにする
③テストプレイ
④
Error
Failed to load:img/characters/!SF_Door2.png
というエラーがでる
➄charactersのフォルダをみると、!SF_Door2.pngの画像はちゃんとある。
そして、サンプルマップの「オフィス2F」には、その画像は使われていない
ちなみに、
・マップはオフィス2F以外なし。このマップ1つだけ。
・オフィス2Fはまったくいじっていない。
解決策わかる方いますか?
MVインストール先のフォルダ"RPGMV\AdditionalAssets\img\characters"にある"!SF_Door2.png"を作成中のプロジェクトフォルダにコピーしてる?
新規プロジェクト直後のフォルダ内には!SF_Door2は含まれてないからMV本体のところからコピーして持ってこないといけない。
MVのこの仕様はどうかと思うけどね。
610さん、ありがとうございます。
解決しました。
ちなみに、僕の文にミスがありました。
charactersのフォルダをみると、!SF_Door2.pngの画像はちゃんとある。
↓
よくみると、フォルダの中にあったのは!Door2.pngでした。
!SF_Door2.pngはありませんでした。
教えてもらった通りにすると、解決しましました。
ありがとうございます。
ちなみに610さんは「!SF_Door2が、MV本体のところにある」という知識を
どうやって知ったのですか?
色々触ってたら見つけた。という感じですか?
>>612
パソコンには「ファイル検索」という機能が付いているんだぜ
知識はない
サンプルに組み込んでいるわけだしMV付属の素材にありそうっていう目星をつけて探しただけ
●613さん
「!SF_Doorがないからエラーになってるんだ!」と気づけていたら、それもできたかも
しれません。
●614さん
パソコンについての問題解決を繰り返していると、
そういう推理が早くなりそうですね。
質問です。
今、ゲームを実際にプレイする時の確認をしています。
このサイトの
https://tkool.jp/products/rpgvxace/lecture/007_001 #01
「ゲーム開始の方法」のところに、↓こう書いてあります。
作成したゲームをプレイヤーがプレイするには、
ゲームフォルダの中にある「Game.exe」をダブルクリックする
必要があります。
ちょっとここで、「Game.exe」をダブルクリックしてみてください。
ゲームが起動してタイトル画面が表示され、
「ニューゲーム」を選ぶとゲームが開始されるわけですが、
「テストプレイ」を行った時と同じように始まったこと
に気づきましたでしょうか?
しかし、僕の場合はダブルクリックしてもテストプレイのように
ゲームが始まりません。
マップやイベントを編集する画面になります。
これは何が原因なのでしょうか?
>>615
原因も何もプロジェクトファイル開いたらそうなるのは普通だ
htmlのほうをクリックしたらブラウザで起動するぞ
あとね、ちょっと酷かもしれないけど正直に言うと君の躓いてる段差はあまりにも低すぎる
PCの扱いに不慣れな状況で、いきなりツクールはちょっと無理があるんじゃないかと思う
まずは色んなツクール製のゲームを遊んでみる所から始めてみてはどうだろう
>>615
ファイルのロードに失敗しましたってエラーが、ファイル名付きで書いてあるやん
とりあえず
documents\Games の中の実行ファイルでなく
documents\output の中の実行ファイルならテストプレイみたいになる。
ということが分かりました。
「ゲームフォルダの中にある」と書いてあったのですが、VXとMVとの違いかもしれません。
わかりませんが。
そして、実行ファイルはdllファイルを使って動く場合があり、そのときは
同じフォルダに入れてないと動かない。で、今回がそうである。ということも学びました。
そして今、フォルダごと人にダウンロードさせる方法を試しています。
ドロップボックスでやろうとしましたがなぜかフォルダ内の実行ファイルだけがダウンロードできませんでした。
これはもう少し自分で解決策探ってみます。
ファイルの拡張子を表示するようにすると分かると思うよ。
プロジェクトのフォルダにあるのは「Game.exe」じゃなくて「Game.rpgproject」。
実行ファイルじゃない。
あれ? あぼーんされるようなレスだっけ?
あんま覚えてないけど普通に講座紹介したりとかしてなかった?
全くしてねえよ、質問スレについてどうのこうの言ってただけ
>>634
「そんか低レベルな質問すんなや」とか
「ここは初心者専用の質問スレじゃねーぞ」とか
「いやスクリプト初心者の質問ばっかだろ」とか
「職業プログラマじゃない開発初心者専用スレだろ」とか
あぼーんされるべくしてされたレスばっかだったよ
マジで?
俺なにと勘違いしたんだろ……すまん
ツクールMVにて質問です
最小ダメージの設定というのは、本体上の計算式で可能でしょうか?
防御力や魔法防御力が高すぎるとダメージ0になりますが、どれだけ差が開いても最低数値(キャラやモンスターの運などから取得)は与える様に保証したいです
俺は最低ダメージ1の計算式を悩んで作った
Math.max(a,b)というものを使えばいい
これはカッコ内の値を比べて大きい方を返すっていう関数で、
Math.max(通常の計算式 , 最低値)と書けば
通常の計算式より最低値の方が大きい時は最低値を返すことになる
「通常の計算式」「最低値」って日本語で書くんじゃなくて、その部分に好きな計算式を入れてね
>>640
ありがとうございます!うまく最低ダメージ入れられました!
ツクールMVの購入について質問です
英語版の方がアップデートが早いと聞いたので英語版を購入しようと考えてます。
Steamはamazonの日本語版に比べ大分高いのですが、安く購入する方法は何かないでしょうか?
また、ググると出てくる体験版を日本語にする方法は、製品版にも問題なく(アップデートなどに影響することなく)使えるでしょうか?
1.鍵屋の価格でも高いなら働け
2.知るかボケ
1.セールを待つ
2.製品版を買って確かめてみよう
1.セール待ちだな。3月下旬のスプリングセールで少しは割引くかも?
2.どの方法のこと言ってるのかわからんが日本語化はできてるぞ
MVですが公式のプラグインで敵のパラメーターを攻撃力999→9999に変更しましたが敵のデータベースでは999以上に設定出来ません。
どうしたら良いのですか?
ヘルプを読めばいいんじゃない?
>>647
成る程、プラグインにヘルプあるのに
気づきませんでした。
敵のメモの部分にノートタグを追加すれば良いのですね。
ありがとうございました。
>>642
英語版のMVは今週あたまに20ドル(約2200円)で売られるセールやってたから、普通にセール待ちで良いのでは。
今回のセールは英語版公式のメルマガを取ってる人に送られ、
その後でMV以外のセールが公式発表された流れっぽいので、
rpgmakerweb.comでアカウント登録しておいた方が良いかも。
まあ今回が特別で今後セールが滅多になくなるとかもあるかもしれないけど、
少なくともAceは2・3ヶ月ごとに千円くらいになるセールやってるから、
発売から4ヶ月で一万円割引とかやらかしたMVもその流れになるかもね。
MVのプラグインに関する質問です。
プレイヤーとは別に、上下左右のキーやタッチで動かすカーソルを実装しようとしています。
Game_Cursorというクラスを作ろうと思うのですが、Game_CharacterBaseを継承するべきかで迷っています。
座標の取得部分など使いまわせる部分も結構あるのですが、
方向や歩行アニメ関連など不要なものも多くあります。
多少コードが重複しても別にクラスを作るか、
余計なメンバがあったりメソッドが呼べるような状態でも使わなければ問題なしと継承させるか、
どちらが良いでしょうか?
(前者はファイルサイズがやや大きくなり、共通の挙動に何らかの変更を加えたい場合の手間が増えること、
後者は使用しない変数の分などでメモリサイズがやや大きくなるのが問題かと考えています。)
体重0.1kg減らして喜んでるようなものだぞ
MVのサンプルゲーム「DiableCaprice」をプレイ中、
0キーを押してメニューを開こうとすると、突然二回連続で押されたような判定になって
メニューが開閉されて、何とかメニューを開こうとしていたらゲームが終了してしまいました。
この問題の解決方法はありますか?また、他のゲームでもこうなりますか?
書き忘れました。
OSのバージョンはWindows10 Homeです。
>>651
まあサイズ面は殆ど変わらないのは承知してます。
あまり大きなプログラムの開発経験がないので、こういった時、
後々の修正のしやすさとかまで考えるとどちらがいいのかな、と迷いまして。
そういった面でもご意見いただけると助かります。
迷ったら継承しとけばいいんじゃない?
いらないメソッドが気になるならGame_CharacterBaseから必要なメソッドだけを切り出した更に上位のクラスを作ってそれを継承するのもありじゃないかな
自分のクラスにメソッドがなかったらスーパークラスに探しにいく仕組みだから無駄に増えたりしてない
>>654
煽るわけじゃないんだが、単純に知識と経験とが不足してる感がすごくあるので、
失敗しても糧になると思って自力で調べたり考えたりするのをおすすめしておくぞ
仕事だというなら話は別だけど、どうせ趣味だし困ることはないさ
別に経験値欲しい訳じゃないってんなら、悩むだけ無駄なレベルだから適当にやっても問題ない
下手の考え休むに似たり
>>611 の仕様というよりもバグと表現した方が的確というレスが
削除対象になるのか
今まで少しでもMVをディスるレスが削除されてきたことを考えると
この板ではMVについて些末なことでもネガティブなレスをすると
削除の対象となるんだな
なるほど、色々見えてきたわ
あーなるほど、ここ角川の中の人が運営してる板なのか。
ゲ製いくかな。
ニコニコを盛り上げようと頑張ってるユーザーの代表格だと思ってた伊予柑が、
実はドワンゴ社員のステマだと身バレした時の裏切られた感ほどではないけど、
それでもやっぱりこういうのはくるものがあるよね。
勝手に信じて勝手に騙されたと妄想してるやつが悪いってのは分かるけどね。
管理人がでしゃばりすぎてもうだめだなここも
さっさとゲ製行けよ
申し訳ございません。
>>611 の削除はこちらの操作ミスです。
MVについてのネガティブなレスを一々削除しているのならば、そもそもこの板自体閉鎖しています。
削除依頼を行う場合、該当のレス番号を指定して頂ければこちらの主観で削除、操作ミスを防げるのでご協力お願いします。
ご意見ご要望があれば下記への連絡をお願いします。
http://rentalbbs.shitaraba.com/jbbs/user_inquiry/?dir=game&bbs=59291
この板過剰評価し過ぎだろ
したらばトップでこの板検索してみろよアクセス数見れんだからさ、1日20人くらいしか来てねえよ
社員が工作する意味がまるでない、だって人がいねえから
投下スレでブラウザ配信したほうが多くの人にやってもらえるって奴いるけどさ意味がない、だって人がいねえから
ここのアクセス数見てればゲ製の人数も想像がつくだろ?多く見積もってもここの倍、最悪ここより少ない
もうね、ツクール自体オワコンだって気付こうよ
ちなみに全盛期はどのくらいのアクセスがあったの?
ゲーム制作ツールなんてどこもそんなもんだと思うけど
>>666
多い時は1日200人くらいいってたと思った
投下スレの作品DL数も今じゃ10から20くらいだが200以上いってる作品もあった
たいした数じゃないが今とは比べ物にならない
ツクマテの登録数だって300程度と考えれば多いほう
こっちにレスが多いとあっちが過疎るんだからゲ製も人いないのは想像つく
へええ、そんなに賑わってたんだ
また盛り上げたいね
>>655 ->>657
いろいろとご意見ありがとうございます。
CharacterBaseの上位クラスについては一度考えたのですが、
他のプラグインとの競合なんかを考えると元のファイルに変更は加えたくないのでやめることにしました。
javascriptはそれほど深く触ったことがなく、独特なオブジェクト指向とか、
理解しきれていない部分も多いので、もう少し基礎的な部分を学んでから改めて考えてみようと思います。
>>670
JavaScriptのオブジェクト指向は色んな意味で異端だから、不足してる部分はRubyなんかのが学ぶにいいと思う
二度手間ってほど異質ではないし、過去のスクリプト素材を参考にしたりできるから無駄にもならない
>>643 ->>645 >>649
遅れましたが回答ありがとうございます
セール千円は魅力ですが、セール待ちも気の長い話なのでSteamで買ってしまおうと思います
MVです。
みなさん、村人等の一般人の服はどうやって手に入れてるんですか?
標準ではアーマーなど、メインキャラクターが着るようなものしか
ないんですよね。
ある程度ネットでさがしてみたんですけど見つかりませんでした。
ツクールMVで質問です
例えば冒頭のイベントで魔王に対してメラを撃ったら、
会話がはじまって「それがメラか?メラとはこう打つのだ!」ってメラゾーマで反撃する、みたいなことをしたいんですが出来ますか?
スキルを持ってる時って条件イベントは作れても、スキルを発動した時ってイベントを作れる機能がどこにも見つからず・・
スキルにコモンイベントじゃだめなん?
スキルにコモンイベントということは毎回発動しますがスイッチで管理するんでしょうか?
そのイベントが終わったらそのスキルを忘れさせて
コモンイベントが設定してない同じスキルを覚えさせるじゃだめなん?
なるほど、そんな手が!
ありがとう!
スキルで発動するコモンイベントはスイッチをオンさせるだけにしておいて
戦闘入る前にそのスイッチオフにしてから戦闘イベントで管理するだけでいけそうだけど、だめなん?
ツクールMVの「Battle Advantage」というプラグインについて分かる方いますか?
http://forums.rpgmakerweb.com/index.php?/topic/56965-ve-battle-advantage/
キャラや位置を自動反転してバックアタックを実装するためのプラグインなんですが、
これを使うと、何故かキャラとモンスターの位置がかぶってしまいます。
このプラグインの動作に必要なVE_BasicModule以外にはプラグインは一切無い状態です。
1. サイドビュー戦闘にする
2. 敵グループでモンスターを整列
3. イベントを配置して
プラグインコマンド ForceAdvantage BackAttack
2で作成した敵グループと戦闘
4. テストプレイ開始で3のイベント
確認方法は以上です
マニュアルを見てもこれ以上の説明は無いので、これが不具合なのか
それとも別にプラグインが必要なのかが不明です
分かる方いましたらよろしくお願いします
特定の戦闘でだけコモン出したいときはその戦闘始まる前の会話かなんかでスイッチ1をONにして
スキルのコモンの条件にスイッチ1がONのとき→スイッチ2がOFFのとき→イベント、スイッチ2 ON ってやっておけばすきなタイミングで1回だけ発生できる
それスイッチ1要らなくないか?
1がないと全部の戦闘でイベント発生しちゃわないだろうか?
イベントの条件が「スイッチ2がOFFのとき」なんだから2がONになればもう発動しないでしょ
2をONにするタイミングはイベント発生した時なんだから1がないと最初の戦闘でイベント起きてそこで終了しちゃうじゃん
いやいや、
イベントが必要な戦闘の開始前にスイッチ1ON
→コモンの中身が実行される条件が「スイッチ1がONの時」
→コモンの最後に「スイッチ1をOFF」
で、スイッチ1個でいいんじゃない?
それにしても毎戦闘でメラ使う時にスイッチチェック入るのはどうもあれな気がするな
ツクール標準でスキル使用時の条件分岐出来ればいいのに
>>685
最初の戦闘でイベント発生させたいって言ってるんだからそれでいいでしょ
そのイベント戦の時だけスキル入れ替えればよくね?
スキル入れ替えって呪文の配置変わらない?
一旦全部忘れさせて入れ替えは数によっては面倒だし・・
っていうやりとりが>>677 であってその話はもう終わったはずだが
>>680
Requires the��Victor Engine �� Basic Module
それ単独で動かないよ、基本モジュール入れろって書いてんじゃん
ちゃんと読もうぜ
>>692
Basicは入れてるって書いてない?
よくわからんけど基本モジュールより上にプラグイン置いてるとか?
起動出来ないのではなく、キャラ配置がかぶってしまう
バックアタックのキャラ配置に興味ある方は一度上のプラグイン2個入れて確認してみてくれると助かります
どこからダウンロードしたの?
リンクが間違ってるようで全然違うプラグインが出てくるんだけど
ちゃんとプラグイン名確認した?
ちなみに間違ったリンク先のプラグインはキャラのモーションを拡張するものだから
もしそれを何の設定もせずに使ってるなら表示がおかしくなって当然だよ
間違ってないんですよね・・
そもそも間違ってたらエラーで動かないんじゃ
プラグインコマンドは存在してないものを入力してもエラーにはならないよ
試しにaiueoとでも入力してみ
間違ってないならこっちでも確認してみるからどこからダウンロード出来るのか教えて
>>699
ttp://www1.axfc.net/u/3627084
ここにアップしました
直ったと思う
ttp://www1.axfc.net/uploader/so/3627181
エネミーの情報を取得する前に位置のセットが行われてた為に
エネミーがエネミーだと判定されてなかったみたい
>>701
おお!
ありがとう!!
>>700-701
これ凄いですね!
使わせてもらっていいですか?
著作元の規約に従えばいいんじゃね?
結構バグの多い作者さんぽいな〜
Battle Advantageのリンク先いまだに治ってないし
ヘルプもPincerAttackがPicerAttackになってるし
26日にBasic Module 1.13公開してたのに28日にもこっそり修正加えて同じ1.13として公開してるし・・
使うにしてももう少し修正待ちした方がいいのかも?w
・・・人間性が糞
失礼なやつだな。
いくら糞だって>>705 とは一緒にされたくないだろ。
糞に謝っとけよな。
糞さんすいませんでした!
>>706-708 が何を言いたいのかよく分からない・・
>>709
有志の人に文句を言ってるから
糞って事
ほんとに図々しい奴が多いよね
某コミュニティサイトのリク板見てても、あの機能も付けてくれ、この機能も付けてくれ、あれと競合するから修正してくれって
素材提供者を便利屋かなんかと勘違いしてるんだと思う
質問以外の雑談なら他でやれ
バックアタックプラグインいいな
サイドビューは好きじゃなかったけどこれなら作ってみたくなる
MVで質問
前までキャラクターのフラッシュって出来てたと思うんだけど、その機能がどうも見当たらない
プラグインでもいいので、出来るのであれば教えてくれると嬉しい
>>713
デフォだとアニメーション表示でやるしかないぞ
やっぱり機能から消えてたのね、ありがとう
はじめからそんな機能はない
ツクール2000にはあったよ
XPでかなり機能削られたからなあ
2000からだと
キャラクターのフラッシュ→削除
BGMのフェードイン→削除
敵出現歩数の変更→面倒になった
町中で左右往復、上下往復だけさせたいキャラ→面倒になった
戦闘画面に天候→表示されなくなった
こんな感じ?
ツクールMVの選択肢の表示について質問です。
ドラクエ風にショップ店員に話しかける→店員の一言アイサツ→はい・いいえ→
はい→ショップの表示
いいえ→店員のアイサツ(まいど〜的な)
という風にしたいのですが、いいえ、にした時のアイサツが表示されません。
どうやればいいんでしょう?
今は以下の通りにイベント設定しています。
文章(店員のアイサツ)
↓
選択肢:
はい:
ショップの処理
いいえ:
文章→店員のアイサツ(まいど〜)
分岐終了
文章→店員のアイサツ(またきてね〜)
ちなみに確認したのですが、Aceではこのままでその通りできていたので、原因が全く分かりません・・・
どなたか解決策を教えてくれませんでしょうか。
その通りにやったら出来るはずだから単純な書き間違いがあるとしか思えない
設定している画面をスクリーンショットに撮って貼れる?
それだといいえにした時、店員のアイサツ(まいど〜)の後に
店員のアイサツ(またきてね〜)が表示されるから
単純に見間違えたとか?
>>721 ->>722
お二人の助言から間違いはなさそうだったのでもう一度にらめっこしてみて、
アイサツ文章の最後に入れていた(\! ボタン入力待ち)を抜いてみたら、そのままいけました。
どうやらこれを入れるといいえのアイサツ(まいど〜)が表示されなくなるようです・・・
原因のメカニズムがまだ良く分かってませんが、ありがとうございました。
MV質問です
プラグインを見たり書いたりするのに使いやすいエディターのおすすめありますか?
無料でも有料でもいいです、ここの皆が使っているおすすめエディターの、優れている機能など教えてください
sublime text3
単語入力の補完等、便利なプラグイン、機能が多い。
Atom
VSでFA。
重いとか言われるけど、MVが快適に動くPCなら普通に快適に動く。
IDEなら『brackets』かな?
標準機能も豊富な上に機能拡張もできるので便利
エディタなら『EmEditor』がおすすめたけど、プログラム読み書きするためだけに入れるには貧弱すぎるかも
普段使いのエディタがメモ帳とかそんな感じなら入れておくと便利
俺もVS使ってるけどあれ登録に一手間掛かるからツクールのためにちょっとエディタ探そうかなって程度の人にはあまり勧められないと思う
初心者に勧めるなら、落とすのが簡単、日本語対応、辺りは最低条件になるかと
まずそもそもVSの使い方自体がツクールより圧倒的に難しい件
MVでマップID1の時アイテムID1が使用できないようにする為に↓のようにしました
Window_ItemList.prototype.isEnabled = function(item) {
if (item.id === 1 && $gameMap.mapId() === 1) {
return false;
}
return $gameParty.canUse(item);
};
これでとりあえず出来たのですがアイテムを一つも持っていない状態で空白で決定キーを押すと
『Cannot read property 'id' of undefined』と出てタイプエラーになってしまいます
これを回避する方法を教えてください
これでいけるかね
Window_ItemList.prototype.isEnabled = function(item) {
if (isNaN(item.id)) return false;
if (item.id === 1 && $gameMap.mapId() === 1) {
return false;
}
return $gameParty.canUse(item);
};
ifのなかの先頭に item && と加えればいいと思う
これでアイテムが存在してる時って条件が追加される
>>732
うーん、エラーが出て駄目っぽいです
>>733
できました!ありがとうございます!
あー今試したらエラー出たや。
>>733 でいけた。
MVの質問をふたつ失礼します
通常は四方向移動のみなのに特定箇所でのみ八方向移動とすることはできますか?
例えば画面内左下・右上を結ぶような階段があるとして、キャラもそれに沿って移動できるようにしたいです
・階段上で左を押すと左下、右を押すと右上に動く
・階段上では左下か右上にのみ動ける
・直接操作するのではなく、階段に乗ると滑る床のように自動的に移動する
のいずれかの方法はイベントあるいは既存のプラグインで実現できるでしょうか?
最初の質問ともかぶるのですが、イベントによる強制移動をマスよりも細かい単位で行うことはできますか?
任意の二マスを最短距離で移動ですとか、弧を描くように移動ですとか、
始点と終点と以外ではマス目を無視することは可能でしょうか?
>>736
上はイベントで下はプラグイン必須
そういうことは聞くまでも無くスクリプトで可能だってわっかんないかなぁ
キャラクターをピクチャーで描画するようにすればどちらもイベントで可能
すごく面倒だけどスクリプトが無かった頃はやってる人いたよ
前者はピクチャーで描画なんかしなくてもイベントでできるよ
ありがとうございます
ピクチャの描画というのは考えにありませんでした
他の方法でも可能とのことですが、よろしければ詳細教えていただいて構わないでしょうか?
>>738
スクリプトでできる内容だとは理解していたので、イベントでも可能かどうか質問させていただきました
失礼、IDが変わってますが736=741です
>>738
>>1
■回答者の心構え■
>>741
階段の入口にイベントをプレイヤーから接触した時に設定して
移動ルートの設定で右上とか左下とかでプレイヤーを出口まで動かせば
斜め45度の強制移動でいいなら簡単にできると思う
自分で動かすのは、階段にリージョン設定して
イベントを並列処理に設定して
プレイヤーの現在位置を取得して
現在位置のリージョン番号を取得して
条件分岐で現在位置のリージョン番号が階段のリージョン番号の時に
さらに指定するボタンを押した時に
移動ルートの設定でプレイヤーを斜めに一つ移動
で、いけるような気がするけど
今頭の中で考えただけだからダメだったらごめん
いや
■プ
■=イベント プ=プレイヤー
で、イベントのプライオリティを同じにして
発動条件をプレイヤーから接触したときにして
内容を斜め下に強制移動ならややこしいことしなくてもできるやん
>>745
>>744 だけど、それ思いつかなかった
さっき自分で書いたの試してみたけど、一応斜め移動はするんだけど
ちょっと挙動がおかしいところもあるから、そっちのがいいね
設定も簡潔で簡単だし
736です ありがとうございます!
プレイヤーから接触にすればよかったんですね
わざわざいろいろと試してくださり、みなさま感謝です
>>725-730
遅くなりましたがありがとうございます
参考にして試してみます!
今作ってるゲームの容量が大きくなってきたのが気になってるんだけどみんなどれくらいに抑えてるの?
最終350〜400MBくらいになりそうなんだけど減らした方が良いかな
ちなみにジャンルはRPGで最低でも10時間はかかるくらいのボリュームです
>>749
デフォ素材使ってるなたアップデートで追加された低容量版と差し替えしたほうがいいぞ
俺は遠景、戦闘背景、m4a削除、タイルサイズ変更使って140MBくらいまで減らせた
>>749
書き忘れた…
ツールはVXaceです
>>750
ありがとう、なんか不要なもの削ってみる
ツクールMVで質問です
戦闘で攻撃ターゲット指定を味方にすることは出来ますかor出来るプラグインはありますか?
混乱した仲間を殴って混乱を直すとか、体に乗り移られた仲間を攻撃して敵を追い出すとか、仲間への攻撃で力を溜めて発動する技とかしたいです
MVで通常攻撃をアクターごとに設定しなくても
通常攻撃のコマンドがあるのだが
設定すると何か変わるの?
すみません、教えてください。
スクリプトでツクールMVでアクターの装備情報を取得して
装備の状態と、あるステートにかかっているかどうかで表示する絵を変えたいと思っています。
ネットで見つけたスクリプトを切り貼りしながら作ってみたのですが、左辺がおかしいとのエラーが出てしまいます。
スクリプトを書くのが初めてなものでどこを直したらいいのか教えて頂けないでしょうか。
これが切り貼りして書いたスクリプトです。
$gameVariables.value(34) = $gameActors.actor(4)._equips[7]._itemId;
if($gameActors.actor(4).isStateAffected(11)){
$gameScreen.showPicture(15,"d_acce_b_"+$gameVariables.value(34),0,458,20,100,100,255,0)
}else{
$gameScreen.showPicture(15,"d_acce_"+$gameVariables.value(34),0,458,20,100,100,255,0)
}
value()は変数に入ってる値を取得するためのメソッド
変数34に0が入ってるとすると、
0 = $gameActors.actor(4)._equips[7]._itemId;
と書いてるような形になってる(だから左辺がおかしいと言われる)
変数に値を入れたい時はsetValue()というメソッドを使って
$gameVariables.setValue(34,$gameActors.actor(4)._equips[7]._itemId);
と書けばいい
>>755
ありがとうございます。
無事に作ることができました。
メソッドの意味を理解せずに作ってました。
意味が分かって出来上がると楽しいですね。勉強します。
本当にありがとうございました。
VXAceの事で質問させてください。
スクリプトで、一気に
メニュー>スキル>キャラクター選択状態(カーソル初期値は指定したアクターIDのキャラに)
と言う事をやりたいと思っています。
メニューを開くのはとりあえず、[command_351]を実行すれば
できたのですが、それ以降が思いつきません。
もしやる方法がありましたら、教えていただけないでしょうか?
よろしくお願いいたします。
ツクールMVです
Aというステートにかかったバトラーの名前を変数に格納するにはどうすればいいんでしょうか?
よければおしえてください
条件分岐でできるだろ
ありがとうございまあす!!!!!!!!!
宇宙人田中太郎から始めたのに無能っぷりは変わってませんでした気を付けます
>>757
SceneManager.call(Scene_Skill)
>>757
イベントコマンドのスクリプトかScene_Mapに呼び出し判定つくって
「SceneManager.call(Scene_Skill)」じゃダメなの
Window_Gold.prototype.standardFontSize =function(){
return 35;
};
でゴールドのフォントサイズ変更できるんだけど
これやっちゃうとショップだろうがメニューだろうが全てのフォントが大きくなってしまう
メニューの場合はScene_Menu.prototype.createGoldWindowを編集すれば良いと思うけど
this._goldWindow.windowskin.fontSize =35;にしても変わらず
どうすればいい?
ヒント
if (ウィンドウのゴールド)
>>761 762
返信ありがとうございます。
ただ、細かいことを言いますと、スキル画面ではなく、
スキル画面の選択を表示させたいと思っているのですが、
そちらは難しいでしょうか・・・?
VX Aceの質問で少し複雑なんだけども
特定のマスを決定キーで調べるとキャラクター2人が近づいてきて会話イベント
↓
その後戦闘に入り、数ターンで戦闘強制修了
↓
再度マップ表示、会話シーンを挟んで再び戦闘(この時、上の戦闘からスキルやステータスなどが変更)
こんな感じの流れを作りたいんですが、どのようにすればいいでしょうか?
>>766
その流れのとおりにイベント組めばいいよ
それは普通にイベントでできなきゃあかんやろ
全部イベントコマンドでできるからそういうイベント組めとしか
とりあえずどこまでできて何ができないのかはっきりしてもらわないとなんとも
ええと、まずはマップ上の任意の位置でイベントの編集を開いたんですが、そのあと実行内容(イベントコマンド)で(現時点でトリガーは決定ボタンなので調べるまではクリアー?)、
キャラクター二人が(画面外から)近づいてくるのはどれを選べばよいのでしょうか?
それらしいものがないので…
移動ルートの設定
全く挙動分かってない状態で回答もらっても意味ないだろ
とりあえずどこをいじったらどうなるのか、自分で適当にいじって試してみな
失敗して意味不明になってもそのイベント消せばいいだけなんだから
>>771
ありがとうございます
戦闘を中断
↓
ピクチャ文章表示
↓
戦闘を「新たに」開始、このとき敵は先ほどとは別の敵
みたいなのをしたいんだけど、バトル終了を入れたらマップに戻ってしまうのだがどうすればいいんだろう
言ってる意味が分からないんだが
戦闘を中断すればマップに戻るのは当たり前じゃん
最初の戦闘開始前に画面真っ暗にしとくでは駄目なの?
>>776
なるほど、試してみます
VXAに関して質問があります
素材規格なども確認していたのですが、あまり明るくないので勘違いしている部分がありましたらすみません
DEGICAで購入したマップチップを利用するためにインポートしたのですが、そのときに透過色を指定するように指示される画像がいくつかありました
何色を透過させればいいのか明白な画像は問題ないのですが、その中に透過すべき色を一切含まない画像も存在しました
なので透過色を設定しないつもりで「クリア」してからインポートをしたのですが、黒色部分が透過されてしまっていました
これを透過色が存在しないものとして取り込むにはどうすればいいのでしょうか?
それともうひとつ、あまり内容量が充実していない素材を取り込むと、タイルチップのパレットに無駄な空白部分が大量に発生してしまいます
これをできるだけ詰める方法は存在しないのでしょうか?
数個ならともかく、数行に渡る空白はスクロール量が増えるだけで少しいらいらしてしまいます
PS.
具体的には、前者はエンシェントダンジョン〜、後者はドイツ風〜です
素材管理なんか使わなくてもフォルダに直接ドラッグ&ドロップでいいだろ
>>779
あれ? VXAもそれでいけましたっけ?
駄目だと思いこんでたけど勘違いでしたか……すみません
むしろ何で駄目だと思うのか理解できない
空白詰めは自分でこつこつ整理していくしかないと思う。
ただ編集に慣れてないとそうとう面倒くさいし時間かかるし、結構しんどい。
シンボルエンカウントの一環として、イベントとプレイヤーとの直線距離が一定以内なら接近モードにさせようと思って
直線距離、即ちxyの対角線の値を求める式
$gameVariables.setValue(6, sqrt($gameVariables.value(4) * $gameVariables.value(4) + $gameVariables.value(5) * $gameVariables.value(5)))
という式を書いたのですが、エラーが出ます。
正しい式はどんなでしょうか?
数学関数は頭に Math. を付けなきゃ駄目
Math.sqrt(〜〜〜〜〜〜 にすればいい
>>784
ありがとうございます。うまくいきました
vxaceの質問です
ペルソナ風に敵の弱点を突くとそのキャラが再行動できるようにしたいのですがコモンイベントではむりそうですか?
色々試してみたけどできそうにない
スクリプトを弄らなければならないならアクターの行動順を決めている箇所を
教えていただけませんか?
ここかリクエストスレか迷ったんですが、
Aceで武器を装備していない素手の状態だと通常攻撃が出来ないように
するにはどうすればいいでしょうか。
MVです。バトルイベントについての質問です。
●やりたいこと
3秒以内にクイズに答える。
時間内に正解→攻撃
間違える かつまたは 時間切れ→攻撃を受ける
●問題
タイマーが0になった後に選択肢を選ぶとバトルが強制的に終わってしまうこと。
ホントはここで、敵から攻撃を受けたいのに。
●状況
↓このリンクにバトルイベントの画像をアップしました。
https://www.dropbox.com/sh/525mppbqn0d17kg/AADSH-3Etvc9740_MzPeMP-ba?dl=0
対策が分かる方、アドバイス下さい。
>>787
検索で出る
>>788
マルチには教えない
3秒って短いな〜
>>788
MVのタイマーはそういう仕様
自分でJavaScriptを編集できるなら、rpg_objects.jsのファイルを開いて
315行目の
BattleManager.abort();
という部分を丸々消すだけでいい
出来ないならイベントコマンドのタイマーは使わずピクチャーを使って自分でタイマーを作るか
ツクマテのプラグインリクエストでお願いでもしたらいいよ
MVのYanflyプラグインについて質問があります。
Core系のを導入してから、戦闘(SV)で通常攻撃時などに武器を手に持たない演出となってしまいました。
(SystemフォルダにあるWeapons1.pngを使うアレです)
どのプラグインのどこを弄れば元通り設定できるのか、ご存知の方がいれば教えて頂けないでしょうか。
自分ではサイトを見たり動画を見たりして一通りチェックはしたつもりですが分かりませんでした。
シンボルエンカウントで、倒したらセルフスイッチで死体に変わる敵を作ったんですが
そのひとつに逃げるメインの敵を作って
逃げるスキルにコモンイベント(バトル中断→イベントの一時消去→イベント処理の中断)をつけてみたところ
逃走させてみても倒した時と同じく死体に変わってしまいます。
想定どおりの挙動にするにはどうしたらいいでしょうか?
ワイ、上司から唐突に夜間出勤を要請されるも無視する
http://bit.ly/1LDQddM
素手を禁止というのは検索でも出てくるんだけど、
通常攻撃を禁止というのはなかなか出てきません・・・
>>795
それはなに?
通常攻撃禁止と言うのはコマンドをグレーアウトして
選択できないようにしたいってこと?
>>793
エンカウント時に適当なスイッチかなんかオン
逃げるスキルにコモンイベントでスイッチオフ&バトル中断
勝利時にスイッチ条件で分岐。オフでイベント消去オンで死体に変わるとか
↑適当に言っただけだから実際は中断時の処理とか考えてない
まぁ別の分岐条件を考えてみるということで
791さん、解決しました。
ありがとうございます。
>>797
助言ありがとうございます
最後の1体が逃走して勝利判定になってしまう場合
逃走スキルにつけたコモンイベントは戦闘終了後、そのイベントが全て終わった後に後付けされるようなので(ツクール側のバグ?仕様?)
逃げていく演出は次のページにつけることで解決しました
>>795
MVでは、makeCommandListっていうメソッドで
攻撃コマンド、スキルコマンド、防御コマンド、アイテムコマンドの順に
行動リストを作っていくようになってる
だから攻撃コマンドを追加する部分に「そのアクターが武器を装備してるか」の分岐を入れてやればいい
ACEでは多少書き方は違うかもしれないけど基本的には同じような構造になってると思うよ
>>796
はい、そのとおりです。
>>801
やっぱりスクリプトをいじる必要があるという事ですね。
できればどこにどういう記述をすればいいか教えて頂けると幸いです。
>>802
class Game_BattlerBase
#--------------------------------------------------------------------------
# ● 通常攻撃の使用可能判定
#--------------------------------------------------------------------------
alias aaa111_attack_usable? attack_usable?
def attack_usable?
aaa111_attack_usable? && !weapons.compact.empty?
end
end
処理の仕方はいろいろあるだろうけど簡単に書くとこんな感じかなー
武器を装備していないと攻撃コマンドを選択できない
あまりないだろうけど、防御やスキルやアイテムが同時に使用できない状態になったら
選べるコマンドが無くなるから要注意ね
サウンドテストで「再生」を押しても音が鳴りません
テストプレイの方ではBGMもSEも鳴ってくれるのですが・・・
何が原因でしょうか?
VXでの質問で、モブのキャラグラを変更しようとしたのですがうまくいきません
具体的にはキャラクターを調べるとグラフィックが変わるという仕様にしたいのですが、誰かわかりますか?
移動ルートの設定
>>806
ありがとうございます!
>>803
ありがとうございます。
自分の理想どおりのものです。
他のコマンド封印は、アイテムはバランス調整の経過次第では
つけるかもしれませんが、防御封印は特にあってもなくても
あんまり毒にも薬にもならないと思うので、そのままでいこうと思ってます。
ステートで「恐怖」というのを作って
ステートがついてる間「逃げる」「何もしない」のスキルを付与して、「攻撃」を封印するようにしたんですが
スキル封印だけ効いて逃げてくれません・・・
ステートでスキル付与はできないのでしょうか?
出来ますとだけ答えます
必中だと反映されないとかあった気がする。
プレイヤー側なら出来るけど敵には出来ないよ
敵は設定された行動パターンに従って行動するから
新しいスキルを追加しても行動テーブルにそのスキルが含まれてなきゃ絶対使わない
やるとしたらスキル追加でやるんじゃなくて
最初から「逃げる 恐怖状態の時」っていう行動パターンを用意しておく
ツクールMVで、プラグインの読み込みをゲーム内でONOFF出来るようなプラグインもしくはイベントみたいなのは作れる?
プラグインなんて起動直後に読み込まれてるに決まってるだろ
offは分からんけど途中からonには出来なくもないよ
プラグインを読み込む関数
PluginManager.setup = function(plugins) {
plugins.forEach(function(plugin) {
if (plugin.status && !this._scripts.contains(plugin.name)) {
this.setParameters(plugin.name, plugin.parameters);
this.loadScript(plugin.name + '.js');
this._scripts.push(plugin.name);
}
}, this);
};
これの3行目、『plugin.status』ってのが『プラグインがonの時』って条件を指定してる部分だから
この辺りを改変してプラグイン名とかで指定出来るようにすればいい
ただ、1つ1つのプラグインの仕様をしっかり理解出来てないとエラーが起こりやすいから
これくらい自分で解決出来ないなら手を出さない方がいいと思う
プラグインファイルの中身を大きなifで丸ごと囲んで、任意のスイッチONの時だけ中身を読むようにする、というのはどうか
これならファイルの読み込み自体は出来てて、適用するかどうかはスイッチで切り替え可能
素人発想すぎ
>>816
貴様をオブジェクト志向を嘗めたッッ!
>>815 の方をifでオンオフ切り替えればいけそう?
最初の読み込みの時にif判定して、当然だけど条件満たしてないってことになって
そのまま終わっちゃうんじゃない?
公式の戦闘モード変更プラグインが、設定すれば切り替わって
何も設定しなければデフォ設定のままって動きだから
デフォじゃない動きとデフォの動きを切り替えるってのは
できるんじゃないかなと思うけど
もちろんそういう風に自分でプラグインを書かないといけないけど
たとえば『プラグインA』という名前のプラグインがあったとして、エディタでプラグインAをoffにしておけば
当然プラグインAは最初の読み込み時には読み込まれないよね?
で、何故offにしているプラグインは読み込まれないのかというと>>815 で書いた通り plugin.status でon.offの判別をしてるわけ
だからその辺りを書き換えるプラグインを作れば、offのプラグインを後から個別に読み込むことも出来る
つまり?
例えばデフォルトでオンのBattleCoreEngineをゲーム内でオフに切り替えたいとすると、>>815 に
スイッチ1がオフの時は読み込まない、に切り替えて、一旦ゲームを再起動する必要がある?
大がかりなプラグインほどゲーム開始直後にセットアップしなきゃ行けない
MVの質問です
サイドビューにて、キャラクリで作った戦闘用SVキャラを、敵の画像として使いたいのですが、どうすればよいでしょうか
モーションとかもアクター側と同様にしたいです、ちょうど反転しただけみたいな感じです
>>825
HimeWorksのプラグインにそんなのがあったぞ
>>825
これのことかな?
http://ktnhmv.jugem.jp/?eid=14
好きなの選べ
http://forums.rpgmakerweb.com/index.php?/topic/47991-animated-enemies/
http://yanfly.moe/2015/12/13/yep-44-animated-sideview-enemies/
http://himeworks.com/2015/11/sideview-enemy-actors/
ツクール2000で質問です。
MV用の顔素材を改変しpictureで取り込んでテストプレイしてみたのですが、
どの素材も目の一部が背景の色が混じったりするのですが
どうすればいいでしょうか。。
説明下手で申し訳ありません
そもそも2000って256色しか対応してないと思ったんだが
MVで質問です。
ダメージ計算で初期状態だと
複数属性があった場合は
一番効果の高い属性が反映されますが
多重属性での平均値を導入させるには
どうすれば良いでしょうか?
攻撃属性「A」と「B」
防御耐性「A0%」「B100%」
デフォだとBの100%が優先されたダメージになるが
理想としてはA0%+B100%の平均値として
50%のダメージにしたいのです。
rpg_objects.jsの1700行辺りが
その辺の計算式っぽいのですが
どのように変えたら良いのかわかりません。
どなたかよろしくお願い致します。
>>831
Game_Action.prototype.elementsMaxRate を変更すればいいよ
max値を採用するようになっているので、
総乗計算するように変更する。
ヒントprototype.traitsPi
はじめまして。
xpの事なんですけど
初期タイルセットの明るい森のタイルセットがなぜか消えてしまい
アンストしてインストし直しても直らなくて困ってます。
他のタイルセットは消えておらず明るい森だけ消えてます。
オートタイルのみ使用できる状態です
改善方法わかる方いませんか?
>>833
それはファイル自体消えたってこと?それともエディタ上で消えてるってこと?
ファイルが消えてるならRTPインストールし直したら?
ツクールMVです
店で購入するアイテムを決定した後
α・β・γという表示を出してそのどれかを選択してから数量を決定し購入する
というプラグインを作りたいのです。
店でアイテムを購入した時数量画面に飛ぶときのメソッドを操作したいのですがこれはどこで動いてるんでしょうか?
Window_ShopBuy.のどれかだとは思うのですが
>>832
属性耐性値を読み込んで
それらを足した後
読み込んだ数で割った値を
代入する…という理屈はなんとなくわかるのですが
prototypeやtraits等検索かけたりもしましたが
プログラム知識が皆無で理解出来ず
結局どう明記すれば良いのか分かりません…。
ヒントまで与えて下さったのに
活かせず申し訳ありませんが
どうか答えを教えて頂けませんか。
>>836
Game_Action.prototype.elementsMaxRate = function(target, elements) {
if (elements.length > 0) {
return elements.reduce(function(r, elementId) {
return r + target.elementRate(elementId);
}, 0.0) / elements.length;
} else {
return 1;
}
};
属性の設定をしてないものは100%になるようです。
攻撃側が、火、風で、
防御側が、火50%だけを設定していても、
(火50%+風100%)/2=75%になります。
総乗だと、平均にならないという根本的な間違いをしていました。
すみません。
ツクールMVで質問です
敵とエンカウントした時に、キャラクターに少し動きをつけたいです
(ファイナルファンタジー6みたいにエンカウントした時にキャラクターがぴょこんと動いて戦闘配置につく)
Sprite_Actor.prototype.moveToStartPositionの
this.startMoveを増やしていけばいいと思って動きを増やしていたんですが、フリーズしてコマンドが出ません
分かる方いますか?
>>837
返答どうもありがとうございます。
早速Game_Action.prototype.elementsMaxRateの
1709〜1717行を
教えて貰った計算式に差し替えてテストしてみた所
攻撃側の属性(攻撃力80)
A素手「打+無」(50+100 /2 =75%)
B素手「打+無」武器「斬+無」(50+100+100+100 /4 =87.5%)
C素手「打+無」武器「打+無」(50+100+50+100 /4 =75%)
D素手「打+無」武器「斬+打+無」(50+100+100+50+100 /5 =80%)
防御側の有効度
E防御力1「斬100%+打50%+無100%」
通常攻撃計算式
0 + a.atk * 4 - b.def * 2
攻撃力80*4 - 防御力1*2 =318
実ダメージ
A(75%)=159←50%計算になっている
B(87.5%)=278
C(75%)=239
D(80%)=254
という結果になりました。
武器を持たせたB、C、Dのダメージ数値は計算通りなのですが
武器の攻撃力は0なので与えるダメージ係数は同じになるハズなのに
素手だけのAと武器を持たせたCの与えるダメージに差が出ました。
同じ75%の反映度のハズなのですが…
ちなみに素手はアクターに直接設定している属性です。
予想では
武器を装備してないと0%が加算されて
A素手「打+無」武器「」(50+100+0 /3 =50%)
となってるのではと思うのですが
それをクリアする計算式の差し替えが
自分には分かりませんので分かる方お願い致します。
>>839
そのような結果になりませんでした。
素手の場合は、強制的に属性1がつきます。
Game_Actor.prototype.attackElements
で、追加が行われるのでコメントアウトして消せば、
属性の1番がつくことはなくなります。
>>840
大変ありがとうございます。
属性01を「--」と空(から)属性にして
3807〜3813行を削除した結果
勝手な属性が付く事無く
無事にAとCのダメージが同じになりました。
これで戦闘ダメージのバランス調整が上手く出来そうです。
>>834
お返事ありがとうございます。
ファイルっていうよりエディタ上だと思います。
RTPインストし直して見ます。
ファイル消えてないならエディタで設定しなおせばいいじゃん
ツクールMVで、マップの名前を取る変数分かる方いましたら教えてください。
マップ切り替えた時に画面上に表示される方じゃないやつのほうです。
ACEでパーティメンバーの2番目のキャラをパーティから外す
というのはできませんか。
プレイヤーが隊列を変更して2番目に並べてるキャラを外すという感じです。
イベントコマンドの「メンバーの入れ替え」だと変数などを使用しての
メンバー外しが出来ないのですが。
やろうとするならスクリプトを作るしかないでしょうか。
あ、すいません。やっぱり出来そうですね。
これは自己解決できそうなので、もう一つ。
パーティの1番目に主人公を完全固定する方法を教えてください。
MVで質問です
ウィンドウの項目が多い時に出る矢印を一時的に消したいんですがどこがそれに該当するのかわかりません
お手数ですがわかる方いましたら教えて下さい
これのことかな
Window_Selectable.prototype.updateArrows = function() {
var topRow = this.topRow();
var maxTopRow = this.maxTopRow();
this.downArrowVisible = maxTopRow > 0 && topRow < maxTopRow;
this.upArrowVisible = topRow > 0;
};
Visibleの値をfalseにすれば消える
一時的に変更したい時の条件の加え方は説明しなくても分かる?
>>848
すみませんが教えて頂ければ助かります
たとえばスイッチ1がオフの時は表示しないって形にしたければ
上の4行目〜5行目を
this.downArrowVisible = maxTopRow > 0 && topRow < maxTopRow && $gameSwitches.value(1);
this.upArrowVisible = topRow > 0 && $gameSwitches.value(1);
こんな感じに、&& (条件にしたいもの) と書き加えればいい
矢印を消す条件じゃなくて表示させる条件を加えてるってところに注意
(上の例だとスイッチ1がオンであるという条件を加えてるからオフだと表示されない)
>>850
ありがとうございます
さっそく試してみます
ツクールMVの質問です
購入する時、売却する時はどちらも
Window_ShopNumberが作成されますがこの
Window_ShopNumber.prototype.refresh =function(){
}
内で現在開いてShopNumberが購入なのか売却なのか判別したいです
この場合どこのプロパティを調べればいいでしょうか?
すみません、ツクールMVのショップなのですが、
売られている武器などは表示されていても購入することが出来ない
プラグインをお願いできないでしょうか?
購入しないを選んでショップを閉じるとイベントが始まるというイベントを作りたいもので
>>853
どういうこと?
購入を選ぶことすらできないのか、買おうとしてもお金が足りないかのように何らかの理由でエラーとなるのか、売却などは問題なくできるのか、
細かい部分が分からなすぎて何を作ればいいのか分からない
そもそもだけど、買えないことに対するプレイヤーの違和感やストレスも考えると他のやり方もあるんじゃないかな?
例えば「冷やかしかよ、たたんじまえ!」みたいなイベントにするなら、明らかなぼったくり商品を並べる方がすんなり飲み込めるし、
買おうとしても買えないというのが最善策なパターンはあまりない気はするよ
購入しようと選択してもエラー音が出て購入できないという感じです
売却はできても構いません
イベント上そういう演出が必要なんです
>>853
ここ質問スレでリクエストスレじゃない
リクエストスレにいくかツクマテに行ったほうがいい
作って貰えないかって質問かよ、斬新だな
あれかな?
FF5で武器を買おうと選択したら兵士に連行されるってイベントあったよね、あれみたいな?
一時的に所持金0にすればいいじゃん
もしくは購入代金をMAXにしたダミー武器を売るとか
Window_ShopBuy.prototype.isEnabled = function(item) {
return (item && this.price(item) <= this._money &&
!$gameParty.hasMaxItems(item));
};
これを
↓
こうするとスイッチ1がONの時に購入リストが黒くなって買えなくなる
Window_ShopBuy.prototype.isEnabled = function(item) {
return (item && this.price(item) <= this._money &&
!$gameParty.hasMaxItems(item) && $gameSwitches.value(1));
};
武器を買いますか?
どれを買いますか?
って選択肢を用意するって方法もあるね
>>860
ありがとうございます!
しかしスイッチがオフに時に買えなくなってしまうので
その逆にするにはどうすればいいでしょうか?
$gameSwitches.value(1)を!$gameSwitches.value(1)に変える
どうもありがとうございました!!!
MVでの質問です。
Lukをクリティカル率に加算したいのですが
その為の変更箇所と変更用プログラムを教えてください。
rpg_objects.jsの1640行辺りだとは思うのですが…。
ちなみにAceではスクリプトエディタに
class Game_Battler < Game_BattlerBase
def item_cri(user, item)
item.damage.critical ? (user.cri + user.luk/500.0) * (1 - cev) : 0
end
end
でいけました。
rpg_objects.jsにある↓がクリティカルレートね
cri: { get: function() { return this.xparam(2); }, configurable: true },
this.xparam(2)が会心率で上の方で運がthis.param(7)ってことはわかるよね?
あとは好きに足したり引いたり色々頑張れ
>>866
ありがとうございます。
cri: { get: function() { return this.xparam(2) + this.param(7); }, configurable: true },
で単純にLUK値を加算出来そうですが…
そのままだと全てクリティカルかってくらいになったので
cri: { get: function() { return this.xparam(2) + this.param(7)/100; }, configurable: true },
にしたら良い感じになった気がします。
…そのままの数値で%換算では無く
どうやら*100でされてるみたい?です。
プログラムの事は良くわかりませんが
同じような事をされる方の参考になればと書いておきます。
MVで現在のプレイヤー位置、上下左右の通行可否を取得するにはどうすればいいでしょうか?
メニュー画面のアクターとお金のウィンドウを消して、画像を表示するスクリプトを作りたいのですが
(function(){
Scene_Menu.prototype.create = function() {
Scene_MenuBase.prototype.create.call(this);
this.createCommandWindow();
//ここにアクターとお金を表示するメソッドがあったから消した
}
})();
というプラグインを書いて読み込むとアクターとお金のウィンドウは消せるのですが、
(function(){
Scene_Menu.prototype.create = function() {
Scene_MenuBase.prototype.create.call(this);
this.createCommandWindow();
this.abc();
}
Scene_Menu.prototype.abc(){
this._gazo = new Sprite();
this._gazo.bitmap = ImageManager.loadPicture("画像");
this.addChild(this._gazo);
}
})();
と書き加えるとプラグインを入れる前の元のメニュー画面のレイアウトに戻ってしまいます
何故でしょうか?
他に入れてるプラグインはありません
追記
後者は画像も表示されず、完全にプラグインを入れてない時と同じになってしまいます
Scene_Menu.prototype.start = function() {
Scene_MenuBase.prototype.start.call(this);
this._statusWindow.refresh();※
};
すいません、一部省略したので書き忘れましたが上の※マークの行もちゃんと消してます
abcを定義するところで = function が抜けてる
>>872
ありがとうございました
無事動きました
MVでメニュー画面のWindow_MenuCommand.のカーソルが緑色に点滅しますが
これの色を変更したいです。
Window_MenuCommandには見当たらなかったので
どこのオブジェクトから探せばいいでしょうか?
>>874
それwindow.pngの画像でやってる
画像加工しろ
>>875
ありがとうございます
ついでに点滅速度も変更したいのですがこの場合はどこのスクリプトを操作すればいいでしょうか?
Windowクラスのupdateをaliasして元のmethodを必要なだけ繰り返す
>>877
それだと速くすることしか出来ない上に無駄な処理が増えすぎるよ
Window.prototype._updateCursor内の計算を変えるだけでいい
>>878
ありがとうございます!
それで全部スッキリ解決しました!
言葉では言い表せない程の感謝の極み
MVでドラクエのようにキャラ別にアイテム持たすプラグインってありますか?
MVで質問です
イベントコマンドのピクチャ表示でZ座標を変えることはできないでしょうか?
戦闘中にモンスターの背後にピクチャ表示させたいんですが上手くいきません
Sprite_Pictureをいろいろ弄ってみてはいるのですが反映されない
rpg_windows.jsの4661行目で見つけたけど
Window_MapName.prototype.initialize = function() {
var wight = this.windowWidth();←
var height = this.windowHeight();
Window_Base.prototype.initialize.call(this, 0, 0, wight, height);←
this.opacity = 0;
this.contentsOpacity = 0;
this._showCount = 0;
this.refresh();
};
wightってなんぞ
動けばいいんだよ
それもそうだよね
ついでにMV質問
Scene_Menu.prototype.create = function() {
_Scene_Menu_create.call(this);
this._goldWindow._width = 400;
のようにwidthを大きくするとウィンドウ自体は大きくなるけど描写領域はそのままで元の大きさより右に描写しようとすると切れてしまう
これどうにかるするにはどうすればいい?
this._goldWindow._refreshAllParts()使えばwidth反映されるのかと思ったけど違ってた
>>882
ワイトに草
>>884
ここは質問スレだから雑談メインで質問がついでなら他のとこ行け
幅はウインドウを作った後で変更するんじゃなく作る段階で指定しないと駄目
具体的には
Window_Gold.prototype.windowWidth = function() {
return 240;
};
ここの値を変える
幅の再設定は.createContents()で可能だぞ
ツクール2000の素材の商用利用について質問です
すきまの素材様のサイトで
「xxx様とxxxxx様の配布されているフリー素材を加工したものです。
使用する場合はそれぞれのサイト様の使用規約に従って下さい。」
と記載されていたのだけど、その方々のサイトが無くなってて使用規約が見れませんでした
どうにか確認を取りたいのですがどうすればいいでしょうか?
>>888
念のため本人に聞いてみる
駄目ならあきらめる
古いツクールを今更使い始めるとこういう弊害多いから人に勧められない
解決しました。
同じ悩みを抱えてる人達がネットにいて、利用規約の内容を保存してくれてるサイトがいくつもありました。
素材そのものの販売は禁止ですが、ゲーム販売の際に素材として使うならOKのようです。
自分のググり不足でした・・・・・・。お騒がせしました。
ツクMVでのことなんですが
http://sq3.atlusnet.jp/character/chara09.html
↑世界樹の迷宮3のビーストキングて職業のスキルを持ったキャラを作りたいです
具体的には通常は戦闘参加メンバーは4人だけどスキルで
獣を召喚してその時だけ5人で戦えるというものです
戦闘が終わったら呼び出した獣は消えるようにしたいです
その通りに作ればいいんじゃないの
コモンイベントでメンバーの追加/削除
>通常は戦闘参加メンバーは4人だけどスキルで
>獣を召喚してその時だけ5人で戦える
これのやり方が分からないのでそれを教えて欲しいです
更に詳細を書くと獣以外に控えのメンバーと参加メンバー合わせて5人以上います
デフォじゃ無理でしょ
控えが居なければできるけどどっちか諦めるしかないね
控えが居なければ普通にメンバーの入れ替えで出来るよね
てことは戦闘開始時に控えメンバーを一旦外して(控えメンバーのIDを変数に取得しておいて)
戦闘が終了したら戻せばいいんじゃない?
控えが居なくても戦闘メンバーの最大数までメンバーがいたらできないから
最大数が4だったら召喚の枠が必要だから3人までしか仲間はいれられない
控えが居ると必然的に並び替えも必要になるから4人MAXまでいれられちゃう
最大メンバー数と並び替え人数を別にできるスクリプトなりがあればできるけど
戦闘参加人数を召喚したときだけ増やすのはデフォじゃ無理だな
召喚獣以外のメンバー全滅した状態で戦闘終了で召喚獣抜けるとゲームオーバーじゃね?
むしろゲームオーバーにならないと問題じゃない?
>>899
それなら召喚獣以外死んだ時点でゲームオーバーじゃないと問題のような
じゃあ世界樹のとは違ったものになっちゃうけど
獣を呼び出したらロマサガ1の四天王みたいにメンバーは全員消えて
獣だけで敵と戦うというもので妥協したいです
このための具体的な方法を教えていただきたいです
ツクールMVは扱いなれてないので方法がぴんとこないんです
獣がやられたらまたメンバー達が戦闘に復帰して
並び順もそのまんまというようにしたいですね
リクエストスレに行け
それこそメンバーの入れ替えで出来るんじゃないか
俺はブレスオブファイア4とFF10の召喚を再現出来てるからコモンイベントの使い方を学べ
MVでアイテムのヘルプに改行制御文字を使いたいのですが\nと入力しても適応されません
Items.josonの中身を確認すると\nが\\nに自動変換されているのそのせいかと思われます
Items.josonを直接変更するのは流石に手間な上にデータベース上では確認できません
データベース上で\nで改行させられるようにするにはどうすればいいのでしょうか?
エディタではどうにもならないからスクリプトで\\nを\nに置き換えるようにすればいい
Window_Base.prototype.convertEscapeCharacters の中に
text = text.replace(/\x1bn/gi, '\n'); を追加
あとjosonじゃなくてjsonね
RPGツクールVXAceの質問です
スクリプト入門の実践編を一応読んだレベルです
イベントコマンドのスクリプトでセーブ・ロード画面を開きたいと思い、
スクリプトエディタの ▼ゲームオブジェクト の Game_Interpreter を見ると、
1379行以降に # ● セーブ画面を開く があり、
def command_352
return if $game_party.in_battle
SceneManager.call(Scene_Save)
Fiber.yield
end
とあります。このうち
SceneManager.call(Scene_Save)
Fiber.yield
をイベントコマンドのスクリプトに入力すると、セーブ画面が開きました。
ロードについてが無かったので
SceneManager.call(Scene_Load)
とするとロード画面が開きました。
セーブの方のFiber.yieldを削除しても一見正常動作してるように見えます。
このFiber.yieldは必要なのでしょうか、
またLoadの方は要らないのでしょうか。
>>907 だけどやっぱりこっちの方がいいかもしれない
Window_Base.prototype.processEscapeCharacter のswitch文に
case 'N':
this.processNewLine(textState);
break;
という分岐を追加
こっちの方がオリジナルの制御文字なんかも追加しやすいね
>>908
分かり易い例として
SceneManager.call(Scene_Save)
Fiber.yield
この後に通常のイベントコマンドでショップの処理を実行した物と
SceneManager.call(Scene_Save)
この後に、同じように
通常のイベントコマンドでショップの処理を実行した物を
それぞれ実行してみましょう。
前者はセーブ→ショップの順に表示され
後者はショップ→セーブの順に表示されるはずです。
これはロードでもセーブでも同じです。
Fiberの機能に関してはヘルプのFiberをご確認ください。
もしもそれで分からなければ
Fiber.yieldというのは先々と処理が勝手に走っていかないように
一旦処理をせき止める為の物だ、と考えておくと良いかもしれません。
ロードの方にFiber.yieldが入っていないというのは
ロードに関してはScene_Titleのコマンド[コンティニュー]を
参照されたものだからではないでしょうか。
Fiber.yieldは少なくともデフォではGame_Interpreterでのみ使用されている物ですので
他部分では気にする必要はないかと思われます。
他の方、上記に間違いがあったら正して下されば幸いです。
それでは。
>>910
ありがとうございます
なんとなく分かりました
ファイバーは色々勉強していこうと思います
Fiber.yield なしだと
Scene_Mapを追いやってセーブ画面予約
セーブ画面の予約を追いやってショップ画面予約
予約されたシーンを実行(ショップ→セーブ→Scene_Mapに戻る)
Fiber.yield ありだと
Scene_Mapを追いやってセーブ画面予約
予約されたシーンを実行(セーブ画面→Scene_Mapに戻る)←ここがFiber.yieldの影響
イベントを続きから再生してショップ画面予約
予約されたシーンを実行(ショップ画面→Scene_Mapに戻る)
どうしてそうなるのかは、SceneManager、Scene_Base、Game_Interpreterあたりを解析すれば分かるけど、スクリプトの見方に慣れてないと複雑で難しいかも
ツクールMVのMac版についての質問です
キャラクター生成ツールにパーツの素材を追加したいのですが
パーツや生成ツール本体はどこに保存されていますか?
Finderで Generator やTDV_ などの付いたファイル名を検索しましたがそれらしきものがヒットしません
ググってもMac版の保存場所情報には辿り着けず
かなり以前から探しているのですが自力で探すことにかなり参ってます
ツクールのインストール先
>>914
ツクールのインストール先にそれらしきものが見当たりません
申し訳ないのですがインストール先にある本体のファイル名を教えていただくことはできますか?
すみません出先のためIDが変わっておりますが>>913 の者です
>>915
本体再インストールすればどこにインストールしたかわかるだろ
MVについての質問です
マップ画面等からメニュー画面に移った時に、BGMの音量を50%にして、
メニューを閉じたら元の音量に戻るという処理がしたいのですが、どうすればいいでしょうか?
演奏位置等は変えずに音量だけ変えたいです
>>914
>>917
ありがとうございます!
steam経由でインストールしたツクールMVの再インストール方法がわからず調べている途中自己解決しました
steamにもMacにも不慣れなためツクール本体がインストールされたフォルダを別の場所と勘違いしておりました
steamのライブラリにあるRPG Maker MVを右クリック→プロパティ→ローカルファイル→ローカルファイルを閲覧
でキャラクター生成ツール含むツクール本体の場所を開くことができました
3ヶ月探し続けた疑問がやっと解決できました
本当にありがとうございました!
ツクマテとマルチか?
>>909
ありがとうございます、試してみます
VX Aceでコマンド選択後にコマンドのウインドウが消えて名前やバーのウインドウが右側に寄りますが
そのどちらもを廃止するにはどうすればいいでしょうか?
ウインドウが消えるのはScene_Battleの@actor_command_window.closeを無くしたらできました
右側に寄るのはどれをいじればいいのでしょうか……?
解決しました
なんか最近MVに関しての質問やリクも全部MVスレにいっちゃってるなぁ・・・
まあ別にいいけど。
質問というか、ヘルプです。助けてください。
VXAceのひきも記さんの時刻演出スクリプトで、現在の時刻から指定の時間だけ
時間を進めたいのですが、そういう設定が出来なくて困っています。
ベッドで休んで体力回復したとか、運び屋的なキャラに○○の街まで運んでもらったとか
そういうイベントでどうしてもないと変な感じになってしまって・・・
どうかお願いします。
>>926
まずちゃんと説明読めばわかる
変数で時刻変更できるように書いてあるじゃん
>>926
極力スクリプトを使わずに作るとすると
こんな感じのイベントで行けると思います。
この組み方を応用すれば
自在に○時間○分変更という
コモンイベントが作れると思います。
http://s1.gazo.cc/up/186291.png
いや、あくまで現在の時刻が自動的に代入されるだけで
こちらからは代入しても時刻は変更されないです。
イベントスクリプトでの変更も、
3時30分に変更は出来ても、3時30分後に変更というのが出来ないとです・・・
すみません。リアルタイムだったので>>928 のレス見逃してました。
ありがとうございます。イベントスクリプトで変数を指定することが出来るなら、
このやり方で上手くやれそうです。
わざわざ検証してくれてありがとうございます。本当に助かりました!
初めまして、VX Aceを用いている者なのですが、
「イベントから接触」の接触判定に引っかからないケースがあります。
□□□□ ←図の時に、「イベントから接触」のトリガーを持つ敵が
□敵□□ 「右下に移動」でプレイヤーの場所に移動しよう(ぶつかろう)としても、
□□自□ イベントが起きずに引っかかるだけになります。
□□□□
□□□□ □□□□
□敵自□ □敵□□ ←RPGツクール2000の頃は、斜め移動相手に真横などといった位置関係の時に
□□\□ □自\□ 「右下に移動」をしても、イベントを起こさずにすり抜けられましたが、
□□□□ □□□□ 上記と同じく移動が出来ず引っかかってしまいます(イベントも起きない)。
Aceの仕様なのだと思い、
視界判定スクリプトを導入したものの、そうなると今度は
□□□□ ←前3マス扇状の判定のため、右下に移動しようとしている敵に対し、
□□自□ 右上にいるだけで接触判定に引っかかってしまう。
□敵□□
□□\□ 目標動作は、あくまでも「\」の位置の一マスだけのつもりで、
□□□□ 右隣と下隣に当たり判定は無く、敵は移動が出来る。
2000の時のような接触判定を組む場合、どういったスクリプトを組めばよろしいでしょうか?
>>931
斜め移動するイベントの移動先に
プレイヤーがいたら接触判定を
行うようにしたいという事で間違いないでしょうか。
だとしたら、こんな感じのスクリプトでいけると思います。
ただ、隊列歩行で後ろにいるキャラクターとの
接触については考慮していないのであしからず。
class Game_CharacterBase
alias move_diagonal_touch move_diagonal
def move_diagonal(horz, vert)
move_diagonal_touch(horz, vert)
return if @move_succeed
x2 = $game_map.round_x_with_direction(@x, horz)
y2 = $game_map.round_y_with_direction(@y, vert)
check_event_trigger_touch(x2, y2)
end
end
>>932
十字方向にプレイヤーがいる位置関係だとすり抜けずに停止してしまいますが、
確かに斜め方向に接触判定が加わりました。
隊列歩行を行わないゲームなので、現状はこれで十分いけます。
ありがとうございました。
斜め判定の原因が分かりました、
他の方のスクリプトの「厳密に判定」の物が原因でした。
これで2000の頃と同じ、「斜めの進行方向には当たり判定があり、
かつ相手側は、十字の進行方向にプレイヤーがいても通過出来る」が再現出来ました。
重ねてありがとうございました。
MVが初ツクールの初心者の質問です
項目から並び替えの削除、かつキャラ一人のメニュー画面を作りたいのですが
複数のプラグインの組み合わせで実現しようとすると競合でうまくいきません。
試したのはaltmenu screen3でキャラ枠を1人にしてYEP_MainMenuManagerで項目を削除の手順です。
多機能プラグインがあるのが一番ありがたいのですが、
直にソースデータを書き換えるとして、どのファイルのどこをいじれば
メニューの選択項目を消せるのかご教授願えると助かります。
各パラメーターの格納場所の情報に行き着けず難航しております…。
スクリプトで分かれば教えて下さい。
身代わりの箇所なんですが
Game_BattlerBase.prototype.isDying = function() {
return this.isAlive() && this._hp < this.mhp / 4;
};
ここでthisは身代わり受ける側ですよね?
身代わりする側のHP、また変数は参照できますでしょうか。
ツクールMVで質問です。
イベント戦闘ではなく通常のエンカウント戦闘での事ですが
バトルイベントで「条件:ターン0」でイベントを設置すれば
戦闘開始時にイベントを入れる事が出来るのですが
逆に戦闘終了時にイベントを入れるにはどうすれば良いですか?
書き忘れました。>>936 はMVです。
>>937
戦闘ターン0でスイッチをONにして、
そのスイッチでコモンイベントの並列処理走らせておけばできませんか?
もしくは
http://cacaosoft.blog42.fc2.com/blog-entry-502.html
ここでスクリプトが公開されています。
抜粋。
***************************
class Scene_Battle
#--------------------------------------------------------------------------
# ○ 戦闘終了
# result : 結果 (0:勝利 1:逃走 2:敗北)
#--------------------------------------------------------------------------
alias _cao_swcommon_battle_end battle_end
def battle_end(result)
_cao_swcommon_battle_end(result)
$game_switches[11] = true # コモンの起動スイッチをON
$game_variables[6] = result # 戦闘結果を記憶
end
end
***************************
>>938
>戦闘ターン0でスイッチをONにして、
>そのスイッチでコモンイベントの並列処理
やり方が間違ってるのか上手く出来ませんでした。
一応どんな事がしたいのか記述しておきます。
戦闘開始時にMHPを+500して
戦闘終了時に増やした分のMHPを-500にして本来の数値に戻す
という事がやりたいのです。
紹介されてるスクリプトはACEの物なので
MVでは使えません…。
(それを見てMV用に書き換えるプログラミング能力はありません)
どういうやりかたしたかわからないけど938のやりかたでできるはずだけどなあ
並列はコモンイベントで作ってる?
最大HP増やすだけなら、コモンイベントすら必要ないかと。
①HP増やすステートを作る
ステート解除条件は、戦闘終了後
②「敵グループの設定」でターン0時にHP増やしたいアクターに①ステートを付与
ツクール見ないで書いてるのでちょっと違うかもしれませんが。多分できます。
あとすみません、aceの良く見ないで貼ってましたw
戦闘終了後のクラスをググって、そこにコモンイベントを突っ込めばそれで色々可能と思います。
>>941
ステートだと%設定しか出来ず
固定数値で上げたいため
「HPの増減:パーティー全体:+500」
「能力値の増減:パーティー全体:攻撃力+50」
(この辺の能力はアクターによって変える予定です)
というコモンイベントAを作り
敵グループ>バトルイベント(条件:ターン0)>(内容)コモンイベントA
という設定で戦闘開始時に能力がUP設定が完成(まではOK)
このままだと戦闘終了してもUPした数値が残り
戦闘の度にUPし続けるので
戦闘終了時に同じだけのマイナスをします。
「HPの増減:パーティー全体:-500」
「能力値の増減:パーティー全体:攻撃力-50」
というコモンイベントBを作りました。
敵グループ>バトルイベント(条件:ターン0)>
内容にスイッチCのONを追加し
コモンイベントBのトリガー並列処理でスイッチC
と設定するとコモンベントA発動してコモンイベントBが発動で
帳消しになってしまい能力UPがされない
という現状です…。
コモンイベントBの最初に
条件分岐スクリプトで
$game_party.in_battle それ以外の時にマイナス修正
でどう?戦闘中かどうかって意味の分岐
最後にスイッチCをOFFにするように
>>942
それは実際に試した?
コモンイベントはバトルイベントから呼び出さない限り
条件を満たしてても戦闘中には実行されないはずだよ
もし戦闘中に並列処理のイベントが呼ばれてしまうんだとしたら何かのプラグインによるものだと思う
あ、そうか戦闘中だろうがコモンイベントの条件揃えば動いちゃいますね…
能力値って%でしかできませんでしたっけ…??
できないなら、パッシブステートを武器欄で設定するプラグインがありますので
それを使えばステート付与でできます。
あとはやはり、戦闘終了クラスに直接書くのが良いかと思います。
>>943
それだとループしませんか?
起動条件のスイッチを最後にオフにしてるからループはしないと思うけど
>>946
あ、そうですね・・・すみません。
固定値いじるならここ↓です。
http://ameblo.jp/rpgmaker1892/entry-12103663107.html
ちなみに>>936 もどなたか分かれば教えて下さい。
今できる仕様似合わせようとしないのが不思議
一度固定値で上昇させようと思ったら自力でできもしないのにこだわるのは価値のないこと
なんの役にも立たない批判意見だけ書き込めるのが不思議
>>949
そういうのブーメランになるからもう少し上手くやってね
質問者さんがやりづらくなるでしょ
>>950
なるか?
>>951
噛みつかれてもスルーして目にあまるものは黙って
削除依頼出しておくとか
やり方はいくらでもあるでしょ
>>935
並び替えって項目を表示しないようにするだけでいいなら、プラグイン使わなくても
データベースのシステムのメニューコマンドの設定でできる
あと、そのものずばりの一人用メニュープラグイン
http://forums.rpgmakerweb.com/index.php?/topic/51917-single-actor/
JavaScriptはあんま詳しくないんだけど、コアスクリプトをいじるなら
rpg_windows.jsだと思う
ただ、できるだけ直にいじるのはやめて、プラグイン化したほうがいいよ
>>953
ありがとうございます。いろいろ助かりました。
プラグインでなんとかなりそうなのでいろいろ頑張ってみます。
VXAceですが、2回行動する敵にローテーション行動を取らせるにはどうすれば良いのでしょうか
デフォルトでは同じ行動を2回ずつ行うという不自然な行動をとります
ローテーション指定がターン数ではなく累計行動回数なら理想の動きを再現できるのですが、
何か方法があれば教えていただきたいです
バトルイベントを使う方法も考えましたが行動順番が崩れるので没にしました
>>955
2回行動で1回しか行動しないようにするのでしょうか。
それとも、2回それぞれに別の行動を取らせたいのでしょうか。
>>956
申し訳ありません
2回それぞれ別の行動を取らせたいのです
デフォルトでは
特技A+特技A→特技B+特技B…と行動しますが
特技A+特技B→特技C+特技D…と行動すれば理想です
>>957
承知しました。
スキルにコモンイベントを設定する事で可能だと思われます。
例えば特技Aに特技Bを使うコモンイベント、
特技Cに特技Dを使うコモンイベントを設定する事で
戦闘行動の強制によって残りの行動がキャンセルされ
想定通りの挙動をするようになると思われます。
なお、戦闘行動の強制を使用した場合
望まぬ状況でも使用する可能性があるので
その辺りはイベントコマンドの条件分岐で対処するのが
無難な対処となるかと。
なお、あくまで単体ボスを想定した内容なので
複数の敵等の場合は敵の数分作るか
スクリプトによる簡略化が必要になります。
基本的に上記の応用でなんとかなると思います。
戦闘行動の強制って敏捷無視して防御よりも早く行動しちゃわない?
ああ、なるほど
擬似的に連続行動してるようにするのか
確かに特定の順番だけでいいなら出来そう
>>960
スキル内容が同じ、別IDの特技A'B'C'D'を用意して
似たような設定をすれば逆パターンも出来ますね。
まあ、手間ですけども。
>>961
ありがとうございます
この方法なら理想の動きを再現できました
しかし全てのボスをローテーションにするので結構同名スキルが必要になりそうです
スイッチや変数を駆使すればある程度はパターン分岐できそうですけども…
スイッチ条件でなんとかやれそうな気もするけど
RPGツクールVXAceのイベントコマンドのスクリプトについての質問です
1:ゲーム変数に配列を格納した後の取り出しや修正の方法は?
2:上から処理されるとは限らないのでしょうか?
マップのイベントコマンドのスクリプト入力欄に以下のように書き、
bb = "漢字"
hairetu = [12, 34, "A", bb]
$game_variables[1] = hairetu
$game_variables[2] = hairetu[1]
hairetu[2] = 56
$game_variables[3] = hairetu
同じマップイベントで文章表示を以下のように行うと
◆文章:-, -, 通常, 下
\>\V[1], \V[2], \V[3]
プレイ時に以下のように結果が出ます
[12, 34, 56, "漢字"], 34, [12, 34, 56, "漢字"]
しかし通常の配列の様に、0番目の12を別のゲーム変数に格納したり
3番目の"漢字"を789にするといった、要素の操作の方法が分かりません
あと処理の順番からして
[12, 34, "A", "漢字"], 34, [12, 34, 56, "漢字"]になると思ったのですが
[12, 34, 56, "漢字"], 34, [12, 34, 56, "漢字"]になりました
イベントコマンドのスクリプト入力欄では上から順ではないのでしょうか
>>964
まず最初のは、ゲーム変数は配列などを扱うことを想定していない
そのような処理がしたければ自分でスクリプトを書く必要がある
続いてだが、配列を代入しても複製は行われない
どこぞにあるhairetuを参照しているだけなので、hairetuと変数1と変数3とは常に同じ値になる
詳しくは入門書なりを確認してくれ
>>965
ありがとうございます
変数の件 同じ値になってたんですね
配列の件は色々やってたら
$game_variables[1][0] = "A"
$game_variables[2] = $game_variables[1][0]
とかそれっぽいのが出来ました
1.隊列歩行のフォロワーの画像を変更するイベントは可能ですか?
2.フォロワーのみ向き固定はできますか?
同一人物なんですが、十数パターンの姿に変わる設定のキャラクターで、イベントによって隊列歩行時のグラフィックが変わるようにしたいのです。
顔グラは用意してないので変わらなくて問題ありません。
更にパターンが多いので、キャラチップの向きによって姿を変えるようにしたく、フォロワーのみ向き固定での進行もできたら嬉しいのですが…。
調べてみたのですがそれらしい情報がなく、こちらでお助けいただきたくまいりました、
よろしければ回答お願いします。
うわ、すみません!
1.については書き込んだ途端自己解決しました!
システム設定のところにあったのですね!
移動ルートのところばかり見ていました…!
引き続き2.についてご教示いただければありがたいです!
上下左右固定した向きだけの画像を用意すればできるんじゃないかな?
>>969
ごめんなさい、説明不足でした。
実際にどちらかの向きだけで進行したい、というわけでなく、
グラフィックのパターンが多くなってしまうので、例えば燭台なんかのように、上下左右それぞれに別のグラフィックを割り当ててたいのです。
1 RPGツクールVXAceの質問です 長いので分割して書き込みます 疑似3Dマップを以下の様に作ってみたのですがうまく機能しません
______ ______ 目標:通常マップの人物イベントに話しかけると疑似3Dマップ画面になり 矢印キーで移動、
/ / \ \ /1/2 \3\ 任意の地面位置で決定キーでイベント発生、キャンセルキーで通常イベントに復帰
──────── ──────── 質問要点:1:イベント発動時から、しかも指定した方向を向いてスタートさせたい
/ \ / 0 \ 2:地形が全消しにならないで、侵入不可の手前で立ち止まって欲しい
───────── ───────
現在足元、前方左・中・右を表示、 ↑後述の表示場所 ※今回の質問は長くなるので足元の0の位置に関する部分のみ
★★★マップデータ★★★
$hairetu = [ #地面種類 0は侵入不可、1,2は侵入可
10 ["0", "0", "0", "0", "0", "0", "0"], #スクリプトエディタの素材欄を適当に選択して右の入力欄に
["0", "0", "0", "0", "0", "0", "0"], #縦軸Y 横軸X スタート左上 割り振る番号はゼロ番スタート
["0", "0", "2", "0", "2", "0", "0"], #例 $hairetu[2][3]は上から0 1 2 の3段目で 左から0 1 2 3 の4文字目の、"0"
["0", "0", "1", "2", "1", "0", "0"], #例 $hairetu[4][2]は上から0 1 2 3 4 の5段目で 左から0 1 2 の3文字目の、"1"
["0", "0", "1", "2", "1", "0", "0"],
["0", "0", "0", "0", "0", "0", "0"],
["0", "0", "0", "0", "0", "0", "0"]
]
★★★マップイベント 初期値を与えて最初の表示を行う★★★
実行内容
20 ◆スクリプト:$game_variables[15]= #ゲーム変数15に配列で、表示場所0(足元地面)のマップ配列のy x座標数値と、向いている方角文字列を格納
: :[3, 3, "N"] # N S E W 北 南 東 西
◆スイッチの操作:[0001:マップ開始] = ON
★★★画像ファイル★★★
\Graphics\Picturesに、1N0.png、1S0.png、1E0.png、1W0.png・・・と、ファイル名が1〜2(侵入可能) + "N"等4方向 + 0〜3(表示位置)で全パターン
同様に0N0.png、0S0.png・・・と、0(侵入不可)用に透明画像、で全パターン用意
★★★コモンイベント1★★★
名前:001キー入力 トリガー:なし 条件スイッチ:-
実行内容
◆ループ
30 ◆ウェイト:1フレーム
◆条件分岐:スクリプト:Input.trigger?(:UP)&&$game_variables[15][2]=="N" #今新たに上ボタンが押され、なおかつ向いている方角が北なら
◆スクリプト:$game_variables[14]=1 #ゲーム変数14に1を代入、このように全てのボタンと方角の組み合わせに
◆ウェイト:1フレーム #対し数値を設定しゲーム変数14に代入する
◆ループの中断
◆
:分岐終了
◆条件分岐:スクリプト:Input.trigger?(:UP)&&$game_variables[15][2]=="S"
◆スクリプト:$game_variables[14]=2
◆ウェイト:1フレーム
40 ◆ループの中断
◆
:分岐終了
中略
中略
◆条件分岐:スクリプト:Input.trigger?(:B) #Bボタン(Zっつキー)でイベントを抜けてマップ画面に復帰するため
◆スクリプト:$game_variables[14]=21
◆ウェイト:1フレーム
◆ループの中断
50 ◆
:分岐終了
◆
:以上繰り返し
★★★コモンイベント2★★★
名前:002マップ トリガー:自動実行 条件スイッチ:0001:マップ開始
実行内容
◆ループ
◆ウェイト:1フレーム
◆コモンイベント:[001キー入力] #上のコモンイベント001のこと
60 ◆条件分岐[0014:キー出力] == 1 #ゲーム変数14の内容、1は上ボタンが新たに押され、なおかつ北を向いている場合
◆スクリプト:$game_variables[15][2] = "N" #現在方向を代入、すでに北を向いているので不要な処理かも
: $game_variables[15][0] -= 1 #北を向いている状態でさらに北に一歩進む=現在地のy座標が1マイナスになる
◆
:分岐終了
◆条件分岐[0014:キー出力] == 2
◆スクリプト:$game_variables[15][2] = "S"
: $game_variables[15][0] += 1
◆
:分岐終了
70 ◆条件分岐[0014:キー出力] == 3
◆スクリプト:$game_variables[15][2] = "E"
: $game_variables[15][1] += 1
◆
:分岐終了
◆条件分岐[0014:キー出力] == 4
◆スクリプト:$game_variables[15][2] = "W"
: $game_variables[15][1] -= 1
◆
:分岐終了
80 ◆条件分岐:スクリプト:$game_variables[14] == 5||$game_variables[14] == 11||$game_variables[14] == 16 #北向からて反転、東向から右折、西向から左折、のいずれかなら
80 ◆条件分岐:スクリプト:$game_variables[14] == 5||$game_variables[14] == 11||$game_variables[14] == 16 #北向からて反転、東向から右折、西向から左折、のいずれかなら
◆スクリプト:$game_variables[15][2] = "S" #新しい方向を代入
◆
:分岐終了
◆条件分岐:スクリプト:$game_variables[14] == 6||$game_variables[14] == 12||$game_variables[14] == 15
◆スクリプト:$game_variables[15][2] = "N"
◆
:分岐終了
◆条件分岐:スクリプト:$game_variables[14] == 7||$game_variables[14] == 10||$game_variables[14] == 13
◆スクリプト:$game_variables[15][2] = "W"
90 ◆
:分岐終了
◆条件分岐:スクリプト:$game_variables[14] == 8||$game_variables[14] == 9||$game_variables[14] == 14
◆スクリプト:$game_variables[15][2] = "E"
◆
:分岐終了
◆スクリプト:
: y10y = $game_variables[15][0] #ゲーム変数15の配列要素をマップの二次元配列の添え字にしてマップの地面0 1 2を取得
: x10x = $game_variables[15][1] #入力欄に入らないのでローカル変数に代入する
: $game_variables[10] = $hairetu[y10y][x10x]
100 ◆条件分岐:スクリプト:$game_variables[10]=="1"||$game_variables[10]=="2" #移動先の地面が侵入可能な1もしくは2なら
◆スクリプト:$game_variables[16] = $game_variables[15] #ゲーム変数15の中身(配列 yx座標と方角の、方向キー入力で加減算した後のもの)をゲーム変数16に代入
◆スクリプト:d16d = $game_variables[16][2] #入力欄に入らないのでローカル変数に代入する
: m10m = $game_variables[10] + d16d + "0" #画像を表示する際のファイル名に 地面種類 方角 表示位置 の文字列を代入して表示
: n10n = screen.pictures[10]
: n10n.show(m10m, 0, 0, 0, 100, 100, 255, 0)
◆
:それ以外の場合 #移動先の地面が侵入不可能0の場合
◆条件分岐:変数 [0014:キー出力] == 1 #移動不可の地形に移動するのは真正面に進んだ結果なので
◆スクリプト:$game_variables[15][2] = "N" #現在地の座標を南北ならy 東西ならxを加減する
110 : $game_variables[15][0] += 1 #表示位置1〜3の計算でもy x 変更する部分のみ修正
◆
:分岐終了
◆条件分岐:変数 [0014:キー出力] == 2
◆スクリプト:$game_variables[15][2] = "S"
: $game_variables[15][0] -= 1
◆
:分岐終了
◆条件分岐:変数 [0014:キー出力] == 3
◆スクリプト:$game_variables[15][2] = "E"
120 : $game_variables[15][1] -= 1
画像貼ったほうが早いのでは
120 : $game_variables[15][1] -= 1
◆
:分岐終了
◆条件分岐:変数 [0014:キー出力] == 4
◆スクリプト:$game_variables[15][2] = "W"
: $game_variables[15][1] += 1
◆
:分岐終了
◆スクリプト:d16d = $game_variables[16][2] #移動先の地面が侵入不可能0の場合の画像表示
: m10m = $game_variables[10] + d16d + "0"
130 : n10n = screen.pictures[10]
: n10n.show(m10m, 0, 0, 0, 100, 100, 255, 0)
◆
:分岐終了
◆条件分岐:スクリプト:$game_variables[14] == 21 #21はキャンセルキー、疑似3Dマップから通常マップ画面へ復帰用
◆ループの中断
◆
:分岐終了
◆
:以上繰り返し
140 ◆ピクチャの消去:10 #通常マップ画面復帰時にピクチャ消去
141 ◆スイッチの操作:[0001:マップ開始] = OFF
142
★★★結果★★★
これで疑似3Dマップや自作メニュー画面やワールドマップ移動シーンなど作ろうと思ってやってみましたが
1:主人公をイベント発動の人物イベントに接触させ、決定ボタンを押しても画面に変化なし
しかしそこで決定キー(Cボタン、Zっつキー)を押すと現在地(表示位置0)の画像が出ます
決定キーを何回押しても進展なし
この後方向キーを押すか、最初から方向キーを押すと地形が全部表示されます
しかし初期値で与えた"N"(北)ではない方向を向いたスタートになってしまいます(上キーを押せば移動もしてしまいます)
イベント発動時から、しかも指定した方向を向いてスタートさせたいのですが・・・
2:侵入不可の地形(0)には移動しない、地形の判定をしてOKなら移動後の画像を表示させる、
ダメならそのまま というはずでした
侵入不可の地形(0)の地形は見た目は何も表示されていません(透明画像を表示してるはず)
その0に突っ込むと全ての地形が消えます 上ボタンで直進しても変化なし
そこで別の方向キーを押すと画像が表示され、侵入不可の手前でちゃんと立ち止まっていることがわかります
地形が全消しにならないで、侵入不可の手前で立ち止まって欲しいのですが・・・
これはどう直せば良いでしょうか どなたかよろしくお願いいたします
RGSSは触ったことないから具体的なアドバイスは出来ないけど、ところどころでコンソールに変数の値を出力させて確認してみたらいいと思うよ
そしたらどこまでは想定した通りの値が入っていて、どこで想定外の動きになっているかが分かるから、問題解決のヒントになるはず
もしコンソールの使い方が分からない場合はたぶんこの動画が分かりやすい
http://www.nicovideo.jp/watch/sm22558857
プロジェクトでくれ
さすがに読んでられん
971です 疑似3Dマップの件ここにアップしました
http://www1.axfc.net/u/3658321.dat
DLパス
p1gj3dmap
です
こんな簡単なことでつまづくとは情けないのですが、
$Gate2のグラフィックで扉のイベントを作って、
開けた後のイベントのプライオリティを「通常キャラの下」
にちゃんとしてあるにも関わらず、なぜかすり抜けてくれません。
ツクールMVです。少なくともVX ace以前ではこのやり方で問題無かったはずで、
実際公式のツクールVXaceの制作講座を確認してもこれで問題なく通れるはずなのですが…
何か見過ごしている原因があるのでしょうか?
回答よろしくお願いします。
扉が置いてあるタイルが通行不可になってるとか?
イベントの簡単作成で作ったら?
>>980
試しに草原の下地にしてみたら、解決しました。
ありがとうございます。
前まで壁や透明タイルでも問題なかったはずですが、MVで仕様が変わったみたいですね
>>981
簡単作成にあることに気付きませんでした…
ありがとうございます。
壁でもすり抜けられるのってどれだ
少なくともVX以降は無理だよ
>>979
これ自分でもなったな、イベントでその通路を移動するものだったんだけど
歩いてくれないから、一時的にすりぬけONにしてやるしかなかった
どうもこれはツクール側のバグだと思う
イベント実行じゃない時は普通に歩けたし、イベントの問題はなかった
どういうイベントか具体的に教えて欲しい
イベントはイベントを通れないというのを知らない可能性
MVで質問
装備タイプの1が武器固定になってるんですが防具に変える方法ってあります?
>>987
イベントはイベントで通れないなんて初耳だ
2000の時は普通に通れなかったか?通常キャラの下においても通れないのか
なんか不便だな・・・
VXの時点でそうだったが?
イベントのみ通行できないように空イベント配置とかできる
VXどころかXPの頃で既にそうやで
仕様をしらないと不便に感じるかもしれないが
mobが1マスしかない入り口にいかないようにしたり
こことおられると困るみたいなばしょに空白イベントおいておくだけで通行禁止にできるから便利
俺もやってるわそれ
便利だよねぇ
雑談するなら他でやれや
日常会話に支障ありそうでかわいそう
質問から答えの流れなのに
>>995
馬鹿か?既に解決済みの質問をどんだけ引き伸ばしてるんだよ
ツクール質問スレ2
http://jbbs.shitaraba.net/bbs/read.cgi/game/59291/1462144514/
しいて言うなら引っ張ってるの993から994だろ
あーあバカに関わっちまった
あ、はい
雑談してんじゃねえよ糞が
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板