From 8da05ee816d13eb654765bde12781108e83e40fc Mon Sep 17 00:00:00 2001 From: Micksha Date: Wed, 24 Oct 2018 22:54:02 +0200 Subject: Fix a few scripts, improve two maps --- maps/re/008-1.mcache | Bin 6870 -> 6872 bytes maps/re/008-2-2.mcache | Bin 117 -> 127 bytes npc/008-1/soul-menhir.txt | 2 +- npc/008-2-2/melinda.txt | 160 ++++++++++++++++++++++++++++++++++++++++++---- npc/008-2-6/alan.txt | 2 +- npc/_anchors.txt | 1 + 6 files changed, 150 insertions(+), 15 deletions(-) diff --git a/maps/re/008-1.mcache b/maps/re/008-1.mcache index 8672702d..b8d09505 100644 Binary files a/maps/re/008-1.mcache and b/maps/re/008-1.mcache differ diff --git a/maps/re/008-2-2.mcache b/maps/re/008-2-2.mcache index b98e0800..2ff1f27e 100644 Binary files a/maps/re/008-2-2.mcache and b/maps/re/008-2-2.mcache differ diff --git a/npc/008-1/soul-menhir.txt b/npc/008-1/soul-menhir.txt index dd1a6e38..3c295c92 100644 --- a/npc/008-1/soul-menhir.txt +++ b/npc/008-1/soul-menhir.txt @@ -4,7 +4,7 @@ // Description: // place of power, mana refills faster when sitting nearby -008-1,253,112,0 script Soul Menhir#hurnscald NPC_NO_SPRITE,{ +008-1,252,111,0 script Soul Menhir#hurnscald NPC_NO_SPRITE,{ end; diff --git a/npc/008-2-2/melinda.txt b/npc/008-2-2/melinda.txt index 445cfeae..66b30be3 100644 --- a/npc/008-2-2/melinda.txt +++ b/npc/008-2-2/melinda.txt @@ -1,22 +1,156 @@ + // Evol scripts. -// Author: -// Micksha +// Authors: +// Toams // Description: -// Melinda, waitress in Hurns` Rusty Pick. +// Melinda, Rusty Pick's waitress 008-2-2,40,29,0 script Melinda#008-2-2 NPC_MELINDA,1,1,{ - speech - l("Oh hey!"), - l("I would like to serve you a beer or a sandwich, or even a shot (alcohol is bad, remember)."), - l("But I am afraid we need Tomminator to teach me this."), - lg("So, see you later."); - +function StartConversation { + + .@tick = gettimetick(1); + if (.@tick > @Hurns_Rusty_Pick_WaitressTick + 10) + { + setarray .messages$[0], l("Welcome to our inn!"), + l("Welcome to the Rusty Pick."), + l("Please, have a seat."), + l("Lovely day, isn't it?"); + + .@r = rand(getarraysize(.messages$)); + .@msg$ = .messages$[.@r]; + npctalk3 .@msg$; + @Hurns_Rusty_Pick_WaitressTick = .@tick; + } + } + +mes ""; +mesn; +mesq l("Hi, sweetie! Want a fresh beer for 170 Florin?"); +switch (select(l("Sure! [Don't tip]"), + l("Sure! [Tip 5 Florin]"), + l("Sure! [Tip 10 Florin]"), + l("Nah, maybe later."))) +{ + case 1: + if (Zeny < 170) + goto L_NoMoney; + getinventorylist; + if (@inventorylist_count == 100 && countitem("Beer") == 0) + goto L_TooMany; + set Zeny, Zeny - 170; + getitem Beer, 1; + mes ""; + mesn; + mesq l("Pff... Nickel nurser!"); + goto L_Close; + case 2: + if (Zeny < 175) + goto L_NoMoney; + getinventorylist; + if (@inventorylist_count == 100 && countitem("Beer") == 0) + goto L_TooMany; + set Zeny, Zeny - 175; + getitem "Beer", 1; + mes ""; + mesn; + mesq l("Thanks for the tip!"); + goto L_Close; + case 3: + if (Zeny < 180) + goto L_NoMoney; + getinventorylist; + if (@inventorylist_count == 100 && countitem("Beer") == 0) + goto L_TooMany; + set Zeny, Zeny - 180; + getitem "Beer", 1; + mes ""; + mesn; + mesq l("Thank you, sweetie! Want to hear a secret?"); + switch (select(l("What is it, darling?"), + l("Nah, I don't feel like chatting."))) + { + case 1: + mes ""; + mesn; + mesq l("The master bowyer in this village used to construct exceptional bows. When you want one you should go and ask him."); + goto L_Close; + case 2: + goto L_No; + } + goto L_Close; + case 4: + goto L_No; +} + +L_NoMoney: + mes ""; + mesn; + mesq l("You look broke. Don't think that you can dine and dash here!"); + goto L_Close; + +L_No: + mes ""; + mesn; + mesq l("Just call me when you changed your mind."); + goto L_Close; + +L_Close: + initnpctimer; close; - + +L_TooMany: + mes ""; + mesn; + mesq l("You don't have room for a beer!"); + goto L_Close; + +OnTimer1000: + dographmovestep; + +OnTouch: + StartConversation; + end; + OnInit: .sex = G_FEMALE; - .distance = 2; - end; + .distance = 5; + .speed = 300; + initmovegraph "barkeeper", 43, 30, + "kfahr", 44, 36, + "l_table_b", 36, 36, + "l_table_r", 38, 33, + "m_table_l", 39, 33, + "m_table_b", 41, 36, + "r_table_r", 46, 32, + "bucket", 46, 30; + + + + setmovegraphcmd "barkeeper", "kfahr", 1, "dir 4; wait 1", + "barkeeper", "r_table_r", 1, "dir 2; wait 1", + "kfahr", "barkeeper", 1, "dir 4; wait 1; say Another round for kfahr's table.;" + "wait 1; say They sure are thirsty today;" + "wait 1; moveon", + "kfahr", "bucket", 1, "dir 4; wait 1; emote 1;"// todo: find angry emote + "wait 15; moveon", + "kfahr", "r_table_r", 1, "dir 2; wait 1", + "bucket", "l_table_b", 1, "dir 4; wait 1", + "bucket", "l_table_r", 1, "dir 2; wait 1", + "bucket", "m_table_l", 1, "dir 3; wait 1", + "bucket", "m_table_b", 1, "dir 4; wait 1", + "bucket", "r_table_r", 1, "dir 2; wait 1", + "bucket", "kfahr", 1, "dir 4; wait 1", + "l_table_b", "barkeeper", 1, "dir 4; wait 1", + "l_table_b", "bucket", 1, "dir 4; wait 1; emote 1;" // todo: find angry emote + "wait 15; moveon", + "l_table_b", "m_table_l", 1, "dir 1; wait 1", + "m_table_b", "l_table_b", 1, "dir 4; wait 1", + "r_table_r", "kfahr", 1, "dir 4; wait 1", + "m_table_l", "bucket", 1, "dir 4; wait 1", + "l_table_r", "kfahr", 1, "dir 4; wait 1"; + + + firstmove "wait 8"; + initnpctimer; } - diff --git a/npc/008-2-6/alan.txt b/npc/008-2-6/alan.txt index eebd11cd..35d75437 100644 --- a/npc/008-2-6/alan.txt +++ b/npc/008-2-6/alan.txt @@ -4,7 +4,7 @@ // Description: // Alan the bow-maker. -008-2-6,32,24,0 script Alan NPC_YOUNG_MAN_KFAHR,{ +008-2-6,31,26,0 script Alan NPC_YOUNG_MAN_KFAHR,{ function bow_intro { speech(4, diff --git a/npc/_anchors.txt b/npc/_anchors.txt index 3630ba7e..5142b8c9 100644 --- a/npc/_anchors.txt +++ b/npc/_anchors.txt @@ -19,6 +19,7 @@ OnInit: htput(.ht, "^LEG", "001-2-33 34 42"); htput(.ht, "^LIB", "001-2-4 42 35"); htput(.ht, "^LIGHT", "001-2-0 37 32"); + htput(.ht, "^LUVIA", "008-1 256 206"); htput(.ht, "^MERCH|^BANK", "001-2-19 28 30"); htput(.ht, "^MOON", "001-2-2 40 34"); htput(.ht, "^NARD", "000-2-3 21 28"); -- cgit v1.2.3-60-g2f50