Jump to content
  • 0

JobMaster issue on T 3rd Class?


xVenDrick

Question


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  5
  • Reputation:   0
  • Joined:  06/03/19
  • Last Seen:  

Hi!

I do not know if it's right or it's a flaw, but I noticed that when you use the NPC Job Master (Rathena / NPC / Custom / jobmaster.txt) to switch to 3rd Class (Regular) and then "Rebirth",
you get stuck in High First Class. You cannot switch from High First Class to Transcendent 2nd Class again, instead, the Change to "Unknown JOB Class" option appears and gets stuck in it.

Exemple:

Novice > 1st Class > 2nd Class > Rebirth > High Novice > High 1st Class > Transcedent 2nd Class > Transcedent 3rd Class. OK

But when:

Novice > 1st Class > 2nd Class > 3rd Class (Regular) > Rebirth > High Novice > High 1st Class > X "Unknow Job Class".

Is it right?

Would not be:  Novice > 1st Class > 2nd Class > 3rd Class (Regular) > Rebirth > High Novice > High 1st Class > Transcedent 2nd Class > Transcedent 3rd Class?

I'm confused.

 
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  70
  • Reputation:   0
  • Joined:  06/19/18
  • Last Seen:  

Its supposed to be novice > 1st job> 2nd job >rebirth high novice > 1st high job > 2nd high job > 3rd job

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  5
  • Reputation:   0
  • Joined:  06/03/19
  • Last Seen:  

On 6/23/2019 at 7:20 PM, Psy Ops said:

Its supposed to be novice > 1st job> 2nd job >rebirth high novice > 1st high job > 2nd high job > 3rd job

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:

Quote

Novice > 1st Class > 2nd Class > Rebirth > High Novice > High 1st Class > Transcedent 2nd Class > Transcedent 3rd Class.

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

???

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...