summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasily_Makarov <danilka.pro@gmail.com>2011-12-14 19:21:49 +0400
committerVasily_Makarov <danilka.pro@gmail.com>2011-12-14 19:21:49 +0400
commitd50b69ad2815fdf38cdcd695b3277c1036f90bb2 (patch)
tree963060b76e1f026418c9b40e47758b9ec824fe8a
parentf881271f719e2621cfe83db4e938be5156390ef7 (diff)
parentbbe702eb25a12182b0626b8ccf3be31a6a2cc4f5 (diff)
downloadserverdata-d50b69ad2815fdf38cdcd695b3277c1036f90bb2.tar.gz
serverdata-d50b69ad2815fdf38cdcd695b3277c1036f90bb2.tar.bz2
serverdata-d50b69ad2815fdf38cdcd695b3277c1036f90bb2.tar.xz
serverdata-d50b69ad2815fdf38cdcd695b3277c1036f90bb2.zip
Merge branch 'master' of gitorious.org:evol/serverdata-beta
-rw-r--r--conf/char_athena.conf6
-rw-r--r--npc/000-0-0/_import.txt1
-rw-r--r--npc/000-0-0/julia.txt92
-rw-r--r--npc/000-2-1/_import.txt3
-rw-r--r--npc/000-2-1/peter.txt195
5 files changed, 293 insertions, 4 deletions
diff --git a/conf/char_athena.conf b/conf/char_athena.conf
index 094a4dfec..526f1e227 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-0-0/_import.txt b/npc/000-0-0/_import.txt
index 466e7c8e3..111459ebb 100644
--- a/npc/000-0-0/_import.txt
+++ b/npc/000-0-0/_import.txt
@@ -1,3 +1,4 @@
map: 000-0-0.gat
npc: npc/000-0-0/_mobs.txt
npc: npc/000-0-0/_warps.txt
+npc: npc/000-0-0/julia.txt
diff --git a/npc/000-0-0/julia.txt b/npc/000-0-0/julia.txt
new file mode 100644
index 000000000..e3b40b252
--- /dev/null
+++ b/npc/000-0-0/julia.txt
@@ -0,0 +1,92 @@
+// Evol scripts.
+// Authors:
+// Vasily_Makarov
+// 4144
+// Description:
+// Allow change language and some speaking
+//
+// 2 bits Array:
+// ShipQuests
+// Variable:
+// ShipQuests_Julia
+// Values:
+// 0 first touch
+// 1 already touched
+
+000-2-0.gat,27,24,0,0 script Julia 304,2,10,{
+ mesn;
+ mesq g(l("Hello, girl!"), l("Hello, stranger!"));
+ mesq l("What do you want today?");
+ set @s$, l("I don't want change my language, sorry.");
+ l_Menu:
+ menu
+ g(l("I made a mistake, I would like to change my language.#0"), l("I made a mistake, I would like to change my language.#1")), l_ChooseLang,
+ l("Do you know some interesting people around here?"), l_People,
+ l("Where are we?"), l_Where,
+ l("Nothing, sorry"), l_Close;
+ mesn;
+ mesq l("Of course! Tell me which language you speak.");
+ goto l_ChooseLang;
+
+ l_First:
+ seta2 ShipQuests, ShipQuests_Julia, 1;
+ mesn;
+ mesq g(l("Hello, girl!"), l("Hello, stranger!"));
+ mesq l("I'm Julia, my job is to register every body which enter or exit the ship.");
+ mesq l("Could I ask you which language do you talk? Like that I add you on the list.");
+ set @s$, "";
+ goto l_ChooseLang;
+
+ l_ChooseLang:
+ menu
+ l("I speak English") + " (English)", -,
+ l("I speak Russian") + " (Русский)", -,
+ l("I speak Italian") + " (Italiano)", -,
+ l("I speak French") + " (Français)", -,
+ l("I speak Spanish") + " (Español)", -,
+ l("I speak Dutch") + " (Nederlands)", -,
+ l("I speak Flemish") + " (West-Vloams)", -,
+ l("I speak Greek") + " (Greek)", -,
+ l("I speak Indonesian") + " (Indonesian)", -,
+ @s$, l_NoChanges;
+ set @lang, @menu-1;
+ if (@lang < 0 || @lang > 8) close;
+ setlang @lang;
+ mesn;
+ mesq l("Ok, Done. You need something else?");
+ goto l_YNMenu;
+ close;
+
+ l_NoChanges:
+ mesn;
+ mesq l("No problem, do you need something else?");
+ l_YNMenu:
+ menu
+ l("Yes, please!"), l_Menu,
+ l("No, thanks!"), -;
+ close;
+
+ l_People:
+ mesn;
+ mesq l("Let me think...");
+ next;
+ mesn;
+ mesq g(l("You should go see the sailors around here.#0"), l("You should go see the sailors around here.#1")) + " " + l("They are really nice and may help you much more than me.");
+ next;
+ mesn;
+ mesq l("There is also Enora on the docks, it will be a pleasure for her to help you!", l("Enora"));
+ goto l_Menu;
+
+ l_Where:
+ mesn;
+ mesq l("We are at Artis, it's a big port-city, many beginners start their adventure here.", l("Enora")) + " " + g(l("Maybe you will be the next?#0"), l("Maybe you will be the next?#1"));
+ goto l_Menu;
+
+ l_Close:
+ close;
+
+ OnTouch:
+ set @q, geta2(ShipQuests, ShipQuests_Julia);
+ if (@q == 0) goto l_First;
+ close;
+}
diff --git a/npc/000-2-1/_import.txt b/npc/000-2-1/_import.txt
index cb3d0a981..d5fc532c9 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 000000000..dcc7950f0
--- /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("000-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 "000-2-2.gat", 48, 28;
+ 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("000-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 "000-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("000-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;
+
+}