diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-08-07 23:18:09 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-08-07 23:18:09 -0300 |
commit | ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd (patch) | |
tree | 97f7411fc92e0f30a8f70044ddfe052dfb2a2ef9 /npc/functions/estate.txt | |
parent | 76114bfb1b5c966121d506a62317fb130a9872d9 (diff) | |
download | serverdata-ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd.tar.gz serverdata-ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd.tar.bz2 serverdata-ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd.tar.xz serverdata-ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd.zip |
Split Estate Functions in half. One will take primary functions.
The later one will take auxiliar functions (dialog helpers)
Diffstat (limited to 'npc/functions/estate.txt')
-rw-r--r-- | npc/functions/estate.txt | 273 |
1 files changed, 1 insertions, 272 deletions
diff --git a/npc/functions/estate.txt b/npc/functions/estate.txt index aa6bb33e4..6f8c2acfd 100644 --- a/npc/functions/estate.txt +++ b/npc/functions/estate.txt @@ -3,7 +3,7 @@ // Jesusalva // Description: // Real Estate System -// Script Helpers +// Primary Script Helpers // WARNING: They affect directly the real estate global variables! // This function reduces payment accordingly @@ -94,274 +94,3 @@ function script realestate_hasmobilia { return false; } - - -////////////////////////////////////////////////////////////////////////////// -///////////// Dialog Helpers -// "If you copy-paste the same line too often, make a function for it" - - -// Rent_Available Label -// Returns true regardless of player decision -// realestate_rent ( estate_id, price, <rent time> ) -function script realestate_rent { - .id=getarg(0); - .price=getarg(1); - .time=getarg(2, 2592000); // Defaults to 30 days - - do - { - mesc l("This Real Estate is available for rent for only @@ GP!", format_number(.price)); - .@gp=REAL_ESTATE_CREDITS+Zeny; - mesc l("You currently have: @@ GP and mobiliary credits", format_number(.@gp)); - next; - select - rif(.@gp > .price, l("Rent it! Make it mine!")), - l("Information"), - l("Don't rent it"); - - // You want to rent - if (@menu == 1) { - if ($ESTATE_RENTTIME[.id] > gettimetick(2)) { - mesc l("Somebody already rented it before you!"); - close; - } - REAL_ESTATE_CREDITS=REAL_ESTATE_CREDITS-.price; - if (REAL_ESTATE_CREDITS < 0) { - Zeny+=REAL_ESTATE_CREDITS; - REAL_ESTATE_CREDITS=0; - } - - // Payment done, you can now acquire the house for a month - $ESTATE_RENTTIME[.id]=gettimetick(2)+.time; - - // If you're not the previous owner - // Remove previous owner furniture and reset room password - if ($ESTATE_OWNER[.id] != getcharid(3)) { - /* - $ESTATE_MOBILIA_2[.id]=0; - $ESTATE_MOBILIA_4[.id]=0; - $ESTATE_MOBILIA_8[.id]=0; - $ESTATE_MOBILIA_32[.id]=0; - $ESTATE_MOBILIA_64[.id]=0; - $ESTATE_MOBILIA_128[.id]=0; - */ - $ESTATE_PASSWORD$[.id]=""; - $ESTATE_DOORBELL[.id]=false; - } - - // Register your info so you can manage it - $ESTATE_OWNER[.id]=getcharid(3); - $ESTATE_OWNERNAME$[.id]=strcharinfo(0); - - mesc l("Rent successful for 30 days!"); - } else if (@menu == 2) { - mesc l("You can rent this house to make it yours.") + " " + l("The rent lasts 30 days."); - mesc l("Then you'll be able to buy furniture and utility."); - mesc l("The door is password-protected, so your friends can enter but strangers stay outside."); - next; - mesc l("Both rent and furniture are bought using money, however, there are mobiliary credits."); - mesc l("Mobiliary Credits is a special currency which can only be used on real estate."); - mesc l("It's obtained with ADMINS or by selling furniture. It is sumed to money and used first."); - next; - } - } while (@menu == 2); - return true; -} - - - - - -// L_Manage Label -// Returns true regardless of player decision -// realestate_manage ( estate_id, price, <rent time> ) -function script realestate_manage { - .id=getarg(0); - .price=getarg(1); - .time=getarg(2, 2592000); // Defaults to 30 days - - do - { - mesc l("@@'s Estate", strcharinfo(0)); - mesc ".:: "+ l("Managment Menu") + " ::."; - - .@gp=REAL_ESTATE_CREDITS+Zeny; - mesc l("Rent time available: @@", FuzzyTime($ESTATE_RENTTIME[.id])); - mesc l("Total Credits and GP: @@", format_number(.@gp)); - mes ""; - mesc l("Rent Renew Price: @@ GP", format_number(.price)); - mesc l("Room password: @@", $ESTATE_PASSWORD$[.id]); - if ($ESTATE_DOORBELL[.id]) - mesc l("Doorbell is disabled"), 1; - - next; - select - l("Leave"), - l("Enable/disable doorbell"), - l("Set room password"), - rif(.@gp >= .price && $ESTATE_RENTTIME[.id] < gettimetick(2)+.time, l("Renew Rent")), - rif($@GM_OVERRIDE, l("Destroy all mobilia")), - rif($@GM_OVERRIDE, l("Expire rent time")); - - switch (@menu) { - case 1: - break; - case 2: - $ESTATE_DOORBELL[.id]=!$ESTATE_DOORBELL[.id]; - break; - case 3: - mesc l("(Leave the password blank to disable)"); - mesc l("Current Room password: @@", $ESTATE_PASSWORD$[.id]); - mesc l("Input new password: "); - input .@password$; - mesc l("Repeat new password: "); - input .@passwordc$; - if (.@password$ == .@passwordc$) { - $ESTATE_PASSWORD$[.id]=.@password$; - mesc l("Password changed with success!"), 3; - } else { - mesc l("The passwords doesn't match."), 1; - } - break; - case 4: - // The check is performed before showing the menu option - // I guess it could be hacked, but I'll probably see negative GP... - REAL_ESTATE_CREDITS=REAL_ESTATE_CREDITS-.price; - if (REAL_ESTATE_CREDITS < 0) { - Zeny+=REAL_ESTATE_CREDITS; - REAL_ESTATE_CREDITS=0; - } - - // Payment done, you can now acquire the house for a month - // If you lost the rent on the meanwhile, it'll renew - // If you lost the rent and somebody else rented it, you lose the GP - $ESTATE_RENTTIME[.id]+=.time; - break; - case 5: - mesc l("Are you sure? This cannot be undone!"), 1; - next; - if (validatepin()) { - $ESTATE_MOBILIA_2[.id]=0; - $ESTATE_MOBILIA_4[.id]=0; - $ESTATE_MOBILIA_8[.id]=0; - $ESTATE_MOBILIA_32[.id]=0; - $ESTATE_MOBILIA_64[.id]=0; - $ESTATE_MOBILIA_128[.id]=0; - $ESTATE_PASSWORD$[.id]=""; - $ESTATE_DOORBELL[.id]=false; - } - case 6: - mesc l("Are you sure? This cannot be undone!"), 1; - next; - if (validatepin()) { - $ESTATE_RENTTIME[.id]=gettimetick(2); - } - } - } while (@menu != 1); - return true; -} - - -// Piano Mobilia -// realestate_piano ( {mapname} ) -function script realestate_piano { - .@loc$=getarg(0, getmap()); - mesc l("Do you want to play a song?"); - mesc l("This is not saved."); - select - l("Nothing"), - l("Default"), - l("Indoors 1 (Peace)"), - l("Indoors 2 (Dimonds)"), - l("TMW Adventure"), - l("Sailing Away!"), - l("Magick Real"), - l("The Forest"), - l("Dragons and Toast"), - l("Unforgiving Lands"), - l("Arabesque (Action)"), - l("No Chains (Tulimshar)"), - l("School of Quirks (Candor)"), - l("Cake Town (Hurnscald)"), - l("Steam (LoF Village)"), - l("Woodland Fantasy"), - l("Birds in the Sunrise"); - - mes ""; - .@m$=""; - switch (@menu) { - case 1: - return; break; - case 2: - .@m$="8bit_the_hero.ogg"; break; - case 3: - .@m$="peace.ogg"; break; - case 4: - .@m$="peace2.ogg"; break; - case 5: - .@m$="tmw_adventure.ogg"; break; - case 6: - .@m$="sail_away.ogg"; break; - case 7: - .@m$="magick_real.ogg"; break; - case 8: - .@m$="dariunas_forest.ogg"; break; - case 9: - .@m$="dragon_and_toast.ogg"; break; - case 10: - .@m$="Unforgiving_Lands.ogg"; break; - case 11: - .@m$="Arabesque.ogg"; break; - case 12: - .@m$="mvrasseli_nochains.ogg"; break; - case 13: - .@m$="school_of_quirks.ogg"; break; - case 14: - .@m$="caketown.ogg"; break; - case 15: - .@m$="steam.ogg"; break; - case 16: - .@m$="woodland_fantasy.ogg"; break; - case 17: - .@m$="tws_birds_in_the_sunrise.ogg"; break; - - } - changemusic .@loc$, .@m$; - return; -} - - - -// Cauldron Mobilia -// realestate_cauldron ( ) -function script realestate_cauldron { - select - l("Alchemy"), - l("Crafting"); - mes ""; - if (@menu == 1) { - do { - mesc l("What will you brew today?"); - if (AlchemySystem(CRAFT_PLAYER)) - mesc l("Success!"), 3; - else - mesc l("That didn't work!"), 1; - next; - mesc l("Try again?"); - } while (askyesno() == ASK_YES); - } - else if (@menu == 2) { - do { - mesc l("What will you craft today?"); - if (SmithSystem(CRAFT_PLAYER)) - mesc l("Success!"), 3; - else - mesc l("That didn't work!"), 1; - next; - mesc l("Try again?"); - } while (askyesno() == ASK_YES); - } - return; -} - |