diff options
Diffstat (limited to 'npc/001-2-22/peter.txt')
-rw-r--r-- | npc/001-2-22/peter.txt | 335 |
1 files changed, 0 insertions, 335 deletions
diff --git a/npc/001-2-22/peter.txt b/npc/001-2-22/peter.txt deleted file mode 100644 index 0365392af..000000000 --- a/npc/001-2-22/peter.txt +++ /dev/null @@ -1,335 +0,0 @@ -// Evol scripts. -// Authors: -// 4144 -// Ablu -// Alastrim -// Qwerty Dragon -// Reid -// Vasily_Makarov -// Description: -// Rat hunter. -// 4+2 bits array: -// ShipQuests -// Variable: -// ShipQuests_Peter -// Values: -// 0 Doesn't know the quest. -// 1 Task given. -// 2 Task given and reward expected. -// 3 Task completed without reward. -// 4 Asked for reward after completion of the task. -// 5 Task done and reward given. -// 6 Did not start the quest. -// Others: -// .@peter = Peter#001-2-22 variable. -// "001-2-23" - map with mobs. -// "$@ARTIS_RAT1_HELPER$" - Name of the participant. -// "$@ARTIS_RAT1_DEATHS - Number of deaths when the participant starts the fight. -// "$@ARTIS_RAT1_CONTROL" - Explanation of each index of the array. -// "$@ARTIS_RAT1_OLD_HELPER$" - Name of the participant. -// "$@ARTIS_RAT1_COUNTDOWN" - Seconds since the epoch of when the player done the quest. -// [1] = Shows status of ratto number 1 (1 is dead and 0 is alive). -// [2] = Shows status of ratto number 2 (1 is dead and 0 is alive). -// [3] = Shows status of ratto number 3 (1 is dead and 0 is alive). -// [4] = Shows status of ratto number 4 (1 is dead and 0 is alive). -// [5] = Shows how many seconds passed since ratto number 1 died. -// [6] = Shows how many seconds passed since ratto number 2 died. -// [7] = Shows how many seconds passed since ratto number 3 died. -// [8] = Shows how many seconds passed since ratto number 4 died. -// [9] = Shows how many seconds passed since the player started the quest. -// [10] = Shows how many seconds passed since the player done the quest. - -001-2-22,72,34,0 script AreaNPC#001-2-22 NPC_HIDDEN,0,1,{ - -OnTouch: - if (BaseLevel < 5) goto L_Stop; - if ($@ARTIS_RAT1_COUNTDOWN == 0) goto L_NoCountDown; - if ((gettimetick(2) - $@ARTIS_RAT1_COUNTDOWN) < 10) goto L_NoGoodTick; - if (($@ARTIS_RAT1_OLD_HELPER$ == strcharinfo(0)) && ((gettimetick(2) - $@ARTIS_RAT1_COUNTDOWN) < 60)) goto L_NoGoodTick; - $@ARTIS_RAT1_COUNTDOWN = 0; - -L_NoCountDown: - if ($@ARTIS_RAT1_HELPER$ != "") goto L_Occupied; - .@peter = getq(ShipQuests_Peter); - if (.@peter < 1 || .@peter > 5) goto L_Task; - if (.@peter == 1 || .@peter == 2) goto L_Rfail; - if (.@peter == 3 || .@peter == 4) goto L_Rwin; - if (.@peter > 5) goto L_SecondTime; - doevent "Peter#001-2-22::OnReturnWin"; - close; - -L_Stop: - doevent "Peter#001-2-22::OnStop"; - - close; - -L_Occupied: - doevent "Peter#001-2-22::OnDontneedHelp"; - - close; - -L_Task: - doevent "Peter#001-2-22::OnGiveTask"; - - close; - -L_Rfail: - doevent "Peter#001-2-22::OnReturnFail"; - - close; - -L_Rwin: - doevent "Peter#001-2-22::OnReturnWin"; - - close; - -L_NoGoodTick: - doevent "Peter#001-2-22::OnNoGoodTick"; - - close; -} - -001-2-22,70,35,0 script Peter#001-2-22 NPC_RATTO_SAILOR,{ - if (BaseLevel < 5) goto OnTooWeak; - if ($@ARTIS_RAT1_COUNTDOWN == 0) goto L_NoCountDown; - if ((gettimetick(2) - $@ARTIS_RAT1_COUNTDOWN) < 10) goto OnNoGoodTick; - if (($@ARTIS_RAT1_OLD_HELPER$ == strcharinfo(0)) && ((gettimetick(2) - $@ARTIS_RAT1_COUNTDOWN) < 60)) goto OnNoGoodTick; - $@ARTIS_RAT1_COUNTDOWN = 0; - -L_NoCountDown: - .@peter = getq(ShipQuests_Peter); - if (.@peter == 1 || .@peter == 2) goto OnReturnFail; - if (.@peter == 3 || .@peter == 4 || .@peter == 5) goto OnReturnWin; - -OnGiveTask: - setq ShipQuests_Peter, 6; - .@peter = getq(ShipQuests_Peter); - mesn; - mesq lg("Hey, girl!", "Hey, man!"); - next; - mesq l("I need somebody who can rid the hold of the ship of these rattos. Can you help me?"); - next; - - menu - 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!"), -; - - mes ""; - mesn; - mesq l("Hehe, hehe. Well, come back if you change your mind."); - - goto L_Quit; - -OnTooWeak: - mesn; - mesq lg("I need someone to help me clean the edge of the ship, but you aren't strong enough for now."); - - goto L_Quit; - -OnStop: - warp "001-2-22", 72, 36; - - mesn; - mesq l("You can't go there!"); - - close; - -OnReturnFail: - mesn; - mesq l("I see it's not so easy to get rid of these rattos. Do you want to try again?"); - next; - - menu - l("Yeah, but I would like to make sure I get a reward."), L_BonusTask, - l("Why not, I need to train anyway."), L_Task, - l("No, they are way too dangerous for me!"), -; - - mes ""; - mesn; - mesq l("Hehe, hehe. Well, come back if you change your mind."); - - goto L_Quit; - -OnReturnWin: - .@peter = getq(ShipQuests_Peter); - mesn; - mesq l("Thanks again for helping me. Drats these rattos for infesting our fair vessal! They are a permanent problem so I will always need your help to exterminate them in order to keep their number under control. Your help is very welcome indeed. Unfortunately, I can give you a reward only for the first extermination."); - next; - - if (.@peter == 3 || .@peter == 4) - menu - l("Did you say reward? I want it!"), L_BonusTask, - l("I am not worried about rewards. I just want to help."), L_Task, - l("Sorry, I am not in the mood for another fight with these rattos."), -; - - if (.@peter == 5) - menu - l("No problem, I can help you anyway."), L_Task, - l("Sorry, I am not in the mood for another fight with these rattos."), -; - - mes ""; - mesn; - mesq l("Hehe, hehe. Well, come back if you change your mind."); - - close; - -L_BonusTask: - mes ""; - mesn; - mesq l("What if I give you 1000 Esperin for that job, is it ok?"); - next; - - menu - lg("Okay, I'm ready to work!"), -, - l("What? This reward is too small!"), L_Quit; - - .@peter = getq(ShipQuests_Peter); - if ($@ARTIS_RAT1_HELPER$ != "") goto OnDontneedHelp; - if (.@peter == 6) setq ShipQuests_Peter, 2; - if (.@peter == 3) setq ShipQuests_Peter, 4; - .@peter = getq(ShipQuests_Peter); - goto L_Start; - -L_Task: - .@peter = getq(ShipQuests_Peter); - if ($@ARTIS_RAT1_HELPER$ != "") goto OnDontneedHelp; - if (.@peter == 6) setq ShipQuests_Peter, 1; - .@peter = getq(ShipQuests_Peter); - -L_Start: - mes ""; - mesn; - mesq l("Okay, you can start!"); - -OnStartOutside: - if ($@ARTIS_RAT1_HELPER$ != "") goto OnDontneedHelp; - $@ARTIS_RAT1_HELPER$ = strcharinfo(0); - $@ARTIS_RAT1_DEATHS = PC_DIE_COUNTER; - initnpctimer; - warp "001-2-23", 48, 28; - doevent "RattosControl#001-2-23::OnSpawn"; - - goto L_Quit; - -OnTimer2000: - if (attachrid(getcharid(3, $@ARTIS_RAT1_HELPER$)) == 0) goto L_Logoff; - $@ARTIS_RAT1_CONTROL[9] = $@ARTIS_RAT1_CONTROL[9] + 2; - if ($@ARTIS_RAT1_CONTROL[9] > 100) goto L_Timeout; - if (PC_DIE_COUNTER > $@ARTIS_RAT1_DEATHS) goto L_Dead; - if ($@ARTIS_RAT1_CONTROL[1] && $@ARTIS_RAT1_CONTROL[2] && $@ARTIS_RAT1_CONTROL[3] && $@ARTIS_RAT1_CONTROL[4]) goto L_Done; - if (getmapusers("001-2-23") == 0) goto L_CleaningEnd; - goto L_CheckRattos; - - end; - -L_CheckRattos: - if ($@ARTIS_RAT1_CONTROL[1]) $@ARTIS_RAT1_CONTROL[5] = $@ARTIS_RAT1_CONTROL[5] + 2; - if ($@ARTIS_RAT1_CONTROL[2]) $@ARTIS_RAT1_CONTROL[6] = $@ARTIS_RAT1_CONTROL[6] + 2; - if ($@ARTIS_RAT1_CONTROL[3]) $@ARTIS_RAT1_CONTROL[7] = $@ARTIS_RAT1_CONTROL[7] + 2; - if ($@ARTIS_RAT1_CONTROL[4]) $@ARTIS_RAT1_CONTROL[8] = $@ARTIS_RAT1_CONTROL[8] + 2; - if ($@ARTIS_RAT1_CONTROL[5] > 45) doevent "RattosControl#001-2-23::OnRatto1Respawn"; - if ($@ARTIS_RAT1_CONTROL[6] > 45) doevent "RattosControl#001-2-23::OnRatto2Respawn"; - if ($@ARTIS_RAT1_CONTROL[7] > 45) doevent "RattosControl#001-2-23::OnRatto3Respawn"; - if ($@ARTIS_RAT1_CONTROL[8] > 45) doevent "RattosControl#001-2-23::OnRatto4Respawn"; - -L_NotYet: - setnpctimer 0; - - end; - -OnDontneedHelp: - mesn; - mesq l("I don't need your help right now, come back later."); - next; - mesq l("@@ is helping me.", $@ARTIS_RAT1_HELPER$); - - goto L_Quit; - -L_Timeout: - mesn; - mesq l("Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later."); - warp "001-2-22", 72, 36; - - goto L_CleaningClose; - -L_Logoff: - goto L_CleaningEnd; - -L_Dead: -// Warps the dead body outside, so it does not interfere with the getmapusers check. - if (getmapusers("001-2-23") > 0) warp "001-2-22", 72, 36; - - goto L_CleaningEnd; - -L_Done: - $@ARTIS_RAT1_CONTROL[10] = $@ARTIS_RAT1_CONTROL[10] + 2; - if($@ARTIS_RAT1_CONTROL[10] < 5) goto L_NotYet; - .@peter = getq(ShipQuests_Peter); - if (.@peter == 2 || .@peter == 4) goto L_Reward; - warp "001-2-22", 72, 36; - - goto L_Thanks; - -L_CleaningEnd: - stopnpctimer; - $@ARTIS_RAT1_HELPER$ = ""; - $@ARTIS_RAT1_DEATHS = 0; - cleararray $@ARTIS_RAT1_CONTROL, 0, 11; - killmonster "001-2-23", "RattosControl#001-2-23::OnRatto1Death"; - killmonster "001-2-23", "RattosControl#001-2-23::OnRatto2Death"; - killmonster "001-2-23", "RattosControl#001-2-23::OnRatto3Death"; - killmonster "001-2-23", "RattosControl#001-2-23::OnRatto4Death"; - - end; - -L_CleaningClose: - stopnpctimer; - $@ARTIS_RAT1_OLD_HELPER$ = $@ARTIS_RAT1_HELPER$; - $@ARTIS_RAT1_HELPER$ = ""; - $@ARTIS_RAT1_DEATHS = 0; - cleararray $@ARTIS_RAT1_CONTROL, 0, 11; - killmonster "001-2-23", "RattosControl#001-2-23::OnRatto1Death"; - killmonster "001-2-23", "RattosControl#001-2-23::OnRatto2Death"; - killmonster "001-2-23", "RattosControl#001-2-23::OnRatto3Death"; - killmonster "001-2-23", "RattosControl#001-2-23::OnRatto4Death"; - $@ARTIS_RAT1_COUNTDOWN = gettimetick(2); - - close; - -L_Reward: - warp "001-2-22", 72, 36; - setq ShipQuests_Peter, 5; - .@peter = getq(ShipQuests_Peter); - mesn; - mesq l("Good job!") + " " + l("Here's your reward!"); - getexp 100, 0; - Zeny = Zeny + 1000; - message strcharinfo(0), l("You receive @@ E!", 1000); - - goto L_CleaningClose; - -L_Thanks: - mesn; - mesq l("Thanks for helping me!"); - .@peter = getq(ShipQuests_Peter); - if (.@peter == 1) setq ShipQuests_Peter, 3; - .@peter = getq(ShipQuests_Peter); - - goto L_CleaningClose; - -L_Quit: - .@peter = 0; - - close; - -OnNoGoodTick: - mesn; - mesq l("I don't need your help right now, come back later."); - close; - -OnInit: - .sex = G_MALE; - .distance = 3; - end; -} |