summaryrefslogtreecommitdiff
path: root/doc/sample/npc_test_ev.txt
diff options
context:
space:
mode:
authorL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-03-31 18:57:22 +0000
committerL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-03-31 18:57:22 +0000
commit6f88f2409f1853ae205573257865462540f935fc (patch)
tree30598fa37157d159bce0f8712a8b2b38047e2eab /doc/sample/npc_test_ev.txt
parentd35717644b58c55b50098b3b0a08cf8002d39cca (diff)
downloadhercules-6f88f2409f1853ae205573257865462540f935fc.tar.gz
hercules-6f88f2409f1853ae205573257865462540f935fc.tar.bz2
hercules-6f88f2409f1853ae205573257865462540f935fc.tar.xz
hercules-6f88f2409f1853ae205573257865462540f935fc.zip
Moved /npc/sample/ to /doc/sample. These are examples, not actual npcs.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14277 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'doc/sample/npc_test_ev.txt')
-rw-r--r--doc/sample/npc_test_ev.txt146
1 files changed, 146 insertions, 0 deletions
diff --git a/doc/sample/npc_test_ev.txt b/doc/sample/npc_test_ev.txt
new file mode 100644
index 000000000..cc170373e
--- /dev/null
+++ b/doc/sample/npc_test_ev.txt
@@ -0,0 +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,155,180,0 script ev_doテスト 116,{
+ doevent "event_test2";
+}
+
+// ----------MOBによるイベント駆動のサンプル -------------
+// 倒すとイベント「event_test」を起こすモンスターの[召喚]
+prontera,150,185,0 script ev_mobテスト 116,{
+ monster "this",0,0,"Event_Mob2",1002,1,"event_test";
+}
+
+// ----------MOBによるイベント駆動のサンプル2-------------
+// 倒すとイベント「event_test3」を起こすモンスターの[配置]
+prontera,150,180,0 monster Event_Mob 1008,1,0,0,event_test3
+
+// ----------タイマによるイベント駆動のサンプル -------------
+// クリックすると5秒後にラベル「OnTimer」を実行するNPC
+// (イベント名に「NPC名::On〜で始まるラベル」を指定するとラベルを実行できる)
+prontera,155,185,0 script ev_timerテスト 116,{
+ addtimer 5000,"ev_timerテスト::OnTimer";
+ end;
+OnTimer:
+ mes "5秒経ちました";
+ close;
+}
+
+// ----------OnInit/チャットルームによるイベント駆動のサンプル -------------
+// マップサーバー起動時にラベル「OnInit」が実行され、チャットを作る
+// また、waitingroomの第3引数にイベントを設定する
+prontera,145,180,0 script ev_initテスト 116,{
+ end;
+OnInit:
+ waitingroom "OnInitテスト",1,"ev_initテスト::OnMax";
+ end;
+OnMax:
+ warpwaitingpc "prontera",155,190;
+ end;
+
+}
+
+// ----------時計によるイベント駆動のサンプル -------------
+// 指定の時刻や日付でイベントを実行する
+// announceに0x08フラグを指定しているところに注意してください。
+prontera,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,150,185,0 script event_test -1,{
+ announce strcharinfo(0) + " が召喚MOBを倒しました",2;
+ close;
+}
+
+// ----------イベントで、エリアを指定したサンプル------------
+// (155,185)から半径5セル以内でイベント「event_test2」が起こると実行される
+prontera,155,180,0 script event_test2 -1,5,5 {
+ announce "5セル以内でクリックしましたね",19;
+ close;
+}
+
+// ----------イベントで、エリアを-1にしたサンプル------------
+// 同じマップ鯖でイベント「event_test3」が起こると実行される
+prontera,150,180,0 script event_test3 -1,-1,-1 {
+ mes "配置MOB倒しましたね";
+ close;
+}
+
+
+
+// ------------------------------------------------------------------
+// イベントマップ用の設定
+// ------------------------------------------------------------------
+// (全てコメントアウトしてます)
+
+// ----------セーブ禁止のサンプル---------
+// このマップでログアウトすると、必ず プロンテラ の座標(156,190)に
+// セーブされる
+//prontera mapflag nosave prontera,156,190
+
+// ----------メモ禁止のサンプル---------
+// このマップではメモがとれない
+//prontera mapflag nomemo dummy
+
+// ----------テレポ禁止のサンプル---------
+// このマップでは蝿、蝶、テレポ、ポタが使えない
+// 注意:スクリプトのwarpの"Random","SavePoint"が無効になります
+//prontera mapflag noteleport dummy \ No newline at end of file