From 8a4bf716002a017de77fe7df301ef8e4aaf00a2e Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 9 Apr 2021 11:00:49 -0300 Subject: Initial commit --- npc/functions/savepoint.txt | 57 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 npc/functions/savepoint.txt (limited to 'npc/functions/savepoint.txt') diff --git a/npc/functions/savepoint.txt b/npc/functions/savepoint.txt new file mode 100644 index 00000000..46ef73e8 --- /dev/null +++ b/npc/functions/savepoint.txt @@ -0,0 +1,57 @@ +// Evol functions. +// Authors: +// gumi +// Reid +// Description: +// Adds a new save point location. +// Usage: +// savepointparticle; +// savepointparticle NO_INN; +// savepointparticle map, x, y, NO_INN; +// Description: +// Save location with arguments: +// getarg(0) map name, +// getarg(1) x's value, +// getarg(2) y's value, +// getarg(3) INN flag. + +function script savepointparticle { + + if (gettimetick(2) - @lastSave < 5) + return; + + .@mapname$ = getarg(0, ""); + .@mapx = getarg(1, -1); + .@mapy = getarg(2, -1); + .@i = 3; + + if (.@mapy < 1) + { + .@npc$ = strnpcinfo(0); + .@mapname$ = getvariableofnpc(.map$, .@npc$); + .@mapx = getvariableofnpc(.x, .@npc$); + .@mapy = getvariableofnpc(.y, .@npc$); + .@i = 0; + } + + // If this will override your current inn, a confirmation is required. + // Unless you already don't have a booked place, then, confirmation is never shown. + if (getarg(.@i, NO_INN) != INN_REGISTER && INN_REGISTER != NO_INN) + { + mesc l("Do you want to use this place as save point?"); + mesc b(l("Warning: ")) + l("Previous Inn reservation will be lost!"); + + if (askyesno() != ASK_YES) + close; + + INN_REGISTER = NO_INN; + } + + message strcharinfo(0), l("Your position has been saved."); + + savepoint .@mapname$, .@mapx, .@mapy; + specialeffect(4, SELF, getcharid(3)); + @lastSave = gettimetick(2); + + return; +} -- cgit v1.2.3-60-g2f50