FRep

FRepの使い方【時間変数】を入れたフルオートプログラム

時間を制御する【変数】を入れたフルオートプログラムで、ハート送信の開始時間を常に一定にしましょう。

早まきを防ぐ為には、ツムツム起動プログラムとメールボックス受取プログラムの実行時間が一定にならなかった場合でも、ハートの送信開始時間を一定にする事が大切です。

[プログラム開始からxx秒]の待機を入れて、それを実現します。

早まきや、ハートの回復方法についてはこちらをご覧ください。

 

基本的な変数プログラムの作り方についてはこちらをご覧ください。

 

スポンサーリンク

FRepのプログラム

FRepプログラム時間変数有り

1.起動→2.BOX受取→3.下までスクロールの後に、[プログラム開始から180秒]の待機をします。例えば、
1~3のプログラムで60秒掛かった場合は120秒待機をします。
1~3のプログラムで70秒掛かった場合は110秒待機をします。

この様に、1~3のプログラムが何秒でもハート送信の開始は180秒後になります。

※但し1~3のプログラムが180秒以上掛かった場合には、待機は0秒になりますがハート送信の開始も遅れます。

 

プログラムの説明

1.[関数呼出]–【ツム起動v5.1】←詳細はこちらを確認

2.[関数呼出]–【BOX受取v2】←詳細はこちらを確認

3.[関数呼出]–下までスクロール

FRepプログラム下までスクロール

1~3は操作の記録(Rec)で多めのスクロールにしても大丈夫です。
最後に上方向にスワイプを入れて、一番下から4人分上の画面に移動しておきます。
これは、[下までスクロール]の関数プログラム実行時に、前回のハート送信から60分経過していない場合にはハートが回復していない為です。一番下画面から外で待機をして回復を待ちます。

4.[変数]3分待つ–BOX受取もいれるので[プログラム開始から3分]に設定します。

FRepプログラム時間制御変数

この様な変数を設定します。
ms(ミリ秒)で指定するので、秒を1000倍して指定します。
120秒にしたい場合は120000
150秒にしたい場合は150000
180秒にしたい場合は180000
[待機]は秒指定なので、変数waitを1000で割ります。

FRepシステム変数-時間

現在時刻(ms)を指定するとシステム変数[@now]になります。
開始時刻(ms)を指定するとシステム変数[@start]になります。

このまま真似する場合は、間違いの無い様に気を付けて変数を設定してください。
詳しく知りたいは場合はこちらをご覧ください。

5.[待機]wait–変数waitを指定

FRep待機で変数指定

桃枠の▼をタップすると、変数での秒数指定が出来ます。

FRep待機で変数を指定

【待機スキップ/延長パネルを表示】にチェックをつけておくと、FRepパネルに残り秒数が表示されてわかりやすいです。

【wait又は1.0秒】にしてありますが、変数指定した場合は1.0秒は意味がない様です。(0秒にしておくとプログラム表示で変数が見えなくなる為に0秒以外を入れてあります。)
もしも、その前のプログラムで180秒以上掛かった場合は待機0秒で次のプログラムを実行します。

6.[下までスワイプ]–待機の後に下までスクロールすれば、ハートは回復しているはずです。

7.[関数呼出]–【基本ハート送信v2】←詳細はこちらを確認

8.[関数呼出]–【BOX受取v2】←詳細はこちらを確認

9.[アプリ終了]

 

エラー対応のフルオートプログラム

[2019.7.16]追加
エラー等でプログラムを【中断】に制御した場合に、他のプログラムに分岐することが出来ます。

注意:FRepが停止した場合ではありません。

こちらの【フルオートプログラム】でログに出力・分岐するプログラムを載せていますので、よろしければご覧ください。

 

FRepの時間に関する解説

一応解説をしておきますが、出来ているプログラムの変数を真似するだけならば、以下は読まなくても大丈夫です。

FRep内部の時間

FRepの内部では予め日時に関するデータを[MS]ミリ秒単位(1/1000秒)の数値として持っています。

1970年01月01日午前09時00分00秒000ミリ秒が0です。

1970/01/01 08:59:59.000=-1000
1970/01/01 09:00:00.000=0
1970/01/01 09:00:00.001=1
1970/01/01 09:00:01.000=1000
1970/01/01 09:01:00.000=60000
2018/11/14 19:12:53.534=1542190512534
↓(続く)

そしてプログラムを実行するとシステム変数として、プログラム開始時刻[@start]とプログラム実行時の現在時刻[@now]の値を数値で得ることが出来ます。

時間の計算

[@now][-][@start]で、[開始時刻]から[現在時刻]までの経過時間がミリ秒単位で計算が出来ます。

計算の答えが60000(MS)ならば、60秒間という事になります。

プログラム開始から180秒後

var=num:@now-@start

時間計算の通りです。

wait=num:180000-var

180秒をミリ秒で表示すると[180000]、そこから経過時間である変数varを引きます。

変数waitに残り時間がミリ秒でセットされます。

wait=num:wait/1000

変数waitはミリ秒での数値なので、それを秒に直す為に1000で割ります。

任意のプログラム箇所から61分後

stm=num:@now

任意のプログラム箇所で変数stmに現在時刻[@now]をセットします。
固定プログラム等でプログラム開始時刻[@start]が使えない時等に使います。

wait=num:@now-stm

変数stmのセット時刻から現在時刻までの経過時間を変数waitにセットします。

wait=num:3660000-wait

61分をミリ秒で表示すると[3660000]、そこから経過時間である変数waitを引きます。

変数waitに残り時間がミリ秒でセットされます。

wait=num:wait/1000

変数waitはミリ秒での数値なので、それを秒に直す為に1000で割ります。

時間のms(ミリ秒)早見表

60秒=60000(ms)
120秒=120000(ms)
180秒=180000(ms)
60分=60秒×60分=3600秒=3600000(ms)
61分=60秒×61分=3660秒=3660000(ms)
62分=60秒×62分=3720秒=3720000(ms)
63分=60秒×63分=3780秒=3780000(ms)
64分=60秒×64分=3840秒=3840000(ms)
65分=60秒×65分=3900秒=3900000(ms)
66分=60秒×66分=3960秒=3960000(ms)

日付文字列と時間文字列

時刻に関する数値を見ても何時何分か全くわかりませんが、【変数の特殊参照】で文字列に変換したものを表示させる事は出来ます。

但し、文字列ですからそこから計算は出来ません。ポップアップで表示させる場合や、ログを作成する場合等に使用します。

時刻を出したい場合【.asdate】で日付文字列(yyyy/MM/dd kk:mm:ss)になります。
時間を出したい場合【.astime】で時間文字列(hour:min:sec.ms)になります。
【.asstr】で数値をそのまま文字列に変換します。

【例】[var=num:1000]の場合
[var1=str:var.asdate]→1970/01/01 09:00:01
[var1=str:var.astime]→00:00:01:000
[var1=str:var.asstr]–→1000

 

具体的な使用方法についてはこちらをご覧ください。

コメント

  1. 快斗 より:

    関数がつかえないので記録を追加でしているのですがツムツム起動v5.2のプログラムを終了したところで止まってしまいます。
    どうすればいいでしょうか?

    • かのん かのん より:

      もし、ツムツム起動v5.2のプログラムをそのまま作成しているのでしたら、ツムツム起動v5.2の一番最後が「完了」になっているからではないでしょうか。

      • 完了 より:

        削除すれば宜しいのですか?
        完了の部分を

        • かのん かのん より:

          お分かりにならない様でしたら、関数を使ったプログラムを作成されることをお勧めします(^^)

          • 名無し より:

            出来たらそうしたいものですが無料版しかないもので

  2. かのん かのん より:

    私は1年以上無課金でしたが、課金してみてもっと早く課金すれば良かったと思いました!400円ですし(^^)

    私はFRepの回し者ではアリマセン。FRepのいちFUNです、念の為!

  3. HM より:

    はじめまして!
    宜しくお願い致します。
    frep初心者ですが色々拝見させて頂いて
    稼働させる事がようやく出来た所です。
    そこで最後に引っかかっているのが65分感覚で
    ハート送信を開始させたいのですが最後のハート受取迄が50分掛かったら15分待機、55分掛かったら10分待機として65分後にプログラム1からスタートさせるようにするには変数の設定はどうすればよろしいでしょうか?
    御教授の程宜しくお願い致します。

    • かのん かのん より:

      65分間隔で送信プログラムを繰返すのは「ランキング固定」という方式になります。
      こちらをご覧ください→プログラム【ランキング固定v2】(変数必須)
      https://autofrep.net/program_fix/

      こちらは61分で説明してありますので、65分(3900秒)にすれば宜しいかと思います。
      固定式はメリットとデメリットがあります。送信エラーでプログラムが止まったらそのままにならない様に、起動プログラムも一緒に作成されることをお勧めします。

スポンサーリンク
タイトルとURLをコピーしました