diff options
author | Vasily_Makarov <danilka.pro@gmail.com> | 2011-12-14 19:21:49 +0400 |
---|---|---|
committer | Vasily_Makarov <danilka.pro@gmail.com> | 2011-12-14 19:21:49 +0400 |
commit | d50b69ad2815fdf38cdcd695b3277c1036f90bb2 (patch) | |
tree | 963060b76e1f026418c9b40e47758b9ec824fe8a | |
parent | f881271f719e2621cfe83db4e938be5156390ef7 (diff) | |
parent | bbe702eb25a12182b0626b8ccf3be31a6a2cc4f5 (diff) | |
download | serverdata-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.conf | 6 | ||||
-rw-r--r-- | npc/000-0-0/_import.txt | 1 | ||||
-rw-r--r-- | npc/000-0-0/julia.txt | 92 | ||||
-rw-r--r-- | npc/000-2-1/_import.txt | 3 | ||||
-rw-r--r-- | npc/000-2-1/peter.txt | 195 |
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; + +} |