# イベントを設定回数だけ実行する

マニュアル > サーバ作成ガイド > イベント編 > イベントの応用 > # イベントを設定回数だけ実行する |

概要

イベントをある回数だけ発生させたい場合の設定方法について解説します。

例として、１０回イベントが発生したらイベントを無効にします。

この機能のサンプルは、以下からご利用頂けます。

設定ファイル：　event_sample04.txt

「U01.F01.T01」がONになると「E02」を有効にし、「A02」アクションを１０回実行した後に「E02」を無効にします。

システム構成

タグの設定

イベントを有効にするトリガとなるビットタグ「U01.F01.T01」を設定します。

また、カウンタ用の数値タグ「U01.F01.T02」を設定します。

アクションの設定

スクリプトアクション「A01」を追加し、スクリプトを下記のように設定する。

U01.F01.T02 = 10 //Event/E02!Enable = 1

ここでU01.F01.T02に設定した値が実行回数になります。

イベントの設定

タグイベント「E01」及び定周期イベント「E02」を追加します。

E01：

•タグ「U01.F01.T01」

•比較条件「タグ値が=比較値」

•比較値「TRUE」

•実行アクション「A01」

E02:

•周期を１秒に設定

•初期状態を無効にするため、「無効にする」をチェック

解説

このサンプルを実行すると以下のような動作となります。

▪ビットON時

1.U01.F01.T01がTRUEになるとタグイベント「E01」が発生し、スクリプトVer1アクション「A01」が実行される

2.「A01」では「U01.F01.T02 = 10」の式が実行され、10が設定される

3.同時に「//Event/E02!Enable = 1」の式が実行され、イベント「E02」が有効になる

▪定周期イベント「E02」が有効中

1.「E02」により、ターゲットアクション「A02」が１秒ごとに実行される

2.処理が終了後、「U01.F01.T02 = U01.F01.T02 – 1」の式が実行され、タグ値は毎回1ずつ減算される

3.同時に「//Event/E02!Enable = U01.F01.T02 > 0」の式が実行される。「U01.F01.T02」が0より大きい時は特に変化無し。「U01.F01.T02」が0の時は、「E02」が無効になる