skip master / hero assign

08/27/2015 20:28 blacksystem1990#1
Actually, I wanted to remove completely the master/hero system but some peoples told me then the 3rd class won't work anymore, so i changed my mind.

I want to "skip" the master / hero class selection, and make it apply automatically (without having the user to "select the class" again) at a certain level without decreasing the level (in the case of master, so it won't return to 60 from 120), is that possible?

Just like, user level up to certain level and it gets assigned to master title automatically staying at that level, same with hero, etc.

How can i obtain that?
08/27/2015 20:38 Flogolo#2
And what if you set the lv 60 directly to master?
08/27/2015 21:31 blacksystem1990#3
Quote:
Originally Posted by Flogolo View Post
And what if you set the lv 60 directly to master?
That could be a solution, but then the user is prompted to "change" class, right?
If it does what I need, how can I do that? I mean, is it in moverparam.cpp ?

also I see in the source I use there is the "FASTJOBCHANGE" function, it does interfer with it?
08/27/2015 21:52 ghostiekitty#4
change max general level to 130, change 3rd job prerequisite to 2nd jobs, remove master/hero from fast job change.
08/27/2015 22:13 blacksystem1990#5
Quote:
Originally Posted by ghostiekitty View Post
change max general level to 130, change 3rd job prerequisite to 2nd jobs, remove master/hero from fast job change.
could be useful to point to the files to edit..

moverparam.cpp?
or wndchangejobex.cpp?
or definejob.h?
or is another file?

also, if i change the 3rd job with the 2nd job requirements, then i get conflict with MAX_JOB_LEVEL and MAX_EXP_LEVEL



EDIT:

so i putted MAX_GENERAL_LEVEL to 60, changed also MAX_EXP_LEVEL to 45, so the 2nd class choice is on level 60, based on that it should put the character in hero status when i chose the 2nd class, and skip the master decrease thing.

but nope, it doesn't, it repeats the same level 3 times in a row..

1st time: 2nd class choice
2nd time: it applies master class
3rd time: it applies hero class

so the player get stuck at level 60 for 3 more level ups and he have to choose the same class 3 times in a row..

I also tried removing the whole FASTJOBCHANGE thing relative to MAX_GENERAL_LEVEL from moverparam.cpp, doing so it prevents the class choice for master/hero, but the player gets stuck at level 60 with exp 99.99% and won't level up anymore.

What I need is to assign the player directly the hero status, bypassing the master decrease from 120 to 60, so the player can choose the 3rd class without having to do actually 190 levels instead of just 130.

how to solve this?
08/28/2015 03:34 ghostiekitty#6
If you have skype send me a private message with your username and I'll offer some help on what I mean.
08/28/2015 10:35 alfredico#7
I've completely removed the master/hero and skills. All you have to do is remove that parts of code and do the 3rd job change at lv130.

1-15 Vagrant
16-59 First class
60-129 Second class
130> Third class

You can find most of master/hero stuff in this definition #if __VER >= 10 // __LEGEND

And you can also clean defineJob.h file, but it's not necessary. This is how mine looks like:

Code:
#define JTYPE_COMMON 	  	0
#define JTYPE_BASE 			1
#define JTYPE_EXPERT    	2
#define JTYPE_PRO 			3
#define JTYPE_LEGEND_HERO	4

#define MAX_JOB_SKILL			3
#define MAX_EXPERT_SKILL		20
#define MAX_PRO_SKILL			20
#define MAX_LEGEND_HERO_SKILL	6
#define MAX_TROUPE_SKILL		9

#define MAX_BASE_LEVEL			15
#define MAX_EXP_LEVEL			60
#define MAX_GENERAL_LEVEL		120
#define MAX_LEGEND_LEVEL		130
#define MAX_3RD_LEGEND_LEVEL	175
#define MAX_CHARACTER_LEVEL		175
#define MAX_MONSTER_LEVEL		199

#define JOB_VAGRANT				0
#define JOB_MERCENARY			1
#define JOB_ACROBAT				2
#define JOB_ASSIST				3
#define JOB_MAGICIAN			4
#define JOB_KNIGHT				5
#define JOB_BLADE				6
#define JOB_JESTER				7
#define JOB_RANGER				8
#define JOB_RINGMASTER			9
#define JOB_BILLPOSTER			10
#define JOB_PSYCHIKEEPER		11
#define JOB_ELEMENTOR			12
#define	JOB_LORDTEMPLER_HERO	13
#define JOB_STORMBLADE_HERO		14
#define JOB_WINDLURKER_HERO		15
#define JOB_CRACKSHOOTER_HERO	16
#define JOB_FLORIST_HERO		17
#define JOB_FORCEMASTER_HERO	18
#define JOB_MENTALIST_HERO		19
#define JOB_ELEMENTORLORD_HERO	20

#define MAX_JOBBASE			1
#define MAX_EXPERT			5
#define MAX_PROFESSIONAL	13
#define MAX_LEGEND_HERO		21
#define MAX_JOB				21
#define JOB_ALL				21
08/28/2015 16:48 blacksystem1990#8
Yeah but removing the master/hero then all the features involving master/hero status stop working, unless you completely rewrite all the features.. which i don't want to do, it's a kind of useless and time consuming job.

I'd prefer to autoassign master/hero directly at a certain level
08/31/2015 19:35 blacksystem1990#9
bump
08/31/2015 20:42 alfredico#10
Increase max normal level to 130, then change job to 3rd jobs directly. Don't forget to remove stat points and skill points, icons in name, windows and so on.
08/31/2015 20:46 blacksystem1990#11
Quote:
Originally Posted by alfredico View Post
Increase max normal level to 130, then change job to 3rd jobs directly. Don't forget to remove stat points and skill points, icons in name, windows and so on.
I don't want to skip the 2nd class.

So, I tried to auto-assign hero directly on 2nd class choice, with:

Code:
		else if( g_pPlayer->GetJob() < MAX_EXPERT )
		{
			nJobMin = (g_pPlayer->GetJob() + 2) * 2;
			nJobMax = nJobMin + 1;
			nJobMin = g_pPlayer->GetJob() + 10;
			nJobMin = g_pPlayer->GetJob() + 8;
		}
But, on class selection, I only get 1 choice, and isn't hero ..

I'm getting crazy trying to find a way.
I even tried removing all the codes relating to mater() and hero() from all files, still isn't working!

Need serious help here. Anyone? #read first post for what I need
09/01/2015 01:08 alfredico#12
Obviously, you have to change numbers to go directly from 2nd class to 3rd class without master/hero. And I'm sure it's not that part.

First job we have MAX_EXPERT, second class MAX_PROFESSIONAL. So if job >= MAX_EXPERT and job < MAX_PROFESSIONAL, increase job +16.

8 classes from master and 8 classes from hero. It's not that hard, just careful with edits on functions like ::InitLevel and job change functions to do not remove or edit wrong parts.
09/01/2015 14:14 blacksystem1990#13
solved on my own.

#closerequest