Hmm, oks, i'll try to modify the script. Thank You! ?
I just modified here:
function Can_Change_Third {
// To change to third class you either need to be:
// * Second Class
// * Transcendent Second Class
// * Baby Second Class
if( !.ThirdClass )
return false; // Third job change disabled
if( !(eaclass()&EAJL_2) )
return false; // Not second Class
if( eaclass()&EAJL_THIRD )
return false; // Already Third Class
if( roclass(eaclass()|EAJL_THIRD) < 0 )
return false; // Job has no third Class
if( !(eaclass()&EAJL_UPPER )) // ~~~~~~~~~~~~~~~~~~~~ HERE <--------
return false;
if( (eaclass()&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE )
return false; // Exp. Super Novice equals 3rd Cls, but has it's own case
if( Is_Baby() && (!.BabyClass || !.BabyThird) )
return false; // No Baby (Third) change allowed
return true;
}
Then i'ts working like this:
Thank You! ?
I was trying to make the jobmaster ask for zeny, but i'm getting error: buildin_getarg: Index (idx=2) out of range (nargs)2.
i incriased the Req_*[0] arrays in level requerements like that:
// Level Requirements
setarray .Req_First[0],1,10,2000; // Minimum base level, job level to turn into 1st class
setarray .Req_Second[0],1,40,2000; // Minimum base level, job level to turn into 2nd class
setarray .Req_Rebirth[0],99,50,2000; // Minimum base level, job level to rebirth
setarray .Req_Third[0],99,500,2000; // Minimum base level, job level to change to third class
setarray .Req_Exp_NJ_GS[0],99,70,2000; // Minimum base level, job level to turn into Expanded Ninja and Gunslinger
setarray .Req_Exp_SNOVI[0],99,99,20000; // Minimum base level, job level to turn into Expanded Super Novice
.SNovice = 45,0,2000; // Minimum base level to turn into Super Novice
where "2000" would be the value of the zeny that the npc would ask for.
So I did:
if (BaseLevel < getarg(0) || JobLevel < getarg(1) || Zeny < getarg(2)) { // <<<<~~~~~~~~~~~~~~~~~~~~ Here...
.@blvl = getarg(0) - BaseLevel;
.@jlvl = getarg(1) - JobLevel;
.@pzeny = getarg(2) - Zeny; // <<<<~~~~~~~~~~~~~~~~~~~~ Here...
mes "Level requirement:";
mes ((getarg(0)>1)?
"^bb0000"+getarg(0)+"^000000 (^bb0000Base^000000) / ":"")+"^00bb00"+
getarg(1)+"^000000 (^00bb00Job^000000) / "+
"^00bb00"+getarg(2)+"^000000 (^00bb00Zeny^000000)"; // <<<<~~~~~~~~~~~~~~~~~~~~ Here...
mes "You need " +
((.@blvl > 0) ? "^bb0000"+.@blvl+"^000000 more base levels " +
((.@jlvl > 0) ? "and " : "") : "") +
((.@jlvl > 0) ? "^00bb00"+.@jlvl+"^000000 more job levels " +
((.@pzeny > 0) ? "and " : "") : "") +
((.@pzeny > 0) ? "^00bb00"+.@pzeny+"^000000 Zeny " : "") + // <<<<~~~~~~~~~~~~~~~~~~~~ Here...
"to continue.";
close;
}
return;
But the array is not reaching the thrid position "getarg(2)".
Any help? ^^
function Job_Options {
.@argcount = getargcount();
.@arr_size = getarraysize(getarg(0));
for( .@i = 1; .@i < .@argcount; .@i++) {
setarray getelementofarray(getarg(0), .@arr_size++),getarg(.@i);
}
}
???