diff options
author | Reid <reidyaro@gmail.com> | 2011-12-14 00:09:36 +0100 |
---|---|---|
committer | Reid <reidyaro@gmail.com> | 2011-12-14 00:09:36 +0100 |
commit | aa92c60547ab2bfac6947959df2fa59645b339cb (patch) | |
tree | b42882af15d07f84a122f998602a590cd53da3db | |
parent | e8e04225801e2df213f1127761c98b9c6d82e523 (diff) | |
download | serverdata-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.conf | 6 | ||||
-rw-r--r-- | npc/000-2-1/_import.txt | 3 | ||||
-rw-r--r-- | npc/000-2-1/peter.txt | 195 |
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; + +} |