Small mistakes: instead of "end", use "close" after warping because you had a text box open. Also, the town warps don't include any end statement at all...
That aside, a few sections of this could be heavily condensed. For instance, instead of writing:
set lastmap$,"prontera";
set lastx,156;
set lasty,187;
warp "prontera",156,187;
break;
You could write:
warp "prontera",156,187; break;
// [other cases]
}
getmapxy(lastmap$,lastx,lasty,0);
close;
Also, instead of putting this Zeny check for every line:
if (Zeny < 1000) goto NoZenys;
You could end the script immediately if the player has no Zeny.
mes "Please be aware there is a small charge of 1000z for using my services";
if (Zeny < 1000) close;