//ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ\\
//||----------------------------------------------||\\
//|| Stat Upper                                   ||\\
//||----------------------------------------------||\\
//|| Written By: Izkuru                           ||\\
//||             teh_face_x_o@yahoo.com           ||\\
//|| Test With: OmniAthena 962                    ||\\
//||----------------------------------------------||\\
//|| NPC that will up the players stats above 99. ||\\
//|| Designed so that they still need the stat    ||\\
//|| points that they would need to buy them.     ||\\
//|| Uses a global var to specifiy price per      ||\\
//|| point.                                       ||\\
//||----------------------------------------------||\\
//|| To install: Place this TXT file anywhere in  ||\\
//|| your Athena scripts folder, and include it   ||\\
//|| in scripts.conf. Then add the following to   ||\\
//|| save/mapreg.txt.                             ||\\
//||----------------------------------------------||\\
//|| $statUpCost	250000                    ||\\
//||----------------------------------------------||\\
//|| Then, change the value as you see fit.       ||\\
//||----------------------------------------------||\\
//|| Started on: Jun 22 2004                      ||\\
//|| Last Modified: Jun 23 2004                   ||\\
//||----------------------------------------------||\\
//__________________________________________________\\

prontera.gat,153,193,4	script	Stat Upper	799,{
	mes "[Tidus]";
	mes "Hey there. I'm here for one reason. To raise your stats beyond the limit of 99.";
	next;
	mes "[Tidus]";
	mes "Sounds to good to be true? Well, it isn't. There is one catch, howerver.";
	next;
	mes "[Tidus]";
	mes "I can't do it for free, and you ^ff0000MUST^000000 have available Stat points.";
	next;
	mes "[Tidus]";
	mes "So, what do you say? " + $statUpCost + "z per stat point.";
	next;
		menu "Raise stats",L_Raise,"Nevermind",-;
		mes "[Tidus]";
		mes "Too bad. Let me know if you want to raise your stats some other time.";
		close;
	L_Raise:
		if(Readparam(9) <= 0) goto L_NoStP;
		mes "[Tidus]";
		mes "So, what stat do you want to raise?";
		next;
		menu "Strength",L_STR_up,"Agility",L_AGI_up,"Vitality",L_VIT_up,"Intelligence",L_INT_up,"Dexterity",L_DEX_up,"Luck",L_LUK_up,"Cancel",-;
			mes "[Tidus]";
			mes "Changed you mind? See you some other time then.";
		close;
	L_STR_up:
		set @stat,13;
		set @type$, "STR";
		Goto L_Give_Stats;
	L_AGI_up:
		set @stat,14;
		set @type$, "AGI";
		Goto L_Give_Stats;
	L_VIT_up:
		set @stat,15;
		set @type$, "VIT";
		Goto L_Give_Stats;
	L_INT_up:
		set @stat,16;
		set @type$, "INT";
		Goto L_Give_Stats;
	L_DEX_up:
		set @stat,17;
		set @type$, "DEX";
		Goto L_Give_Stats;
	L_LUK_up:
		set @stat,18;
		set @type$, "LUK";
		Goto L_Give_Stats;
L_Give_Stats:
	mes "[Tidus]";
	mes "Allright, now how many points do you want?";
	Input @ammount;
	if(@ammount < 1 || @ammount > 10) goto L_INV;
	mes "";
	mes "So, you want " + @ammount + " " + @type$ + " points?";
	mes "That will be ^006600" + @ammount * $statUpCost + "^000000z.";
	next;
	if(zeny < @ammount * $statUpCost) Goto L_Noz;
	set Zeny, zeny - (@ammount * $statUpCost);
	set @loop,0;
	L_Loop_Start:
		if(@loop == @ammount) Goto L_Loop_End;
		Statusup @stat;
		set @loop, @loop + 1;
	Goto L_Loop_Start;
	L_Loop_End:
	mes "[Tidus]";
	mes "There you go. Have a nice day.";
	close;
L_Noz:
	mes "[Tidus]";
	mes "Look, you don't have enough Zeny, so why are you trying to buy stats?";
close;
L_INV:
	next;
	mes "[Tidus]";
	mes "Please enter a positive number between 1 and 10 ~__~;";
close;
L_NoStP:
	mes "[Tidus]";
	mes "Dude, you don't even have any stat points, so why are you trying to buy stats?";
close;
}

    Source: geocities.com/teh_face_x_o