prontera,152,192,6 script Build Manager 930,{
function Get_Menu; function Save_Build; function Load_Build;
set .@BuildCount,4; // Number of builds to use
set .@Save,5000; // Zeny required to save a build
set .@Load,10000; // Zeny required to load a build
set .@Rename,1000; // Zeny required to rename a build
set .@MaxLevel,99; // Maximum base level (to prevent stat overflow)
set .@stpoint ,>300; // Stats point cant be more then 300 ( i added this )
if (BaseLevel < .@MaxLevel) { message strcharinfo(0),"You must be level "+.@MaxLevel+" to use this."; end; }
switch(select("Save Build...:Load Build...:Rename Build...:Close")) {
case 1:
if (.@Save) message strcharinfo(0),"It costs "+.@Save+" Zeny to save a build.";
set .@Build, Get_Menu(.@BuildCount);
if (Zeny<.@Save) { message strcharinfo(0),"Not enough Zeny."; close; }
if (.@stpoint >300) { message strcharinfo(0),"Statpoint cant be more then 300."; close; }
if (getd("Build_"+.@Build+"$")!="") {
message strcharinfo(0),"Overwrite previous build #"+.@Build+"?";
if(select("Save new build:Cancel")==2) close; }
Save_Build(.@Build);
message strcharinfo(0),"Type a name for your build.";
input getd("Build_"+.@Build+"n$");
message strcharinfo(0),"Build #"+.@Build+" ("+getd("Build_"+.@Build+"n$")+") saved.";
set Zeny, Zeny-.@Save;
close;
case 2:
if (.@Load) message strcharinfo(0),"It costs "+.@Load+" Zeny to load a build.";
set .@Build, Get_Menu(.@BuildCount);
if (getd("Build_"+.@Build+"$")=="") {
message strcharinfo(0),"No build info found."; close; }
if (Zeny<.@Load) { message strcharinfo(0),"Not enough Zeny."; close; }
Load_Build(getd("Build_"+.@Build+"$"));
message strcharinfo(0),"Build #"+.@Build+" loaded.";
set Zeny, Zeny-.@Load;
close;
case 3:
if (.@Rename) message strcharinfo(0),"It costs "+.@Rename+" Zeny to rename a build.";
set .@Build, Get_Menu(.@BuildCount);
if (getd("Build_"+.@Build+"$")=="") {
message strcharinfo(0),"No build info found."; close; }
if (Zeny<.@Rename) { message strcharinfo(0),"Not enough Zeny."; close; }
message strcharinfo(0),"Type a new name for Build #"+.@Build+" ("+getd("Build_"+.@Build+"n$")+").";
input getd("Build_"+.@Build+"n$");
message strcharinfo(0),"Build #"+.@Build+" renamed.";
set Zeny, Zeny-.@Rename;
close;
case 4:
close; }
function Get_Menu {
set .@menu$,"";
for(set .@i,1; .@i<=getarg(0); set .@i,.@i+1)
set .@menu$, .@menu$+"Slot "+.@i+" ("+((getd("Build_"+.@i+"n$")=="")?"^777777empty":"^0055FF"+getd("Build_"+.@i+"n$"))+"^000000):";
return select(.@menu$); }
function Save_Build {
set .@s$,"";
for(set .@i,13; .@i<19; set .@i,.@i+1)
set .@s$,.@s$+readparam(.@i)+"|";
setd "Build_"+getarg(0)+"$", .@s$+StatusPoint;
return; }
function Load_Build {
ResetStatus;
explode(.@s$,getarg(0),"|");
for(set .@i,0; .@i<6; set .@i,.@i+1)
statusup2 (.@i+13), atoi(.@s$[.@i])-1;
set StatusPoint, atoi(.@s$[6]);
return; }
}