summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid <reidyaro@gmail.com>2011-12-14 00:09:36 +0100
committerReid <reidyaro@gmail.com>2011-12-14 00:09:36 +0100
commitaa92c60547ab2bfac6947959df2fa59645b339cb (patch)
treeb42882af15d07f84a122f998602a590cd53da3db
parente8e04225801e2df213f1127761c98b9c6d82e523 (diff)
downloadserverdata-aa92c60547ab2bfac6947959df2fa59645b339cb.tar.gz
serverdata-aa92c60547ab2bfac6947959df2fa59645b339cb.tar.bz2
serverdata-aa92c60547ab2bfac6947959df2fa59645b339cb.tar.xz
serverdata-aa92c60547ab2bfac6947959df2fa59645b339cb.zip
Add peter script on 000-2-1 map and in _import.txt,
Changed starting location in char_athena.conf .
-rw-r--r--conf/char_athena.conf6
-rw-r--r--npc/000-2-1/_import.txt3
-rw-r--r--npc/000-2-1/peter.txt195
3 files changed, 200 insertions, 4 deletions
diff --git a/conf/char_athena.conf b/conf/char_athena.conf
index 094a4dfe..526f1e22 100644
--- a/conf/char_athena.conf
+++ b/conf/char_athena.conf
@@ -44,9 +44,9 @@ backup_txt_flag: no
backup_txt: save/athena_backup.txt
// Start point, Map name followed by coordinates (x,y)
-start_point: 001-2-1.gat,22,36
-start_point2: 001-2-1.gat,31,37
-start_point3: 001-2-1.gat,40,38
+start_point: 000-0.gat,23,23
+start_point2: 000-0.gat,23,23
+start_point3: 000-0.gat,23,23
// Starting weapon for new characters
start_weapon: 1300
diff --git a/npc/000-2-1/_import.txt b/npc/000-2-1/_import.txt
index cb3d0a98..d5fc532c 100644
--- a/npc/000-2-1/_import.txt
+++ b/npc/000-2-1/_import.txt
@@ -2,4 +2,5 @@ map: 000-2-1.gat
npc: npc/000-2-1/_mobs.txt
npc: npc/000-2-1/_warps.txt
npc: npc/000-2-1/alige.txt
-npc: npc/000-2-1/ronan.txt \ No newline at end of file
+npc: npc/000-2-1/ronan.txt
+npc: npc/000-2-1/peter.txt \ No newline at end of file
diff --git a/npc/000-2-1/peter.txt b/npc/000-2-1/peter.txt
new file mode 100644
index 00000000..fe1ac76f
--- /dev/null
+++ b/npc/000-2-1/peter.txt
@@ -0,0 +1,195 @@
+// Evol scripts.
+// Authors:
+// Vasily_Makarov
+// 4144
+// Description:
+// Rat killer NPC
+// 4 bits array:
+// ShipQuests
+// Variable:
+// 1
+// Values:
+// 0+0+0 default
+// 0+1+0 completed bonus task
+// 0+2+0 got bonus task
+// 0+3+0 got non-bonus task
+// 1+3+0 got non-bonus task and bonus task was completed
+// 0+2+3 was warped with bonus task
+// 0+3+3 was warped with non-bonus task
+// 1+3+3 was warped with non-bonus task and bonus task was completed
+// "000-2-2.gat" - map with mobs
+
+000-2-1.gat,61,34,0,1 script AreaNPC 0,0,1,{
+ OnTouch:
+ //Stop when level less than 5
+ if (BaseLevel < 5) goto l_Stop;
+
+ set @q, geta4(ShipQuests, 1);
+ //If player got task, but wasn't warped
+ if (@q > 1 && @q < 5) goto l_Warp;
+ //If player was warped
+ if (@q > 4) goto l_Check;
+ //If map is full of mobs and helper is free
+ if (getmapmobs("001-2-2.gat") == 2 && $@RAT_SAILOR_HELPER$ == "") goto l_GiveTask;
+ //Otherway
+ doevent "Peter::OnDontNeedHelp";
+ close;
+
+ l_Stop:
+ doevent "Peter::OnStop";
+ close;
+
+ l_Warp:
+ seta4 ShipQuests, 1, @q+3;
+ warp "001-2-2.gat", 0, 0;
+ close;
+
+ l_Check:
+ doevent "Peter::OnCheck";
+ close;
+
+ l_GiveTask:
+ doevent "Peter::OnGiveTask";
+
+}
+
+000-2-1.gat,60,35,0,1 script Peter 303,{
+
+ if (BaseLevel < 5) goto OnStop;
+
+ mesn;
+ mesq g(l("Hey, girl!"), l("Hey, man!"));
+ next;
+
+ set @q, geta4(ShipQuests, 1);
+
+ //If player wasn't warped and player is helper
+ if (@q < 5 && $@RAT_SAILOR_HELPER$ == strcharinfo(0)) goto l_TaskWasGiven;
+
+ //If player got task and helper is other or player was warped
+ if (@q > 1) goto l_Fail;
+
+ //If map is full of mobs and helper is free
+ if (getmapmobs("001-2-2.gat") == 2 && $@RAT_SAILOR_HELPER$ == "") goto OnGiveTask;
+
+ goto OnDontNeedHelp;
+ close;
+
+ OnStop:
+ mesn;
+ mesq l("You can't go there!");
+ mesq g(l("I need help for cleaning the wedge of the ship, but you aren't strong enough to help me.#0"), l("I need help for cleaning the wedge of the ship, but you aren't strong enough to help me.#1"));
+ close;
+
+ OnGiveTask:
+ mesn;
+ mesq l("I need somebody who can clean the bottom of the ship, can you help me?");
+ set @q, geta4(ShipQuests, 1);
+ menu
+ rif(@q == 0, l("Yeah, but what reward will I get?")), l_BonusTask,
+ l("Why not, I need to train anyway."), l_Task,
+ l("No, they are way too dangerous for me!"), -;
+ mesq l("Ok, ok. Come back if you change your mind.");
+ close;
+
+ OnDontNeedHelp:
+ mesn;
+ mesq l("I don't need your help right now, come back later.");
+ if ($@RAT_SAILOR_HELPER$ == "") close;
+ mesq $@RAT_SAILOR_HELPER$ + " " + l("is helping me.");
+ close;
+
+ OnTimer300000:
+ stopnpctimer;
+
+ //Attach player if possible, otherway free helper
+ if (attachrid(getcharid(3, $@RAT_SAILOR_HELPER$)) == 0) goto l_KillHelper;
+
+ warp "001-2-1.gat", 61, 37;
+ goto OnCheck;
+ detachrid;
+ close;
+
+ OnCheck:
+ stopnpctimer;
+
+ mesn;
+ mesq l("Let me see your work...");
+ next;
+
+ set @q, geta4(ShipQuests, 1);
+ if (getmapmobs("001-2-2.gat") || $@RAT_SAILOR_HELPER$ != strcharinfo(0)) goto l_Fail;
+ set $@RAT_SAILOR_HELPER$, "";
+
+ if (@q == 5) goto l_Reward;
+
+ set @q, @q - 4;
+ if (@q > 1) set @q, @q - 2;
+ seta4 ShipQuests, 1, @q;
+ mesn;
+ mesq l("Good job!");
+ close;
+
+ l_BonusTask:
+ set @q, geta4(ShipQuests, 1);
+ mesn;
+ mesq l("I will give you @@gp.", 1000);
+ menu
+ g(l("Okay, I'm ready to work!#0"), l("Okay, I'm ready to work!#1")), -,
+ l("What? This reward is too small!"), l_Close;
+ if ($@RAT_SAILOR_HELPER != "") goto OnDontNeedHelp;
+ seta4 ShipQuests, 1, 2;
+ goto l_Start;
+
+ l_Task:
+ if ($@RAT_SAILOR_HELPER != "") goto OnDontNeedHelp;
+ seta4 ShipQuests, 1, geta4(ShipQuests, 1) + 3;
+ goto l_Start;
+
+ l_Start:
+ mesn;
+ mesq l("Okay, you can start!");
+ set $@RAT_SAILOR_HELPER$, strcharinfo(0);
+ startnpctimer;
+ close;
+
+ l_TaskWasGiven:
+ mesn;
+ mesq l("You can start now.");
+ close;
+
+ l_SetCollectDelay:
+ set $@RAT_SAILOR_COLLECT_DELAY, 1;
+ close;
+
+ l_Fail:
+ mesn;
+ mesq g(l("You failed the task!#0"), l("You failed the task!#1"));
+ set $@RAT_SAILOR_HELPER$, "";
+ set @q, geta4(ShipQuests, 1);
+ if (@q == 5 || @q == 2) goto l_FailBonusTask;
+ if (@q > 5) set @q, @q - 6;
+ if (@q > 2) set @q, @q - 3;
+ seta4 ShipQuests, 1, @q;
+ close;
+
+ l_KillHelper:
+ set $@RAT_SAILOR_HELPER$, "";
+ close;
+
+ l_FailBonusTask:
+ seta4 ShipQuests, 1, 0;
+ close;
+
+ l_Reward:
+ seta4 ShipQuests, 1, 1;
+ mesn;
+ mesq l("Good job!") + " " + l("Here is your reward!");
+ getexp 100, 0;
+ set zeny, zeny + 1500;
+ close;
+
+ l_Close:
+ close;
+
+}