Increase number of starting jobs in Create Character Menu
Posted: Tue Dec 12, 2017 2:35 pm
So from what I have found, this section mentions jobs 1 - 6 are available at character creation screen. I have changed below the jobs "createchar.m_mjob = dsp_cap(mjob, 1, 6);" to 22 for all jobs but still only shows 6 jobs on the character creation screen. There is a validation somewhere checking to see if the jobs are even "starting jobs" but I have yet to find where the checks are. I'm probably just bind as a bat but its almost to yanking hair out point lol. Hopefully somebody knows how to sort this out. In the mean time I will continue to sift through files until I can find wtf all these checks are.
int32 lobby_createchar(login_session_data_t *loginsd, char *buf)
{
// инициализируем генератор случайных чисел
srand(clock());
char_mini createchar;
memcpy(createchar.m_name, loginsd->charname, 16);
memset(&createchar.m_look, 0, sizeof(look_t));
createchar.m_look.race = RBUFB(buf, 48);
createchar.m_look.size = RBUFB(buf, 57);
createchar.m_look.face = RBUFB(buf, 60);
// Validate that the job is a starting job.
uint8 mjob = RBUFB(buf, 50);
createchar.m_mjob = dsp_cap(mjob, 1, 6); <-- jobs 1 -6.
// Log that the character attempting to create a non-starting job.
if (mjob != createchar.m_mjob) {
ShowInfo(
CL_WHITE"lobby_createchar" CL_RESET": "
CL_WHITE"%s" CL_RESET" attempted to create invalid starting job "
CL_WHITE"%d" CL_RESET" substituting "
CL_WHITE"%d" CL_RESET"\n",
loginsd->charname,
mjob,
createchar.m_mjob);
}
All in all just trying to make it so when you click create character, all the jobs are shown in the list instead of only 6. Yes I know you can change settings.lua and enable jobs/subjobs however that just makes them available to CHANGE jobs to those jobs after creating a character. I am trying to create the option to be able to have all the jobs available to choose from on the character creation screen. I know its possible, just a matter of finding where the codes located to list that information ><.
int32 lobby_createchar(login_session_data_t *loginsd, char *buf)
{
// инициализируем генератор случайных чисел
srand(clock());
char_mini createchar;
memcpy(createchar.m_name, loginsd->charname, 16);
memset(&createchar.m_look, 0, sizeof(look_t));
createchar.m_look.race = RBUFB(buf, 48);
createchar.m_look.size = RBUFB(buf, 57);
createchar.m_look.face = RBUFB(buf, 60);
// Validate that the job is a starting job.
uint8 mjob = RBUFB(buf, 50);
createchar.m_mjob = dsp_cap(mjob, 1, 6); <-- jobs 1 -6.
// Log that the character attempting to create a non-starting job.
if (mjob != createchar.m_mjob) {
ShowInfo(
CL_WHITE"lobby_createchar" CL_RESET": "
CL_WHITE"%s" CL_RESET" attempted to create invalid starting job "
CL_WHITE"%d" CL_RESET" substituting "
CL_WHITE"%d" CL_RESET"\n",
loginsd->charname,
mjob,
createchar.m_mjob);
}
All in all just trying to make it so when you click create character, all the jobs are shown in the list instead of only 6. Yes I know you can change settings.lua and enable jobs/subjobs however that just makes them available to CHANGE jobs to those jobs after creating a character. I am trying to create the option to be able to have all the jobs available to choose from on the character creation screen. I know its possible, just a matter of finding where the codes located to list that information ><.