diff options
Diffstat (limited to 'npc/sample/npc_test_ev.txt')
-rw-r--r-- | npc/sample/npc_test_ev.txt | 292 |
1 files changed, 146 insertions, 146 deletions
diff --git a/npc/sample/npc_test_ev.txt b/npc/sample/npc_test_ev.txt index a324f8800..e0303a61f 100644 --- a/npc/sample/npc_test_ev.txt +++ b/npc/sample/npc_test_ev.txt @@ -1,146 +1,146 @@ -// イベントのテストと解説
-//
-
-
-// * NPCの表示クラスを-1にするとイベントになり、実行可能になります。
-// * 通常のNPCでも以下のラベル付きイベントを使うことでイベントになれます。
-// * NPCスクリプトでOn〜で始まるラベルを定義すると、
-// ラベル付きのイベントとしてエクスポートし、実行可能になります。
-// * NPCイベントで"NPC名(orイベント名)::ラベル名"とすると、
-// 指定したラベルから実行できます。
-// * ラベル名は24バイト以内にして下さい。
-
-
-// ------------------------------------------------------------------
-// イベントの起こし方/起こり方
-// ------------------------------------------------------------------
-
-// 1.doeventコマンドで起こす
-// 2.MOBを倒したときに起こす
-// a. スクリプトmonsterコマンドの第7引数でイベント名を設定
-// b. monsterの配置の最後の引数でイベント名を設定
-// 3.マップ初期化時に起こる(OnInit)
-// 4.NPCチャットルームが満員になったときに起こる
-// 5.時計によって起こる
-// (OnMinute??,OnHour??,OnClock????,OnDate????) : ?は数字
-
-// 3,5の初期化イベント、時計イベントは、対象のPCを持たないイベントになります
-// よってPCを対象とするスクリプトを使うことは出来ません。
-// また、announceコマンドなどは0x08フラグを指定してNPC主体にする必要があります
-
-// ----------イベント駆動のサンプル -------------
-// クリックするとイベント「event_test2」を起こすNPC
-prontera.gat,155,180,0 script ev_doテスト 116,{
- doevent "event_test2";
-}
-
-// ----------MOBによるイベント駆動のサンプル -------------
-// 倒すとイベント「event_test」を起こすモンスターの[召喚]
-prontera.gat,150,185,0 script ev_mobテスト 116,{
- monster "this",0,0,"Event_Mob2",1002,1,"event_test";
-}
-
-// ----------MOBによるイベント駆動のサンプル2-------------
-// 倒すとイベント「event_test3」を起こすモンスターの[配置]
-prontera.gat,150,180,0 monster Event_Mob 1008,1,0,0,event_test3
-
-// ----------タイマによるイベント駆動のサンプル -------------
-// クリックすると5秒後にラベル「OnTimer」を実行するNPC
-// (イベント名に「NPC名::On〜で始まるラベル」を指定するとラベルを実行できる)
-prontera.gat,155,185,0 script ev_timerテスト 116,{
- addtimer 5000,"ev_timerテスト::OnTimer";
- end;
-OnTimer:
- mes "5秒経ちました";
- close;
-}
-
-// ----------OnInit/チャットルームによるイベント駆動のサンプル -------------
-// マップサーバー起動時にラベル「OnInit」が実行され、チャットを作る
-// また、waitingroomの第3引数にイベントを設定する
-prontera.gat,145,180,0 script ev_initテスト 116,{
- end;
-OnInit:
- waitingroom "OnInitテスト",1,"ev_initテスト::OnMax";
- end;
-OnMax:
- warpwaitingpc "prontera.gat",155,190;
- end;
-
-}
-
-// ----------時計によるイベント駆動のサンプル -------------
-// 指定の時刻や日付でイベントを実行する
-// announceに0x08フラグを指定しているところに注意してください。
-prontera.gat,145,185,0 script ev_clockテスト 116,{
- end;
-// 毎時5分
-OnMinute05:
- announce "毎時5分をお知らせします",8;
- end;
-// 毎日12時(24H)
-OnHour12:
- announce "正午のニュースです",8;
- end;
-// 23時59分
-OnClock2359:
- announce "あと1分で明日です",8;
- end;
-// 1月1日
-OnDate0101:
- announce "あけましておめでとうございます",8;
- end;
-}
-
-
-// ------------------------------------------------------------------
-// イベントスクリプトの作り方
-// ------------------------------------------------------------------
-// 表示クラスを-1にするとイベント扱いになり、名前がイベント名になる。
-// エリアを指定しない場合、同じマップ内がイベントを起こす範囲になる。
-// エリアを指定する場合、共に-1にすると同じマップ鯖ならマップが違っても
-// 駆動する。エリアは半径である。なお、イベントの起こる位置というのは、
-// 対象となるPCの座標である。たとえば、遠距離攻撃でMOBを倒したときに
-// 起こるイベントはMOBの座標ではなく、PCの座標なので注意。
-
-// ----------イベントで、エリアは指定していないサンプル------------
-// 同じマップ内でイベント「event_test」が起こると実行される
-prontera.gat,150,185,0 script event_test -1,{
- announce strcharinfo(0) + " が召喚MOBを倒しました",2;
- close;
-}
-
-// ----------イベントで、エリアを指定したサンプル------------
-// (155,185)から半径5セル以内でイベント「event_test2」が起こると実行される
-prontera.gat,155,180,0 script event_test2 -1,5,5 {
- announce "5セル以内でクリックしましたね",19;
- close;
-}
-
-// ----------イベントで、エリアを-1にしたサンプル------------
-// 同じマップ鯖でイベント「event_test3」が起こると実行される
-prontera.gat,150,180,0 script event_test3 -1,-1,-1 {
- mes "配置MOB倒しましたね";
- close;
-}
-
-
-
-// ------------------------------------------------------------------
-// イベントマップ用の設定
-// ------------------------------------------------------------------
-// (全てコメントアウトしてます)
-
-// ----------セーブ禁止のサンプル---------
-// このマップでログアウトすると、必ず プロンテラ の座標(156,190)に
-// セーブされる
-//prontera.gat mapflag nosave prontera.gat,156,190
-
-// ----------メモ禁止のサンプル---------
-// このマップではメモがとれない
-//prontera.gat mapflag nomemo dummy
-
-// ----------テレポ禁止のサンプル---------
-// このマップでは蝿、蝶、テレポ、ポタが使えない
-// 注意:スクリプトのwarpの"Random","SavePoint"が無効になります
-//prontera.gat mapflag noteleport dummy
+// イベントのテストと解説 +// + + +// * NPCの表示クラスを-1にするとイベントになり、実行可能になります。 +// * 通常のNPCでも以下のラベル付きイベントを使うことでイベントになれます。 +// * NPCスクリプトでOn〜で始まるラベルを定義すると、 +// ラベル付きのイベントとしてエクスポートし、実行可能になります。 +// * NPCイベントで"NPC名(orイベント名)::ラベル名"とすると、 +// 指定したラベルから実行できます。 +// * ラベル名は24バイト以内にして下さい。 + + +// ------------------------------------------------------------------ +// イベントの起こし方/起こり方 +// ------------------------------------------------------------------ + +// 1.doeventコマンドで起こす +// 2.MOBを倒したときに起こす +// a. スクリプトmonsterコマンドの第7引数でイベント名を設定 +// b. monsterの配置の最後の引数でイベント名を設定 +// 3.マップ初期化時に起こる(OnInit) +// 4.NPCチャットルームが満員になったときに起こる +// 5.時計によって起こる +// (OnMinute??,OnHour??,OnClock????,OnDate????) : ?は数字 + +// 3,5の初期化イベント、時計イベントは、対象のPCを持たないイベントになります +// よってPCを対象とするスクリプトを使うことは出来ません。 +// また、announceコマンドなどは0x08フラグを指定してNPC主体にする必要があります + +// ----------イベント駆動のサンプル ------------- +// クリックするとイベント「event_test2」を起こすNPC +prontera.gat,155,180,0 script ev_doテスト 116,{ + doevent "event_test2"; +} + +// ----------MOBによるイベント駆動のサンプル ------------- +// 倒すとイベント「event_test」を起こすモンスターの[召喚] +prontera.gat,150,185,0 script ev_mobテスト 116,{ + monster "this",0,0,"Event_Mob2",1002,1,"event_test"; +} + +// ----------MOBによるイベント駆動のサンプル2------------- +// 倒すとイベント「event_test3」を起こすモンスターの[配置] +prontera.gat,150,180,0 monster Event_Mob 1008,1,0,0,event_test3 + +// ----------タイマによるイベント駆動のサンプル ------------- +// クリックすると5秒後にラベル「OnTimer」を実行するNPC +// (イベント名に「NPC名::On〜で始まるラベル」を指定するとラベルを実行できる) +prontera.gat,155,185,0 script ev_timerテスト 116,{ + addtimer 5000,"ev_timerテスト::OnTimer"; + end; +OnTimer: + mes "5秒経ちました"; + close; +} + +// ----------OnInit/チャットルームによるイベント駆動のサンプル ------------- +// マップサーバー起動時にラベル「OnInit」が実行され、チャットを作る +// また、waitingroomの第3引数にイベントを設定する +prontera.gat,145,180,0 script ev_initテスト 116,{ + end; +OnInit: + waitingroom "OnInitテスト",1,"ev_initテスト::OnMax"; + end; +OnMax: + warpwaitingpc "prontera.gat",155,190; + end; + +} + +// ----------時計によるイベント駆動のサンプル ------------- +// 指定の時刻や日付でイベントを実行する +// announceに0x08フラグを指定しているところに注意してください。 +prontera.gat,145,185,0 script ev_clockテスト 116,{ + end; +// 毎時5分 +OnMinute05: + announce "毎時5分をお知らせします",8; + end; +// 毎日12時(24H) +OnHour12: + announce "正午のニュースです",8; + end; +// 23時59分 +OnClock2359: + announce "あと1分で明日です",8; + end; +// 1月1日 +OnDate0101: + announce "あけましておめでとうございます",8; + end; +} + + +// ------------------------------------------------------------------ +// イベントスクリプトの作り方 +// ------------------------------------------------------------------ +// 表示クラスを-1にするとイベント扱いになり、名前がイベント名になる。 +// エリアを指定しない場合、同じマップ内がイベントを起こす範囲になる。 +// エリアを指定する場合、共に-1にすると同じマップ鯖ならマップが違っても +// 駆動する。エリアは半径である。なお、イベントの起こる位置というのは、 +// 対象となるPCの座標である。たとえば、遠距離攻撃でMOBを倒したときに +// 起こるイベントはMOBの座標ではなく、PCの座標なので注意。 + +// ----------イベントで、エリアは指定していないサンプル------------ +// 同じマップ内でイベント「event_test」が起こると実行される +prontera.gat,150,185,0 script event_test -1,{ + announce strcharinfo(0) + " が召喚MOBを倒しました",2; + close; +} + +// ----------イベントで、エリアを指定したサンプル------------ +// (155,185)から半径5セル以内でイベント「event_test2」が起こると実行される +prontera.gat,155,180,0 script event_test2 -1,5,5 { + announce "5セル以内でクリックしましたね",19; + close; +} + +// ----------イベントで、エリアを-1にしたサンプル------------ +// 同じマップ鯖でイベント「event_test3」が起こると実行される +prontera.gat,150,180,0 script event_test3 -1,-1,-1 { + mes "配置MOB倒しましたね"; + close; +} + + + +// ------------------------------------------------------------------ +// イベントマップ用の設定 +// ------------------------------------------------------------------ +// (全てコメントアウトしてます) + +// ----------セーブ禁止のサンプル--------- +// このマップでログアウトすると、必ず プロンテラ の座標(156,190)に +// セーブされる +//prontera.gat mapflag nosave prontera.gat,156,190 + +// ----------メモ禁止のサンプル--------- +// このマップではメモがとれない +//prontera.gat mapflag nomemo dummy + +// ----------テレポ禁止のサンプル--------- +// このマップでは蝿、蝶、テレポ、ポタが使えない +// 注意:スクリプトのwarpの"Random","SavePoint"が無効になります +//prontera.gat mapflag noteleport dummy |