したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

ツクール質問スレ3

1名無しさん:2017/07/17(月) 08:50:47 ID:Qktcsy.2
ここはRPGツクールシリーズの製作技術に関する質問を扱うスレです。

■質問する前に■
質問前にマニュアルやヘルプを読んでみましょう。
ヘルプ・公式サイトの講座・FAQ・wikiを調べる、ググるなどしましょう
解決するかもしれません。

■質問者の心構え■
・質問の冒頭でツクールのバージョンは必ず申告すること。(2000/XP/VX/VX Ace/MVを書く)
・煽られても煽り返さず放置。(質問者にとってますます悪い結果になる)
・回答を催促しない。(回答が得られない理由を考えよう)
・納得のいかない回答しか得られなくても文句を言わない。
・情報の小出しはしない。一回にまとめて。
・回答が得られた場合、その経過を報告する。(上手く行ったかどうか)

■回答者の心構え■
・質問の答えが解り、気が向いたならレスを。解らないor気が向かないなら放置を。
・回答に関係のないレスは基本しない事。
・質問者への煽りは禁止。(気に入らない質問内容は放置で)
・荒らしには放置を徹底。
・質問者の態度等が気に入らない場合は放置してください。
・違法行為や不正に関する話題は放置する事。
・質問とは関係ない雑談はやめましょう。


【関連サイト】
●ツクール公式
http://tkool.jp/

358名無しさん:2019/10/02(水) 19:54:24 ID:fDMx/Kkk
x = $game_map.events[n].x
nはイベントID(1以上、0だとnil)

359名無しさん:2019/10/02(水) 20:27:30 ID:5X88x0eg
>>357
すみません
帰ったら確認します

>>358
つまりイベントコマンドでよくある「このイベント」のような指定はできないってことですか?

360名無しさん:2019/10/02(水) 20:47:24 ID:fDMx/Kkk
$game_map.events[@event_id]

361名無しさん:2019/10/03(木) 00:58:41 ID:h12ipJTg
>>360
できました
ありがとうございます

362名無しさん:2019/10/07(月) 04:44:25 ID:XPPWoFLM
質問
http://rpgmaker-script-wiki.xyz/allItemGain_kowazavxace.php
このページにあるスクリプトそのままコピペしたらエラー出たんだけどどこ修正すればいい?
教えてエロい人

363名無しさん:2019/10/07(月) 06:41:27 ID:XPPWoFLM
ごめんちょっと変な勘違いしてたわ
上の質問はなかったことに

364名無しさん:2019/10/07(月) 10:05:26 ID:AqgqWZIU
失敗談は後進の役に立つこともあるから
何やったのかは書いといてほしい

365名無しさん:2019/10/07(月) 17:52:34 ID:XPPWoFLM
>>364
なんてことない、使ってるのMVなのにスクリプトがVXAceのだって気付かなかっただけだよw

366名無しさん:2019/10/07(月) 19:04:08 ID:ZBaTBy56
あるある

367名無しさん:2019/10/08(火) 07:25:40 ID:EeOIUNIY
あるあ・・・ねーよw
VXとAceとかならまだしもw

368名無しさん:2019/10/08(火) 15:39:52 ID:R8HONAsE
プラグインじゃなくてイベント内で使うスクリプトだから詳しくないと見分け付かないことはあるだろ
MV スクリプト でググってもVXやAceが混じってヒットすることもよくあるし

369名無しさん:2019/10/08(火) 22:34:37 ID:qVAywazE
VXAceです
イベントが他のイベントと重なっているかで分岐したいんですけど
イベントコマンドスクリプトで
x = $game_map.events[@event_id].x
y = $game_map.events[@event_id].y
value = $game_map.event_id_xy(x, y)
$game_variables[100] = value
として条件分岐で変数100が1以上の時とすればいけるかな?と思ったら
実行中のイベントのIDを返されてしまいます
当然と言えば当然なんですが詰まってしまいました
もう条件分岐のスクリプト欄で一発で分岐できる記述とかないのでしょうか

370名無しさん:2019/10/09(水) 23:16:30 ID:d6EqLO7Q
変数100にx,yにあるイベントの数が入るようにしてみるとか

x = $game_map.events[@event_id].x
y = $game_map.events[@event_id].y
value = $game_map.events_xy(x, y)
$game_variables[100] = value.size



条件分岐に記述する場合:
$game_map.events_xy(get_character(0).x, get_character(0).y).size > 1

371名無しさん:2019/10/10(木) 12:43:22 ID:RCp5R8Rw
>>370
ありがとうございます
条件分岐だけでできたので想定よりもかなりスマートになりました
座標のイベント数までsizeで取得できるんですね
しかし結局重なったイベントのIDが取得できないと意味がないことが新たに発覚してしまいました
指定位置の座標取得はイベントが複数重なっているとIDが大きい方を取得する仕様のようですがこれを小さい方を取得するように変更したりできるんでしょうか
該当箇所のスクリプトも見てみましたが大きい方を取得とか分岐とかそういった記述は見当たらず…
小さい方を取得してくれればすべて解決かつスマートにできるんですが

372名無しさん:2019/10/10(木) 15:30:30 ID:okDd/SBM
$game_map.events_xy(get_character(0).x, get_character(0).y).reverse[0].id

373名無しさん:2019/10/10(木) 23:41:40 ID:RCp5R8Rw
>>372
すみません
reverseの後の[0]は何を表しているんでしょうか

374名無しさん:2019/10/10(木) 23:58:09 ID:RCp5R8Rw
>>372
で教えて頂いたコードの使い方が分からずにいます
条件分岐に使うと重なっていなくても常にtrueを返しているようです
しかしreverseというメソッドを知れました
本当にありがとうございます
このメソッドは配列変数に使うということでしょうか
つまり指定位置の情報取得で配列変数の形で変数に代入すれば重なったIDをすべて格納できるという解釈で良いのでしょうか
少しやってみます

375名無しさん:2019/10/11(金) 00:55:37 ID:h0kaAqCg
[0] ←配列の0番目
reverse ←配列内を逆順に並び替え
だったんだけどIDが小さい方を取得したいならreverse要らないね?

条件分岐に入れるときIDが小さい方を取得するなら
$game_map.events_xy(get_character(0).x, get_character(0).y)[0].id == 3

IDが大きい方を取得するなら
$game_map.events_xy(get_character(0).x, get_character(0).y).reverse[0].id == 3

ってすると重なったEVのIDが3のときTrue


でもなんかこの調子だと複数のイベントが重なった時の分岐でもまた詰まりそうだね?

376名無しさん:2019/10/11(金) 01:13:42 ID:51yvplyA
>>375
理解できました
ありがとうございます
value = $game_map.events_xy(get_character(0).x,
get_character(0).y)[0].id
$game_variables[100] = value
でできました
状況的に3つ以上のイベントが重なることはほぼないのでこれでいけそうです
ありがとうございました

377名無しさん:2019/10/13(日) 08:42:02 ID:8Kvnv5hg
>>355

こういう変数とかメソッドは有志が色々まとめてくれてるよ。トリアコンタンさんとかやってたかな。たしかに本来は公式の役割じゃないか、と思ったりはする

あとはスクリプト開いてみたりとかかな。テキストだからメモ帳でも開けるんだけど、AtomとかVSCodeあたりを使ってみた方が色々便利よ。全く知らないところからだと導入は手間に感じるかもしれないけど、そこは慣れなので

378名無しさん:2019/10/17(木) 23:03:36 ID:n.bS8PfQ
使用してるのはMVです。
バトルにおいて、敵キャラが行動する直前にコモンイベントを挿入する方法ってあるでしょうか?
例えば、戦闘に参加しているキャラの行動順がハロルド、テレーゼ、スライム、マーシャ、ルキウスだったとして

ハロルド

テレーゼ
↓   ←このタイミングでコモンイベントを挿入することはできないでしょうか?
スライム

マーシャ

ルキウス

379名無しさん:2019/10/18(金) 15:56:32 ID:/9Ge7Q/k
行動前イベントっていうプラグインがあった気がする

380名無しさん:2019/10/18(金) 17:25:28 ID:FYmY1NEA
>>379
こんなちょうどいいプラグインがあるとは思いませんでした。
ありがとうございます!

381名無しさん:2019/10/19(土) 11:12:40 ID:vJFPtWtg
VXAceです
イベントに追従するゲージと文字を作りたくてヘルプを見たりググったりしながら試行錯誤したのですが、
一応形にはなったものの少しカクつくような気がします
というかハチャメチャな組み方をしている気がしてならないので見て頂きたいです

条件分岐 @window.nil?
正なら
@x = get_character(@event_id).screen_x - 50 #-50は微調整
@y = get_character(@event_id).screen_y
@w = 100 #縦幅
@h = 50 #横幅
@m = 1000 #ゲージの最大値
@window = Window_Base.new(@x, @y, @w, @h) #ウインドウ生成
@window.opacity = 0 #ウインドウを透明化
@window.contents.fill_rect(0, 0, @w, @h, Color.new(0, 0, 0)) #ゲージの背景を描写
@w2 = $game_variables[1] * @w / @m #ゲージ本体の横幅 変数1番を参照
@window.contents.fill_rect(0, 0, @w2, @h, Color.new(0, 180, 250)) #ゲージ本体を描写
@window.contents.font.size = 20 #フォントサイズ変更
@window.contents.draw_text(0, 0, 100, 25, $game_variables[1]) #変数1を表示

偽なら
@x = get_character(@event_id).screen_x - 50 #-50は微調整
@y = get_character(@event_id).screen_y
@window.dispose #解放
@window = Window_Base.new(@x, @y, @w, @h) #ウインドウ生成
@window.opacity = 0 #ウインドウを透明化
@window.contents.fill_rect(0, 0, @w, @h, Color.new(0, 0, 0)) #ゲージの背景を描写
@w2 = $game_variables[1] * @w / @m #ゲージ本体の横幅 変数1番を参照
@window.contents.fill_rect(0, 0, @w2, @h, Color.new(0, 180, 250)) #ゲージ本体を描写
@window.contents.font.size = 20 #フォントサイズ変更
@window.contents.draw_text(0, 0, 100, 25, $game_variables[1]) #変数1を表示


ゲージを移動する方法が見つからなかったので毎フレーム生成と解放を繰り返しているのですが
これでいいのか納得できていません
改善点とかあればアドバイス頂けると嬉しいです

382名無しさん:2019/10/19(土) 14:37:04 ID:9iSQ0RrY
>>少しカクつくような気が
もし並列処理で実行してる場合はウェイトが2フレ入るのでこれが原因かと
1フレームのループで処理すると解決

>>毎フレーム生成と解放を繰り返し
これは良くない、座標の変更のみで十分

他にも変数名が競合しそうであるとかWindow_BaseではなくSpriteで十分であるとか問題点はあるけど今回はスルー

◆条件分岐 @window.nil?
@w = 100 #縦幅
@h = 50 #横幅
@m = 1000 #ゲージの最大値
@x = get_character(0).screen_x - 50
@y = get_character(0).screen_y
@window = Window_Base.new(@x, @y, @w, @h)
@window.opacity = 0 #ウインドウを透明化
@window.contents.font.size = 20 #フォントサイズ変更
@_gauge_color = Color.new(0, 0, 0)
@_gauge_background_color = Color.new(0, 180, 250)
:分岐終了
◆ループ
@x = get_character(0).screen_x - 50
@y = get_character(0).screen_y
@window.contents.fill_rect(0, 0, @w, @h,
@_gauge_color) #ゲージの背景を描写
@w2 = $game_variables[1] * @w / @m
@window.contents.fill_rect(0, 0, @w2, @h,
@_gauge_background_color) #ゲージ本体を描写
@window.contents.draw_text(0, 0, 100, 25,
$game_variables[1]) #変数1を表示
@window.x = @x
@window.y = @y
◆ウェイト:1フレーム
:以上繰り返し

ttp://iup.2ch-library.com/i/i2020538-1571463140.png

383名無しさん:2019/10/22(火) 09:20:47 ID:Zpe7YfF2
>>382
返信が遅くなってしまい申し訳ありません
カクつきも減り綺麗にできました
.x = で座標が指定できるんですね
ありがとうございました

384名無しさん:2019/10/25(金) 00:40:33 ID:jDtREFjk
質問です
MVでスキルの速度補正に変数を代入する方法ってありますか?

385384:2019/10/25(金) 20:48:05 ID:jDtREFjk
すいません自己解決しました。失礼しました。

386名無しさん:2019/10/26(土) 00:54:09 ID:JyAwrddE
失礼なのは解決方法を書いていかないことだぞ
方法を書いていくなら後からログ見た人の役に立つ(ことがある)からそれはそれでいいんだよ

387名無しさん:2019/10/26(土) 02:47:29 ID:fT8r4oy6
諦めたので解決です

388名無しさん:2019/10/26(土) 03:49:31 ID:WsydOChQ
ツクールMVなんだけどさ、スキルのランダム4体ってあるじゃん?
あれHPの低いザコ4体が出てきたときそのスキルで一掃しようとしたら
なんか途中死体蹴りが入って敵が残ることもある仕様なんだよな。
ドラクエのばくれつけんみたいに、すでに死んだ敵は攻撃しない仕様に改造ってできないかな?

389名無しさん:2019/11/01(金) 15:45:00 ID:LTEiQ/PQ
RGSS3です
イベントコマンドのスクリプトにてグローバル変数ではなくインスタンス変数で作ったウィンドウを
外部から解放する方法はあるのでしょうか
場所移動やゲームオーバーでゲージが消えるようにしたいです
複数ゲージを表示かつ状況によって表示数が変わる構想のためグローバル変数では競合してしまいます
それかゲージ数に応じて変数名を変える方法があるのでしょうか
自分でも少しやってみたのですが変数名に変数が使えないようなので上手くいかず
ご教授願えると嬉しいです

390名無しさん:2019/11/01(金) 16:17:45 ID:7NnUEgQs
イベントコマンドだけでやろうとするな
ちゃんとクラスとメソッドを理解しろ

391名無しさん:2019/11/01(金) 16:40:25 ID:i3tupoBk
Hash使う能力があれば名前問題は解決するだろうけどスクリプトエディタで全部かけるぐらいの能力がないとバグだらけになるのがオチ

392名無しさん:2019/11/01(金) 17:06:37 ID:k/W4s0ig
ハッシュの勉強をします
ありがとうございました
スレ汚しをしてしまい申し訳ありません

393名無しさん:2019/11/02(土) 02:28:41 ID:2VCmcHLg
MVで質問なんですが
ステートの継続ターン数に値を代入することってできますか?

394名無しさん:2019/11/02(土) 03:36:16 ID:2FqsM0sg
//敵のステート
idx = 0 //敵集団の先頭
state_id = 10 //ステートのID(デフォの10は睡眠)
turn = 1 //継続ターン数
$gameTroop._enemies[idx]._stateTurns[state_id] = turn

//味方のステート
idx = 0 //パーティの先頭
state_id = 10 //ステートのID(デフォの10は睡眠)
turn = 1 //継続ターン数
actor_id = $gameParty._actors[idx]
$gameActors._data[actor_id]._stateTurns[state_id] = turn

395名無しさん:2019/11/02(土) 04:24:48 ID:2VCmcHLg
>>394
ありがとうございます、
やってみたところ
Cannot read property '_stateTurns' of undefined
と出てしまったのですがどうするべきでしょうか…

396名無しさん:2019/11/02(土) 04:27:15 ID:2VCmcHLg
すいませんもう少し試したところ
idx のところに定数を代入すると正常に動作したようでした。
最初に変数で試したのがいけなかったようです、失礼しました。

397名無しさん:2019/11/02(土) 04:52:00 ID:2VCmcHLg
しつこくて申し訳ないです
最後の行を
$gameActors._data[idx]._stateTurns[state_id] = turn
にして試したらできました!
ありがとうございます!

398名無しさん:2019/11/02(土) 19:46:12 ID:2FqsM0sg
なんかあんまり仕組み理解してなさそうで不安だけど出来たならいいや

399名無しさん:2019/11/07(木) 01:20:36 ID:f0/OEg.M
質問です
MVでスキル効果でコモンイベント実行を指定して、
そのスキルの対象が味方パーティか敵パーティかを判定するスクリプトを作りたかったんですが
色々調べてみたもののどうしてもうまくできません。

var action = BattleManager._action;
$gameVariables._data[6] = action.isForOpponent() ? 1 : 2;

ちょっと調べてみてこんな感じで書いてみたんですが当然うまく動くはずもなく困っています。
混乱などにも対応できるようにするにはどのように書けばよいのでしょうか?

400名無しさん:2019/11/07(木) 03:17:23 ID:QlxY3FVA
アクション起こす度にターゲット情報が初期化されてるっぽいからプラグインというかスクリプトを自作しないといけないかも?


↓プラグイン
(function() {
var __Game_Battler_prototype_setLastTarget = Game_Battler.prototype.setLastTarget;
Game_Battler.prototype.setLastTarget = function(target) {
__Game_Battler_prototype_setLastTarget.call(this, target);
this._lastTarget = target;
};
})();


↓スクリプト
var subject = BattleManager._subject;
$gameVariables._data[6] = subject.isActor() === subject._lastTarget.isEnemy() ? 1 : 2;

401名無しさん:2019/11/07(木) 03:25:03 ID:QlxY3FVA
ああ、こういう書き方するとセーブが膨れ上がるかも?
プラグインの中でisActorとか使って判定した方が良いのかも

402名無しさん:2019/11/07(木) 03:37:19 ID:QlxY3FVA
↓プラグイン
(function() {
var __Game_Battler_prototype_setLastTarget = Game_Battler.prototype.setLastTarget;
Game_Battler.prototype.setLastTarget = function(target) {
__Game_Battler_prototype_setLastTarget.call(this, target);
this._lastTargetIsEnemy = this.isActor() === target.isEnemy();
};
})();

↓スクリプト
$gameVariables._data[6] = BattleManager._subject._lastTargetIsEnemy ? 1 : 2;

403名無しさん:2019/11/07(木) 04:46:27 ID:f0/OEg.M
>>400-402
実装してみたら完璧な動作をしてくれました!
本当にありがとうございました!

404名無しさん:2019/11/08(金) 01:38:37 ID:jYTvv9so
質問
MVでマザー2のエナジーロボみたいに、HP0になると最後に爆発して道連れにしようとする敵って作る方法ないかな?

405404:2019/11/08(金) 20:56:17 ID:jYTvv9so
自己解決できそうになったところまで書いてみる。
rpg_object.jsにそれっぽい記述を見つけたんでプラグインにしてみたかった。

(function(){
Game_Battler.prototype.refresh = function() {
Game_BattlerBase.prototype.refresh.call(this);
if (this.hp === 0) {
if(this.enemy().meta.deathtrigger){
$gameTemp.reserveCommonEvent(10);
}
this.addState(this.deathStateId());
} else {
this.removeState(this.deathStateId());
}
};
})();

と、ここまで書いて敵キャラのメモ欄に<deathtrigger>を入れたら
ちゃんと倒した瞬間にコモンイベント10は実行された…んだけど
代わりに味方キャラが死んだときに this.enemy() is not a function とか言われた。
つーかなんで一個手前の this.hp ってやつは this だけでちゃんと敵味方双方に機能するのに
meta は this.meta でエラー出るんだよクソ

406名無しさん:2019/11/08(金) 21:37:43 ID:4J32/uaY
ぱっと見ただけで全然テストしてないから適当なこと言うかもしれないけど
Game_BattlerじゃなくてGame_Enemyにしてみるとか?
それとも味方も道連れ技使いたい感じ?

407404:2019/11/08(金) 21:42:53 ID:jYTvv9so
>>406
それでできたわwwwありがとうw
味方側に実装する気は無かったんで十分よw助かったわw

408名無しさん:2019/11/15(金) 00:50:05 ID:PXhU1eXc
Rgss3です
疑問のようなものなんですがここでしか聞けないので申し訳ありません
Game_Interpreterクラスにget_character(引数)というメソッドがありますが
これを呼び出して変数に代入したあとコンソールに表示すると引数で指定したIDのキャラクターの情報がズラッと並びますが
.xを付け加えるとその中からx座標だけを取得できますよね?
.で呼び出すのはメソッドだと思っていたのですがスクリプトエディタにもヘルプにもどこにも見当たりません
またイベントコマンドのスクリプトでしか使えないのも気になります
スクリプトエディタでやるとNomethoderrorになります
この.xは何者なんですか?

409名無しさん:2019/11/15(金) 02:30:46 ID:zeindyyA
Game_CharacterBaseのattr_reader :x

410名無しさん:2019/11/16(土) 10:53:47 ID:QSfKms9E
>>409
理解しました
ありがとうございます

411名無しさん:2019/11/16(土) 20:36:45 ID:w/Tw28vs
ツクールMVで、特定のアイテムの使用を禁止する、
アイテム版沈黙みたいなステート作りたいんだけどそういうプラグインってないかね?

つーか前々から思ってたんだけど昔からツクールって消費アイテムで戦うタイプのゲームにやたら冷たくない?
スキルにはデフォルトで沈黙っていうステートがあったりスキルタイプが増やせたり細かく設定できるのに
アイテムは使用時のメッセージすら変えられないとか冷遇されすぎだろ。
なんでシレンみたいな、リソースを丁寧に作っていくタイプのゲーム作らせてくれないんだよ…

412名無しさん:2019/11/16(土) 22:37:26 ID:MpQvN6LY
アイテム所持でスキル習得するタイプのプラグイン入れてアイテムと同じスキル覚えさせればいいんじゃね
スキルの使用条件にアイテム消費させるプラグインもあるし

いくらでもできるだろ

413名無しさん:2019/11/17(日) 01:52:45 ID:Jz8fQAnA
>>412
それやると移動中はアイテム覧じゃなくてスキルからアイテムを使うっていうおかしな挙動になるし
戦闘中はアイテムの残り個数が表示されなくなるからややこしいんだよ

414名無しさん:2019/11/17(日) 06:25:40 ID:wfEeAsIM
いやアイテムにも効果設定させておけばいいだけじゃないか?
スキルの説明欄に変数で取得した残り個数書いておけばいいだけじゃないか?

415名無しさん:2019/11/18(月) 01:17:19 ID:UJ5BVrCM
>>414
スキルが無駄に増えて見づらくのもあんまり気が進まないし
残り個数をアイテムごとに変数で取得して説明欄なんて作る側もやる側も面倒になり過ぎる。
戦闘中なら元々のアイテムウインドウにスキルのMPと同じ位置に表示されるからやっぱりそっちを使いたいってのが本音だな…

生意気言うようで申し訳ないがそれは最後の手段にするよ。
他の解決策が一つも見いだせなかったらそのやり方にするけど、積極的に採りたい手段じゃない。

416名無しさん:2019/11/19(火) 20:30:14 ID:31GJtvFw
酷いやりとりを見た

417名無しさん:2019/11/20(水) 05:46:52 ID:AKscOwHE
>>411
早くこれに答えろよクズども

418名無しさん:2019/11/20(水) 06:10:46 ID:RFCBcx42
>>417 はなりすましと見た

419名無しさん:2019/11/20(水) 06:35:26 ID:4UUOEs6c
ちょっと前まではYanflyさがしゃあるんじゃねえのって言えたけど、もう有料化&引退してそれも言えんくなっちまったな

420名無しさん:2019/11/20(水) 07:44:25 ID:nXBond82
ただ、アイテムメインのゲーム作りにくいってのはなんかすげー分かる
最近のVXとかMVとかはスクリプト使えるから大分マシになったけど、プレステ時代とかはもっと悲惨だったよな
今でもネット上のプラグインとか調べると基本的にスキル拡張が大半でアイテム関連は乏しいしね

421名無しさん:2019/11/21(木) 22:31:26 ID:XxSVUowk
MVで上下がつながってるピクチャをループスクロールさせる方法もしくはプラグインってないですか?

422名無しさん:2019/11/21(木) 23:15:16 ID:56F4UBwg
ループさせる分元の画像ファイルをペイントで開いてコピーして縦に繋げればいいだけじゃん
プラグイン使うまでもないんじゃね?

423名無しさん:2019/11/21(木) 23:45:18 ID:3qaV8N12
無限ループさせたいんじゃない

424名無しさん:2019/11/21(木) 23:54:04 ID:56F4UBwg
その質問じゃそんなこと分かんないだろ

425名無しさん:2019/11/22(金) 00:26:07 ID:f2la2ZjA
>>421
https://plugin.fungamemake.com/archives/13124
ちゃんと確認したわけじゃないけど比較的近そうなのはこれかな。
細かい部分は画像加工でなんとか

426名無しさん:2019/11/22(金) 00:55:25 ID:UO.LbMEA
ループって普通無限じゃね?
つなげただけならただのスクロールだ

427名無しさん:2019/11/22(金) 01:41:19 ID:29Abdj1k
>>425
ありがとうございます使ってみます

428名無しさん:2019/11/22(金) 18:46:53 ID:pgCK19H6
>>419
まじかよ知らんかったわ。
DLしておけばよかった…

429411:2019/11/22(金) 23:47:25 ID:f2la2ZjA
色々探してたんだけど
https://plugin.fungamemake.com/archives/1712
↑こういうの見つけたからこれに追加改造できないか試してたんだよね。

if (meta[tag + " class"]) {
var v = conv(meta[tag + " class"], 0);
if (v > 0) {
if (v != BattleManager.actor()._classId) {
return false;
}
} else {
if (check(meta[tag + " class"], String(BattleManager.actor()._classId))) {
return false;
}
}
}

↑こういう記述見つけたから、試しにその下にclassの代わりにstateにしたものを加えてみたんだけど

if (meta[tag + " state"]) {
var v = conv(meta[tag + " state"], 0);
if (v > 0) {
if (v != BattleManager.actor()._stateId) {
return true;
}
} else {
if (check(meta[tag + " state"], String(BattleManager.actor()._stateId))) {
return true;
}
}
}

これで<condition state:n,m,,>ってアイテムに入れてみたけどやっぱり動かなかったわ…
classをstateに変えるだけじゃやっぱダメかな?

ついでなんだけどこのプラグイン、仮に禁止がうまくできたとしても
アイテム欄から該当アイテムが消える仕様っぽいんだよね。
これってスキル禁止したときみたいにグレーアウトできないかな?

430名無しさん:2019/11/23(土) 03:15:29 ID:5Ivh.WN6
↓classの代わりにstateにしたものを加えてみた奴

if (meta[tag + " state"]) {
var v = conv(meta[tag + " state"], 0);
if (v > 0) {
if(BattleManager.actor()._states.indexOf(v) >= 0){
return false;
}
} else {
for(var i = 0; i < BattleManager.actor()._states.length; i++){
if(check(meta[tag + " state"], String(BattleManager.actor()._states[i]))){
return false;
}
}
}
}


↓スキル禁止したときみたいにグレーアウト(プラグインの一番下とかに追加で記述)

Game_BattlerBase.prototype.meetsUsableItemConditions = function(item) {
return this.canMove();
};
Window_ItemList.prototype.isEnabled = function(item) {
return $gameParty.members().some(function(actor) {
return actor.isOccasionOk(item);
});
};

431名無しさん:2019/11/23(土) 03:16:29 ID:5Ivh.WN6
バグっても知らないじょ〜
特にグレーアウトのほう

432名無しさん:2019/11/23(土) 03:19:24 ID:5Ivh.WN6
return actor.isOccasionOk(item); を消し忘れてたw
このまま書いたままでもいいけど

433名無しさん:2019/11/23(土) 03:20:16 ID:5Ivh.WN6
いや消したらダメな奴だじょ
>>432のことは忘れるんだじょ

434411:2019/11/23(土) 03:35:52 ID:tzFi0S4M
>>430-433
マジクッソありがとう!導入したら完璧に理想通りになったわ!
ここすげー重要なところだったのに全然うまく行かなかったからやる気無くしてたんだけど
またモチベ上がってきたわ、絶対完成させるぜwww
本当にありがとうございました、マジで助かった!

435名無しさん:2019/11/24(日) 19:18:35 ID:yJcAJnL2
麻原の野望の続編的なゲーム覚えている人いないかな?
麻原が森皇帝を倒した後独裁国家を作ってて主人公二人は麻原の部下の吟遊詩人っぽい人が麻原の横暴を止めるために戦うみたいな
edは二つあってどっちも後味悪いというか
前に不謹慎系のゲームを実況する人が公開してたけど何故か削除されちゃって

436名無しさん:2019/11/24(日) 20:34:47 ID:JqZTlsJY
ここはRPGツクールシリーズの製作技術に関する質問を扱うスレです。

437名無しさん:2019/11/28(木) 00:26:43 ID:1mMI458Q
>>392です
解決しました
あれからクラスとメソッドの概念やハッシュの勉強をヘルプでやりつつ
初めてメソッド定義や処理回りを組みました
・ゲージを表示したいイベントを取得して配列にするメソッド
・作成した配列を引数にしてそれをハッシュのkeyにして、valueには画面座標やゲージに使う変数を格納するメソッド
・グローバル変数を配列にしてハッシュのkeyを追加していきvalueの値を元にゲージを作成するメソッド
これらを定義したことで一つのグローバル変数で複数のゲージが作れるようになりました
インスタンス変数で別個に描写していたのをグローバル変数にした事で場所移動やゲームオーバーで消すこともできるようになり無事解決です
お陰様でスクリプト作成デビューできました
自分でできるものではないと思っていたのですがやってみると
エラーを何度も何度も吐かれましたがなんとかなりました
ハッシュに至っては存在すら知りませんでしたが理解して活用できたので良かったです
これからは困った部分はスクリプトでなんとかできるよう更に精進したいと思います
きっかけを与えてくださりありがとうございました

438名無しさん:2019/11/28(木) 03:50:02 ID:WedFIg9I
あっそう

439名無しさん:2019/11/28(木) 07:45:20 ID:hzt0is1k
きちんと報告してくれるのは好感持てるけどな

440名無しさん:2019/11/28(木) 08:46:53 ID:yqO3znzg
こういう人が大勢するんだよな
438みたいなのはゴミゲーしか作れなそう

441名無しさん:2019/11/28(木) 09:12:53 ID:3nYidSOo
オブジェクト指向がわかってないな

442名無しさん:2019/11/28(木) 12:13:31 ID:lYg8fkqs
同人ゲーなんて動けばいんでねの

443名無しさん:2019/11/28(木) 22:42:39 ID:7uH6KDJo
>>437
誰もお前に興味なんてないよ
強いて言うなら気持ち悪いね

444名無しさん:2019/11/28(木) 23:12:35 ID:hzt0is1k
>>443
>>390-391のアドバイスを形にしたのが>>437ってだけの話だし
後から同じ疑問持ってスレ見た人にも役に立つ
何でそこに「お前に興味」とか意味不明な言いがかりが出てくるんだ?

その点お前の書いたことは全く無価値で気持ち悪くておぞましいだけだな

445名無しさん:2019/11/28(木) 23:36:14 ID:WedFIg9I
あっそう

446名無しさん:2019/11/29(金) 01:16:53 ID:jYNdiLQM
いやキモいでしょ
自分できますよアピールするタイプは虫酸が走る
大した努力もしてないし

447名無しさん:2019/11/29(金) 01:43:22 ID:l7hvjeaE
働きに努力点(笑)が加味されないとゴネるタイプなんだろうね

448名無しさん:2019/11/29(金) 03:51:59 ID:W8MSs2No
理不尽な嫉妬だった

449名無しさん:2019/11/29(金) 08:08:16 ID:vPy.O1Qk
ツクラーなんてこんなのばっかだろ

450名無しさん:2019/11/29(金) 08:12:16 ID:JYFpC8R.
負け犬の遠吠えってやつ

451名無しさん:2019/11/29(金) 08:37:50 ID:YgImrP..
ツクールっていかに努力せずにアイデアを具現化するかっていうツールだと思うんですけど…

452名無しさん:2019/11/29(金) 08:55:22 ID:.NX5i9Zc
だから「こういう質問があって>>389、こういうアドバイスがあって>>390-391、具体的にこうすれば解決できる>>437
という記録が有益なのであって
誰が書いたかは問題じゃないのに
「自分」「お前」という言葉を持ち出して非難するとこが狂ってるんだよ

453名無しさん:2019/12/04(水) 23:50:55 ID:E4dVXpKs
なんかこのスレちょっと前から変な奴増えてないか

454名無しさん:2019/12/05(木) 18:00:13 ID:RlZsgvoU
RGSS3なんですが
既存クラスのupdateメソッドにエイリアスで再定義して毎フレームメソッドを実行すると重いのですが
コモンイベントの1Fウェイトループでメソッドを実行すると軽くなります
後者の方法でやった場合エラー箇所を参照できなくなるのでデバッグが大変になってしまいます
どういう理屈で重さに差が出るのでしょうか

455名無しさん:2019/12/05(木) 18:27:18 ID:W9VtBDho
毎フレーム実行のつもりがループ内実行になっているとか

456名無しさん:2019/12/07(土) 03:24:40 ID:EluYPuys
イベントで使用した特定のSEを新しいものに差し替えたいのだけど
そのSEファイルを上書きする以外にいい方法はありませんか?
どこで使用しているか特定するとか

457名無しさん:2019/12/07(土) 03:40:36 ID:u4nfXG1w
json開いてファイル名で検索・置換


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板