[過去ログ] RPGツクールMZ_15作目 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
938: 2022/06/15(水)09:22 ID:YzmjWTbK(1/4) AAS
そうか時間に関してはプレイ時間があるのか
939: 2022/06/15(水)09:54 ID:BAKZu2Bl(1) AAS
プレイ時間だと
例えば1時間に一回取れるアイテムがあったとして
アイテム取る、ゲーム一旦やめる、リアル1時間後に再開
だとプレイ時間としては1時間経ってないのでポップしないんでは
940: 2022/06/15(水)10:12 ID:YzmjWTbK(2/4) AAS
外部リンク[php]:forums.rpgmakerweb.com
realtime from your computerとか書いてあるから多分これ
941: 2022/06/15(水)10:16 ID:YzmjWTbK(3/4) AAS
なんかアクセスできなさげだったけどwebarchiveにはあった
942(1): 2022/06/15(水)10:22 ID:YzmjWTbK(4/4) AAS
あすまねえMVだわこれてへぺろ
943: 2022/06/15(水)10:23 ID:PPitQH8n(1/2) AAS
動き回るイベンを多数設定すると重くなる一方だと聞くけど
MVはあまりシンボルエンカウントに向いていないのでは?
944: 2022/06/15(水)10:24 ID:PPitQH8n(2/2) AAS
ありゃりゃ、俺もだ
そのへんMZでは改善されれるの?
945(1): 2022/06/15(水)12:04 ID:PVSIzD9Q(1) AAS
アイテム取る→セルフスイッチAON
AONのとき並列 ウエイト(リポップさせたい時間)→AOFF
ってやれば簡単にできるけど 問題はMAP変えるとウエイトが最初からになるな
946: 2022/06/15(水)16:19 ID:ecRA1lLB(2/4) AAS
>>942
ありがとう
英語分からないから苦戦しそうw
ムノクラサイトで探してみようかな
947(1): 2022/06/15(水)16:21 ID:ecRA1lLB(3/4) AAS
>>945
それなんですよね
同マップ内ならウエイト重ねればできるんだけど(そもそもウェイトも本当は分単位とかがほしいところ)
マップ切り替えると待ち時間無くいくらでも取り放題になりそうだからプラグインを探す事にしました次第です
948: 2022/06/15(水)18:06 ID:ecRA1lLB(4/4) AAS
>>947
いくらでも取り放題じゃなくてウェイトがリセットされるのか
勘違いしてた
949: 2022/06/15(水)18:10 ID:lDGlZk7y(1) AAS
よくある世界地図から街をクリックして入場する機能を実現するのにプラグインは必須?
キー入力の方は並列処理でいけるのかな?
950(1): 1/2 2022/06/15(水)23:02 ID:ZAnqCX5K(1/3) AAS
>>936
Javascriptの基本的な関数で、現在の時刻を取得できるのがあるから、それを使うとできそう。
「var bufferDate = new Date(); // シンボル取得時の日時オブジェクト生成」
細部はネットで調べてくれ。
以下は突貫で考えた参考。「時」をまたぐときの処理は強引に丸めてる。
なお、new Date()関連はちゃんと時間や分を取得できることは確認してるが、
処理全体はチェックしてないのでエラーがでたらすまない。
1 シンボル取得時に以下の処理で「取得した時の分」を記録
(イベントコマンドのスクリプトで実行)
var bufferDate = new Date(); // シンボル取得時の日時オブジェクト生成
var bufferHour = bufferDate.getHours(); // シンボル取得時の「時間」取得
var bufferMinute = bufferDate.getMinutes(); // シンボル取得時の「分」取得
$gameVariables.setValue(1, bufferHour); // 変数1に「シンボル取得時の時間」を記録
$gameVariables.setValue(2, bufferMinute); // 変数2に「シンボル取得時の分」を記録
(続く)
951: 2022/06/15(水)23:02 ID:ZAnqCX5K(2/3) AAS
(続き)
2 復活の処理は以下を並列処理で判定
(イベントコマンドのスクリプトで実行)
// 処理時の時間・分を取得
var checkDate = new Date(); // 処理の時点の日時オブジェクト生成
var checkHour = checkDate.getHours(); // 処理の時点の「時間」取得
var checkMinute = checkDate.getMinutes(); // 処理の時点の「分」取得
var bufferHour = $gameVariables.value(1); // 変数1に保存していた「シンボル取得時の時間」を取得
var bufferMinute = $gameVariables.value(2); // 変数2に保存していた「シンボル取得時の分」を取得
var cycleTime = 5; // シンボル復活までの時間(ここでは分)
if(checkHour == bufferHour){ // シンボル取得時と処理時の「時間」が同じ場合
if(checkMinute >= bufferMinute + cycleTime){
// 「処理の時点の「分」」が「シンボル取得時の分+復活までの時間」以上の場合
$gameSwitches.setValue(1, true); // フラグとしてスイッチ1をONに
}else {
$gameSwitches.setValue(1, false); // 時間が経過していない場合はフラグをOFFに
}
}else { // シンボル取得時と処理時の「時間」が違う場合
$gameSwitches.setValue(1, true); // フラグとしてスイッチ1をONに
// 処理が面倒なので「時間が変わっても復活」にしてしている。
// シンボル復活までの分を60の約数にしておけば、矛盾はない
}
以下、通常のイベントコマンドでスイッチ1がONの時に
イベント復活の処理を実行すればよい
952(1): 2022/06/15(水)23:07 ID:ZAnqCX5K(3/3) AAS
書き込みしてから気づいたが、
「// シンボル復活までの分を60の約数にしておけば、矛盾はない」は間違いだな。
シンボルを取得した時点の「分」が0じゃないから、「時間」をまたぐときはどうしてもずれるか。
解決するなら 「時間×60+分」にして、1日の中での累積分を計算して比較すればいいが、
その場合は「日」をまたぐ場合のズレも考える必要がある。
ここで力尽きたので後は宜しく
953: 2022/06/15(水)23:35 ID:s4MDnDpb(1) AAS
ほーん興味深いレスだな
俺も疑似ログインボーナスのロジックを考えたことあるけどだいたい似た仕組みだわ
954: 2022/06/16(木)00:04 ID:Vjflt9WS(1) AAS
変数ひとつひとつにシンボルのリポップ時間を記録するなら並列処理で変数をカウントダウンするだけでいいのでは
955: 2022/06/16(木)00:30 ID:ScS/eEat(1) AAS
>>952
想像してたより複雑そうで草
956: 2022/06/16(木)00:41 ID:sN8Ff7rF(1/2) AAS
ツクールのスクリプト弄ったことないから適当に書くけど
マップのアップデート関数の中で
957(1): 2022/06/16(木)00:51 ID:sN8Ff7rF(2/2) AAS
ツクールのスクリプト弄ったことないから適当に書くけど
セルフスイッチとカウントを入れたサイズ2の配列aを入れる配列bを用意してマップのアップデート関数の中で60回呼ばれる度に配列bに入れた配列aのカウントを1減らせばいいだけじゃないのか
配列aのカウントが0になったらセルフスイッチoffにでもして配列bから削除
再ポップするキラキラを取得するイベントには自分のセルフスイッチと再ポップしたい時間を入れて配列bにプッシュする感じで
セルフスイッチもマップidやイベントid等から特定できるだろうし
途中でレスしてしまった
958: 2022/06/16(木)02:21 ID:uTZW0q4s(1/2) AAS
歩数セルフスイッチOFFってないの?
959: 2022/06/16(木)02:42 ID:I0QyV4E5(1) AAS
そんなシステムいらないと思うが
薬剤師が活躍するゲームならまだしも
960: 2022/06/16(木)02:59 ID:iQwnvr2A(1) AAS
マップ上にキラキラアイテムが湧くことがあなたのゲームの面白さにつながってますか?
961: 2022/06/16(木)04:30 ID:qB+liift(1) AAS
キラキラ回収はクリッカーに近い感覚
アイテムアイコンが綺麗だと結構楽しい
再ポップをゲームの面白さに繋げるなら交換・合成ショップ、スコアボードあたりかね
962: 2022/06/16(木)10:25 ID:zIrBrF7c(1) AAS
シンボルはツール標準機能に欲しいなと思ったことはある
右クリック→シンボル配置→復活時間を設定
みたいな感じでね
963: 2022/06/16(木)10:51 ID:uTZW0q4s(2/2) AAS
まあぶっちゃけプレイヤーからしたら画面切り替えたら復活しろって思うだろうけどな
964: 2022/06/16(木)11:43 ID:juJOJI/+(1) AAS
アイデア沸いて組めるのすげえな
965: 2022/06/16(木)11:59 ID:q4ZrDs56(1) AAS
アツマールならグローバルサーバー変数API使うと良いよ
ブラウザの時間を使っちゃうといくらでも変えれるから
966(1): 2022/06/16(木)18:16 ID:uWwqS5be(1) AAS
スレをよく読んだら、>>936自体は別に「ゲームを中断している時間もカウントしたい」とは言ってないのか。
だとしたら、スクリプトでやるなら>>957の方法がスマートだし、
イベントコマンドでやるなら変数にプレイ時間を代入して差分をとればいいだけだな。
967(2): 2022/06/17(金)04:01 ID:aRjRun3H(1/7) AAS
>>966
後半の『変数にプレイ時間を代入して差分をとる』ところの意味って
変数にプレイ時間を代入して何をとるの?
差分とは?
もう少し細かく説明していただきたいですm(__)m
上下前次1-新書関写板覧索設栞歴
あと 35 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.013s