// 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; }