Jump to content

information improvment for @job help messages


Tepoo

Recommended Posts


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  104
  • Reputation:   4
  • Joined:  02/06/12
  • Last Seen:  

Hey Guys,

some of my friends who are using my server where confused about the @job command and the help informations.

like you know, its possible to change over the id or the name of the class. i changed the method that you can simply write @job _T (example: @job Mechanic_T) to get the trans thirdclass.

/*==========================================
* Changes a character's class
*------------------------------------------*/
ACMD_FUNC(jobchange)
{
//FIXME: redundancy, potentially wrong code, should use job_name() or similar instead of hardcoding the table [ultramage]
int job = 0, upper = 0;
nullpo_retr(-1, sd);
if (!message || !*message || sscanf(message, "%d %d", &job, &upper) < 1)
{
 int i, found = 0;
 const struct { char name[24]; int id; } jobs[] = {
  { "novice",  0 },
  { "swordsman", 1 },
  { "mage",  2 },
  { "archer",  3 },
  { "acolyte", 4 },
  { "merchant", 5 },
  { "thief",  6 },
  { "knight",  7 },
  { "priest",  8 },
  { "priestess", 8 },
  { "wizard",  9 },
  { "blacksmith", 10 },
  { "hunter",  11 },
  { "assassin", 12 },
  { "crusader", 14 },
  { "monk",  15 },
  { "sage",  16 },
  { "rogue",  17 },
  { "alchemist", 18 },
  { "bard",  19 },
  { "dancer",  20 },
  { "super novice", 23 },
  { "supernovice", 23 },
  { "gunslinger", 24 },
  { "gunner", 24 },
  { "ninja", 25 },
  { "high novice", 4001 },
  { "swordsman high", 4002 },
  { "mage high",  4003 },
  { "archer high", 4004 },
  { "acolyte high", 4005 },
  { "merchant high", 4006 },
  { "thief high",  4007 },
  { "lord knight", 4008 },
  { "high priest", 4009 },
  { "high priestess", 4009 },
  { "high wizard", 4010 },
  { "whitesmith",  4011 },
  { "sniper",  4012 },
  { "assassin cross", 4013 },
  { "paladin", 4015 },
  { "champion", 4016 },
  { "professor", 4017 },
  { "stalker", 4018 },
  { "creator", 4019 },
  { "clown",  4020 },
  { "gypsy",  4021 },
  { "baby novice", 4023 },
  { "baby swordsman", 4024 },
  { "baby mage",  4025 },
  { "baby archer", 4026 },
  { "baby acolyte", 4027 },
  { "baby merchant", 4028 },
  { "baby thief",  4029 },
  { "baby knight", 4030 },
  { "baby priest", 4031 },
  { "baby priestess", 4031 },
  { "baby wizard", 4032 },
  { "baby blacksmith",4033 },
  { "baby hunter", 4034 },
  { "baby assassin", 4035 },
  { "baby crusader", 4037 },
  { "baby monk",  4038 },
  { "baby sage",  4039 },
  { "baby rogue",  4040 },
  { "baby alchemist", 4041 },
  { "baby bard",  4042 },
  { "baby dancer", 4043 },
  { "super baby",  4045 },
  { "taekwon",  4046 },
  { "taekwon boy", 4046 },
  { "taekwon girl", 4046 },
  { "star gladiator", 4047 },
  { "soul linker", 4049 },
  { "rune knight", 4054 },
  { "warlock",  4055 },
  { "ranger",   4056 },
  { "arch bishop", 4057 },
  { "mechanic",  4058 },
  { "guillotine",  4059 },
  { "rune knight_t", 4060 },
  { "warlock_t",  4061 },
  { "ranger_t",  4062 },
  { "arch bishop_t", 4063 },
  { "mechanic_t",  4064 },
  { "guillotine_t", 4065 },
  { "royal guard", 4066 },
  { "sorcerer",  4067 },
  { "minstrel",  4068 },
  { "wanderer",  4069 },
  { "sura",   4070 },
  { "genetic",  4071 },
  { "shadow chaser", 4072 },
  { "royal guard_t", 4073 },
  { "sorcerer_t",  4074 },
  { "minstrel_t",  4075 },
  { "wanderer_t",  4076 },
  { "sura_t",   4077 },
  { "genetic_t",  4078 },
  { "shadow chaser_t", 4079 },
 };
 for (i=0; i < ARRAYLENGTH(jobs); i++) {
  if (strncmpi(message, jobs[i].name, 16) == 0) {
job = jobs[i].id;
upper = 0;
found = 1;
break;
  }
 }
 if (!found) {
  clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange ).");
  clif_displaymessage(fd, "----- Novice / 1st Class -----");
  clif_displaymessage(fd, "   0 Novice			1 Swordman		  2 Mage			  3 Archer");
  clif_displaymessage(fd, "   4 Acolyte		   5 Merchant		  6 Thief");
  clif_displaymessage(fd, "----- 2nd Class -----");
  clif_displaymessage(fd, "   7 Knight			8 Priest			9 Wizard		   10 Blacksmith");
  clif_displaymessage(fd, "  11 Hunter		   12 Assassin		 14 Crusader		 15 Monk");
  clif_displaymessage(fd, "  16 Sage			 17 Rogue			18 Alchemist		19 Bard");
  clif_displaymessage(fd, "  20 Dancer");
  clif_displaymessage(fd, "----- High Novice / High 1st Class -----");
  clif_displaymessage(fd, "4001 Novice High	4002 Swordman High  4003 Mage High	  4004 Archer High");
  clif_displaymessage(fd, "4005 Acolyte High   4006 Merchant High  4007 Thief High");
  clif_displaymessage(fd, "----- Transcendent 2nd Class -----");
  clif_displaymessage(fd, "4008 Lord Knight	4009 High Priest	4010 High Wizard	4011 Whitesmith");
  clif_displaymessage(fd, "4012 Sniper		 4013 Assassin Cross 4015 Paladin		4016 Champion");
  clif_displaymessage(fd, "4017 Professor	  4018 Stalker		4019 Creator		4020 Clown");
  clif_displaymessage(fd, "4021 Gypsy");
  clif_displaymessage(fd, "----- 3rd Class (Regular to 3rd) -----");
  clif_displaymessage(fd, "4054 Rune Knight	4055 Warlock		4056 Ranger		 4057 Arch Bishop");
  clif_displaymessage(fd, "4058 Mechanic	   4059 Guillotine Cross 4066 Royal Guard  4067 Sorcerer");
  clif_displaymessage(fd, "4068 Minstrel	   4069 Wanderer	   4070 Sura		   4071 Genetic");
  clif_displaymessage(fd, "4072 Shadow Chaser");
  clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
  clif_displaymessage(fd, "4060 Rune Knight_T	4061 Warlock_T	4062 Ranger_T");
  clif_displaymessage(fd, " 4063 Arch Bishop_T	4064 Mechanic_T	4065 Guillotine Cross_T");
  clif_displaymessage(fd, "4073 Royal Guard_T	4074 Sorcerer_T	4075 Minstrel_T");
  clif_displaymessage(fd, "4076 Wanderer_T	4077 Sura_T	4078 Genetic_T	4079 Shadow Chaser_T");
  clif_displaymessage(fd, "----- Expanded Class -----");
  clif_displaymessage(fd, "  23 Super Novice	 24 Gunslinger	   25 Ninja			26 Xmas");
  clif_displaymessage(fd, "  27 Summer		 4046 Taekwon		4047 Star Gladiator 4049 Soul Linker");
  //clif_displaymessage(fd, "4050 Gangsi		 4051 Death Knight   4052 Dark Collector");
  clif_displaymessage(fd, "---- 1st And 2nd Baby Class ----");
  clif_displaymessage(fd, "4023 Baby Novice	4024 Baby Swordsman 4025 Baby Mage	  4026 Baby Archer");
  clif_displaymessage(fd, "4027 Baby Acolyte   4028 Baby Merchant  4029 Baby Thief	 4030 Baby Knight");
  clif_displaymessage(fd, "4031 Baby Priest	4032 Baby Wizard	4033 Baby Blacksmith 4034 Baby Hunter");
  clif_displaymessage(fd, "4035 Baby Assassin  4037 Baby Crusader  4038 Baby Monk	  4039 Baby Sage");
  clif_displaymessage(fd, "4040 Baby Rogue	 4041 Baby Alchemist 4042 Baby Bard	  4043 Baby Dancer");
  clif_displaymessage(fd, "4045 Super Baby");
  //clif_displaymessage(fd, "---- 3rd Baby Class ----");
  //clif_displaymessage(fd, "4096 Baby Rune Knight	4097 Baby Warlock		4098 Baby Ranger");
  //clif_displaymessage(fd, "4099 Baby Arch Bishop	4100 Baby Mechanic	   4101 Baby Guillotine Cross");
  //clif_displaymessage(fd, "4102 Baby Royal Guard	4103 Baby Sorcerer	   4104 Baby Minstrel");
  //clif_displaymessage(fd, "4105 Baby Wanderer	   4106 Baby Sura		   4107 Baby Genetic");
  //clif_displaymessage(fd, "4108 Baby Shadow Chaser");
  //clif_displaymessage(fd, "---- Mounts, Modes, And Others ----");
  //clif_displaymessage(fd, "  13 Knight (Peco)	21 Crusader (Peco)  22 Wedding		  26 Christmas");
  //clif_displaymessage(fd, "  27 Summer 4014 Lord Knight (Peco) 4022 Paladin (Peco)  4036 Baby Knight (Peco)");
  //clif_displaymessage(fd, "4044 Baby Crusader (Peco) 4048 Star Gladiator (Union) 4080 Rune Knight (Dragon)");
  //clif_displaymessage(fd, "4081 Rune Knight Trans (Dragon) 4082 Royal Guard (Gryphon)");
  //clif_displaymessage(fd, "4083 Royal Guard Trans (Gryphon) 4084 Ranger (Warg) 4085 Ranger Trans (Warg)");
  //clif_displaymessage(fd, "4086 Mechanic (Mado) 4087 Mechanic Trans (Mado)");
  return -1;
 }
}
if (job == 13 || job == 21 || job == 22 || job == 26 || job == 27
 || job == 4014 || job == 4022 || job == 4036 || job == 4044 || job == 4048
) // Deny direct transformation into dummy jobs
 return 0;
if (pcdb_checkid(job))
{
 if (pc_jobchange(sd, job, upper) == 0)
  clif_displaymessage(fd, msg_txt(12)); // Your job has been changed.
 else {
  clif_displaymessage(fd, msg_txt(155)); // You are unable to change your job.
  return -1;
 }
} else {
 clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange ).");
  clif_displaymessage(fd, "----- Novice / 1st Class -----");
  clif_displaymessage(fd, "   0 Novice			1 Swordman		  2 Mage			  3 Archer");
  clif_displaymessage(fd, "   4 Acolyte		   5 Merchant		  6 Thief");
  clif_displaymessage(fd, "----- 2nd Class -----");
  clif_displaymessage(fd, "   7 Knight			8 Priest			9 Wizard		   10 Blacksmith");
  clif_displaymessage(fd, "  11 Hunter		   12 Assassin		 14 Crusader		 15 Monk");
  clif_displaymessage(fd, "  16 Sage			 17 Rogue			18 Alchemist		19 Bard");
  clif_displaymessage(fd, "  20 Dancer");
  clif_displaymessage(fd, "----- High Novice / High 1st Class -----");
  clif_displaymessage(fd, "4001 Novice High	4002 Swordman High  4003 Mage High	  4004 Archer High");
  clif_displaymessage(fd, "4005 Acolyte High   4006 Merchant High  4007 Thief High");
  clif_displaymessage(fd, "----- Transcendent 2nd Class -----");
  clif_displaymessage(fd, "4008 Lord Knight	4009 High Priest	4010 High Wizard	4011 Whitesmith");
  clif_displaymessage(fd, "4012 Sniper		 4013 Assassin Cross 4015 Paladin		4016 Champion");
  clif_displaymessage(fd, "4017 Professor	  4018 Stalker		4019 Creator		4020 Clown");
  clif_displaymessage(fd, "4021 Gypsy");
  clif_displaymessage(fd, "----- 3rd Class (Regular to 3rd) -----");
  clif_displaymessage(fd, "4054 Rune Knight	4055 Warlock		4056 Ranger		 4057 Arch Bishop");
  clif_displaymessage(fd, "4058 Mechanic	   4059 Guillotine Cross 4066 Royal Guard  4067 Sorcerer");
  clif_displaymessage(fd, "4068 Minstrel	   4069 Wanderer	   4070 Sura		   4071 Genetic");
  clif_displaymessage(fd, "4072 Shadow Chaser");
  clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
  clif_displaymessage(fd, "4060 Rune Knight_T	4061 Warlock_T	4062 Ranger_T");
  clif_displaymessage(fd, " 4063 Arch Bishop_T	4064 Mechanic_T	4065 Guillotine Cross_T");
  clif_displaymessage(fd, "4073 Royal Guard_T	4074 Sorcerer_T	4075 Minstrel_T");
  clif_displaymessage(fd, "4076 Wanderer_T	4077 Sura_T	4078 Genetic_T	4079 Shadow Chaser_T");
  clif_displaymessage(fd, "----- Expanded Class -----");
  clif_displaymessage(fd, "  23 Super Novice	 24 Gunslinger	   25 Ninja			26 Xmas");
  clif_displaymessage(fd, "  27 Summer		 4046 Taekwon		4047 Star Gladiator 4049 Soul Linker");
  //clif_displaymessage(fd, "4050 Gangsi		 4051 Death Knight   4052 Dark Collector");
  clif_displaymessage(fd, "---- 1st And 2nd Baby Class ----");
  clif_displaymessage(fd, "4023 Baby Novice	4024 Baby Swordsman 4025 Baby Mage	  4026 Baby Archer");
  clif_displaymessage(fd, "4027 Baby Acolyte   4028 Baby Merchant  4029 Baby Thief	 4030 Baby Knight");
  clif_displaymessage(fd, "4031 Baby Priest	4032 Baby Wizard	4033 Baby Blacksmith 4034 Baby Hunter");
  clif_displaymessage(fd, "4035 Baby Assassin  4037 Baby Crusader  4038 Baby Monk	  4039 Baby Sage");
  clif_displaymessage(fd, "4040 Baby Rogue	 4041 Baby Alchemist 4042 Baby Bard	  4043 Baby Dancer");
  clif_displaymessage(fd, "4045 Super Baby");
  //clif_displaymessage(fd, "---- 3rd Baby Class ----");
  //clif_displaymessage(fd, "4096 Baby Rune Knight	4097 Baby Warlock		4098 Baby Ranger");
  //clif_displaymessage(fd, "4099 Baby Arch Bishop	4100 Baby Mechanic	   4101 Baby Guillotine Cross");
  //clif_displaymessage(fd, "4102 Baby Royal Guard	4103 Baby Sorcerer	   4104 Baby Minstrel");
  //clif_displaymessage(fd, "4105 Baby Wanderer	   4106 Baby Sura		   4107 Baby Genetic");
  //clif_displaymessage(fd, "4108 Baby Shadow Chaser");
  //clif_displaymessage(fd, "---- Mounts, Modes, And Others ----");
  //clif_displaymessage(fd, "  13 Knight (Peco)	21 Crusader (Peco)  22 Wedding		  26 Christmas");
  //clif_displaymessage(fd, "  27 Summer 4014 Lord Knight (Peco) 4022 Paladin (Peco)  4036 Baby Knight (Peco)");
  //clif_displaymessage(fd, "4044 Baby Crusader (Peco) 4048 Star Gladiator (Union) 4080 Rune Knight (Dragon)");
  //clif_displaymessage(fd, "4081 Rune Knight Trans (Dragon) 4082 Royal Guard (Gryphon)");
  //clif_displaymessage(fd, "4083 Royal Guard Trans (Gryphon) 4084 Ranger (Warg) 4085 Ranger Trans (Warg)");
  //clif_displaymessage(fd, "4086 Mechanic (Mado) 4087 Mechanic Trans (Mado)");
 return -1;
}
return 0;
}

its a very very small improvment, but it helps. so have fun with it.

Edited by Arcenciel
Codeboxed
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  967
  • Reputation:   53
  • Joined:  11/13/11
  • Last Seen:  

naa i stick to the old one

cause look

you just doubled the term Trans

example of yours

clif_displaymessage(fd, "4079 Shadow Chaser (Trans)");

but above it

it is already said

clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");

it means after this line

classes are transcendent~

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  104
  • Reputation:   4
  • Joined:  02/06/12
  • Last Seen:  

you dont understand why i did that.

the old one looked like this.

       clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
     	 clif_displaymessage(fd, "4060 Rune Knight 4061 Warlock 4062 Ranger 4063 Arch Bishop");
     	 clif_displaymessage(fd, "4064 Mechanic 4065 Guillotine Cross 4073 Royal Guard 4074 Sorcerer");          
          clif_displaymessage(fd, "4075 Minstrel 4076 Wanderer 4077 Sura 4078 Genetic");
          clif_displaymessage(fd, "4079 Shadow Chaser");

the only way to get to the third class with trans was to write the ids. but there was also the way over the names.

the names for the third class with rebirth are (for example) "Shadow Chaser (Trans)".

when you write @Job Shadow Chaser, you become the Shadow Chaser without rebirth.

when you write @Job Shadow Chaser (Trans), you become the Shadow Chaser with rebirth. but this istn clear throught the actuall displaymassages.

thats why i added the tags (Trans) behind the classes. so people know "okay if i want to become a Sura with rebirth, i can write @job 4077 or i write @job Sura (Trans)

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

i guess most of them would choose to write ID instead of the names..

who the dumb go write the name when the ID has just 4 word to type when compared with name that is long....

* No Offence *

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  104
  • Reputation:   4
  • Joined:  02/06/12
  • Last Seen:  

beause its easier to remember a name, then an id.

can you tell me out of your mind whats the id for Rune Knight (Trans) ?

or the id of Sorcerer ?

i know how to write them, but remember all of the id's i will not be able to when i dont learn them.

Edited by Tepoo
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

i can yell it out very loudly on you if you want ==''

i can barely remember 90% of the job ID and not even 50% of the names...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  104
  • Reputation:   4
  • Joined:  02/06/12
  • Last Seen:  

i can yell it out very loudly on you if you want ==''

i can barely remember 90% of the job ID and not even 50% of the names...

but thats not the point for all people. and i think this little improvment doesnt hurt at all. it just shows more specific what people can write.

Greetz

Tepoo

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  967
  • Reputation:   53
  • Joined:  11/13/11
  • Last Seen:  

people don't need to remember it

but i do though remember all of it

but still

seeing the old one is better

i can't see any improvement to it

like.. its more optimize or what so on...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  104
  • Reputation:   4
  • Joined:  02/06/12
  • Last Seen:  

i tought about your words. your right. only changing the help info sucks. here is the modified version of the method.

now the syntax is

@job <jobname>_T

example:

@job Mechanic = non trans thirdclass

@job Mechanic_T = trans thirdclass

/*==========================================
* Changes a character's class
*------------------------------------------*/
ACMD_FUNC(jobchange)
{
//FIXME: redundancy, potentially wrong code, should use job_name() or similar instead of hardcoding the table [ultramage]
int job = 0, upper = 0;
nullpo_retr(-1, sd);
if (!message || !*message || sscanf(message, "%d %d", &job, &upper) < 1)
{
 int i, found = 0;
 const struct { char name[24]; int id; } jobs[] = {
  { "novice",  0 },
  { "swordsman", 1 },
  { "mage",  2 },
  { "archer",  3 },
  { "acolyte", 4 },
  { "merchant", 5 },
  { "thief",  6 },
  { "knight",  7 },
  { "priest",  8 },
  { "priestess", 8 },
  { "wizard",  9 },
  { "blacksmith", 10 },
  { "hunter",  11 },
  { "assassin", 12 },
  { "crusader", 14 },
  { "monk",  15 },
  { "sage",  16 },
  { "rogue",  17 },
  { "alchemist", 18 },
  { "bard",  19 },
  { "dancer",  20 },
  { "super novice", 23 },
  { "supernovice", 23 },
  { "gunslinger", 24 },
  { "gunner", 24 },
  { "ninja", 25 },
  { "high novice", 4001 },
  { "swordsman high", 4002 },
  { "mage high",  4003 },
  { "archer high", 4004 },
  { "acolyte high", 4005 },
  { "merchant high", 4006 },
  { "thief high",  4007 },
  { "lord knight", 4008 },
  { "high priest", 4009 },
  { "high priestess", 4009 },
  { "high wizard", 4010 },
  { "whitesmith",  4011 },
  { "sniper",  4012 },
  { "assassin cross", 4013 },
  { "paladin", 4015 },
  { "champion", 4016 },
  { "professor", 4017 },
  { "stalker", 4018 },
  { "creator", 4019 },
  { "clown",  4020 },
  { "gypsy",  4021 },
  { "baby novice", 4023 },
  { "baby swordsman", 4024 },
  { "baby mage",  4025 },
  { "baby archer", 4026 },
  { "baby acolyte", 4027 },
  { "baby merchant", 4028 },
  { "baby thief",  4029 },
  { "baby knight", 4030 },
  { "baby priest", 4031 },
  { "baby priestess", 4031 },
  { "baby wizard", 4032 },
  { "baby blacksmith",4033 },
  { "baby hunter", 4034 },
  { "baby assassin", 4035 },
  { "baby crusader", 4037 },
  { "baby monk",  4038 },
  { "baby sage",  4039 },
  { "baby rogue",  4040 },
  { "baby alchemist", 4041 },
  { "baby bard",  4042 },
  { "baby dancer", 4043 },
  { "super baby",  4045 },
  { "taekwon",  4046 },
  { "taekwon boy", 4046 },
  { "taekwon girl", 4046 },
  { "star gladiator", 4047 },
  { "soul linker", 4049 },
  { "rune knight", 4054 },
  { "warlock",  4055 },
  { "ranger",   4056 },
  { "arch bishop", 4057 },
  { "mechanic",  4058 },
  { "guillotine",  4059 },
  { "rune knight_t", 4060 },
  { "warlock_t",  4061 },
  { "ranger_t",  4062 },
  { "arch bishop_t", 4063 },
  { "mechanic_t",  4064 },
  { "guillotine_t", 4065 },
  { "royal guard", 4066 },
  { "sorcerer",  4067 },
  { "minstrel",  4068 },
  { "wanderer",  4069 },
  { "sura",   4070 },
  { "genetic",  4071 },
  { "shadow chaser", 4072 },
  { "royal guard_t", 4073 },
  { "sorcerer_t",  4074 },
  { "minstrel_t",  4075 },
  { "wanderer_t",  4076 },
  { "sura_t",   4077 },
  { "genetic_t",  4078 },
  { "shadow chaser_t", 4079 },
 };
 for (i=0; i < ARRAYLENGTH(jobs); i++) {
  if (strncmpi(message, jobs[i].name, 16) == 0) {
job = jobs[i].id;
upper = 0;
found = 1;
break;
  }
 }
 if (!found) {
  clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job name/ID>).");
  clif_displaymessage(fd, "----- Novice / 1st Class -----");
  clif_displaymessage(fd, "   0 Novice			1 Swordman		  2 Mage			  3 Archer");
  clif_displaymessage(fd, "   4 Acolyte		   5 Merchant		  6 Thief");
  clif_displaymessage(fd, "----- 2nd Class -----");
  clif_displaymessage(fd, "   7 Knight			8 Priest			9 Wizard		   10 Blacksmith");
  clif_displaymessage(fd, "  11 Hunter		   12 Assassin		 14 Crusader		 15 Monk");
  clif_displaymessage(fd, "  16 Sage			 17 Rogue			18 Alchemist		19 Bard");
  clif_displaymessage(fd, "  20 Dancer");
  clif_displaymessage(fd, "----- High Novice / High 1st Class -----");
  clif_displaymessage(fd, "4001 Novice High	4002 Swordman High  4003 Mage High	  4004 Archer High");
  clif_displaymessage(fd, "4005 Acolyte High   4006 Merchant High  4007 Thief High");
  clif_displaymessage(fd, "----- Transcendent 2nd Class -----");
  clif_displaymessage(fd, "4008 Lord Knight	4009 High Priest	4010 High Wizard	4011 Whitesmith");
  clif_displaymessage(fd, "4012 Sniper		 4013 Assassin Cross 4015 Paladin		4016 Champion");
  clif_displaymessage(fd, "4017 Professor	  4018 Stalker		4019 Creator		4020 Clown");
  clif_displaymessage(fd, "4021 Gypsy");
  clif_displaymessage(fd, "----- 3rd Class (Regular to 3rd) -----");
  clif_displaymessage(fd, "4054 Rune Knight	4055 Warlock		4056 Ranger		 4057 Arch Bishop");
  clif_displaymessage(fd, "4058 Mechanic	   4059 Guillotine Cross 4066 Royal Guard  4067 Sorcerer");
  clif_displaymessage(fd, "4068 Minstrel	   4069 Wanderer	   4070 Sura		   4071 Genetic");
  clif_displaymessage(fd, "4072 Shadow Chaser");
  clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
  clif_displaymessage(fd, "4060 Rune Knight_T	4061 Warlock_T	4062 Ranger_T");
  clif_displaymessage(fd, " 4063 Arch Bishop_T	4064 Mechanic_T	4065 Guillotine Cross_T");
  clif_displaymessage(fd, "4073 Royal Guard_T	4074 Sorcerer_T	4075 Minstrel_T");
  clif_displaymessage(fd, "4076 Wanderer_T	4077 Sura_T	4078 Genetic_T	4079 Shadow Chaser_T");
  clif_displaymessage(fd, "----- Expanded Class -----");
  clif_displaymessage(fd, "  23 Super Novice	 24 Gunslinger	   25 Ninja			26 Xmas");
  clif_displaymessage(fd, "  27 Summer		 4046 Taekwon		4047 Star Gladiator 4049 Soul Linker");
  //clif_displaymessage(fd, "4050 Gangsi		 4051 Death Knight   4052 Dark Collector");
  clif_displaymessage(fd, "---- 1st And 2nd Baby Class ----");
  clif_displaymessage(fd, "4023 Baby Novice	4024 Baby Swordsman 4025 Baby Mage	  4026 Baby Archer");
  clif_displaymessage(fd, "4027 Baby Acolyte   4028 Baby Merchant  4029 Baby Thief	 4030 Baby Knight");
  clif_displaymessage(fd, "4031 Baby Priest	4032 Baby Wizard	4033 Baby Blacksmith 4034 Baby Hunter");
  clif_displaymessage(fd, "4035 Baby Assassin  4037 Baby Crusader  4038 Baby Monk	  4039 Baby Sage");
  clif_displaymessage(fd, "4040 Baby Rogue	 4041 Baby Alchemist 4042 Baby Bard	  4043 Baby Dancer");
  clif_displaymessage(fd, "4045 Super Baby");
  //clif_displaymessage(fd, "---- 3rd Baby Class ----");
  //clif_displaymessage(fd, "4096 Baby Rune Knight	4097 Baby Warlock		4098 Baby Ranger");
  //clif_displaymessage(fd, "4099 Baby Arch Bishop	4100 Baby Mechanic	   4101 Baby Guillotine Cross");
  //clif_displaymessage(fd, "4102 Baby Royal Guard	4103 Baby Sorcerer	   4104 Baby Minstrel");
  //clif_displaymessage(fd, "4105 Baby Wanderer	   4106 Baby Sura		   4107 Baby Genetic");
  //clif_displaymessage(fd, "4108 Baby Shadow Chaser");
  //clif_displaymessage(fd, "---- Mounts, Modes, And Others ----");
  //clif_displaymessage(fd, "  13 Knight (Peco)	21 Crusader (Peco)  22 Wedding		  26 Christmas");
  //clif_displaymessage(fd, "  27 Summer 4014 Lord Knight (Peco) 4022 Paladin (Peco)  4036 Baby Knight (Peco)");
  //clif_displaymessage(fd, "4044 Baby Crusader (Peco) 4048 Star Gladiator (Union) 4080 Rune Knight (Dragon)");
  //clif_displaymessage(fd, "4081 Rune Knight Trans (Dragon) 4082 Royal Guard (Gryphon)");
  //clif_displaymessage(fd, "4083 Royal Guard Trans (Gryphon) 4084 Ranger (Warg) 4085 Ranger Trans (Warg)");
  //clif_displaymessage(fd, "4086 Mechanic (Mado) 4087 Mechanic Trans (Mado)");
  return -1;
 }
}
if (job == 13 || job == 21 || job == 22 || job == 26 || job == 27
 || job == 4014 || job == 4022 || job == 4036 || job == 4044 || job == 4048
) // Deny direct transformation into dummy jobs
 return 0;
if (pcdb_checkid(job))
{
 if (pc_jobchange(sd, job, upper) == 0)
  clif_displaymessage(fd, msg_txt(12)); // Your job has been changed.
 else {
  clif_displaymessage(fd, msg_txt(155)); // You are unable to change your job.
  return -1;
 }
} else {
 clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job name/ID>).");
  clif_displaymessage(fd, "----- Novice / 1st Class -----");
  clif_displaymessage(fd, "   0 Novice			1 Swordman		  2 Mage			  3 Archer");
  clif_displaymessage(fd, "   4 Acolyte		   5 Merchant		  6 Thief");
  clif_displaymessage(fd, "----- 2nd Class -----");
  clif_displaymessage(fd, "   7 Knight			8 Priest			9 Wizard		   10 Blacksmith");
  clif_displaymessage(fd, "  11 Hunter		   12 Assassin		 14 Crusader		 15 Monk");
  clif_displaymessage(fd, "  16 Sage			 17 Rogue			18 Alchemist		19 Bard");
  clif_displaymessage(fd, "  20 Dancer");
  clif_displaymessage(fd, "----- High Novice / High 1st Class -----");
  clif_displaymessage(fd, "4001 Novice High	4002 Swordman High  4003 Mage High	  4004 Archer High");
  clif_displaymessage(fd, "4005 Acolyte High   4006 Merchant High  4007 Thief High");
  clif_displaymessage(fd, "----- Transcendent 2nd Class -----");
  clif_displaymessage(fd, "4008 Lord Knight	4009 High Priest	4010 High Wizard	4011 Whitesmith");
  clif_displaymessage(fd, "4012 Sniper		 4013 Assassin Cross 4015 Paladin		4016 Champion");
  clif_displaymessage(fd, "4017 Professor	  4018 Stalker		4019 Creator		4020 Clown");
  clif_displaymessage(fd, "4021 Gypsy");
  clif_displaymessage(fd, "----- 3rd Class (Regular to 3rd) -----");
  clif_displaymessage(fd, "4054 Rune Knight	4055 Warlock		4056 Ranger		 4057 Arch Bishop");
  clif_displaymessage(fd, "4058 Mechanic	   4059 Guillotine Cross 4066 Royal Guard  4067 Sorcerer");
  clif_displaymessage(fd, "4068 Minstrel	   4069 Wanderer	   4070 Sura		   4071 Genetic");
  clif_displaymessage(fd, "4072 Shadow Chaser");
  clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
  clif_displaymessage(fd, "4060 Rune Knight_T	4061 Warlock_T	4062 Ranger_T");
  clif_displaymessage(fd, " 4063 Arch Bishop_T	4064 Mechanic_T	4065 Guillotine Cross_T");
  clif_displaymessage(fd, "4073 Royal Guard_T	4074 Sorcerer_T	4075 Minstrel_T");
  clif_displaymessage(fd, "4076 Wanderer_T	4077 Sura_T	4078 Genetic_T	4079 Shadow Chaser_T");
  clif_displaymessage(fd, "----- Expanded Class -----");
  clif_displaymessage(fd, "  23 Super Novice	 24 Gunslinger	   25 Ninja			26 Xmas");
  clif_displaymessage(fd, "  27 Summer		 4046 Taekwon		4047 Star Gladiator 4049 Soul Linker");
  //clif_displaymessage(fd, "4050 Gangsi		 4051 Death Knight   4052 Dark Collector");
  clif_displaymessage(fd, "---- 1st And 2nd Baby Class ----");
  clif_displaymessage(fd, "4023 Baby Novice	4024 Baby Swordsman 4025 Baby Mage	  4026 Baby Archer");
  clif_displaymessage(fd, "4027 Baby Acolyte   4028 Baby Merchant  4029 Baby Thief	 4030 Baby Knight");
  clif_displaymessage(fd, "4031 Baby Priest	4032 Baby Wizard	4033 Baby Blacksmith 4034 Baby Hunter");
  clif_displaymessage(fd, "4035 Baby Assassin  4037 Baby Crusader  4038 Baby Monk	  4039 Baby Sage");
  clif_displaymessage(fd, "4040 Baby Rogue	 4041 Baby Alchemist 4042 Baby Bard	  4043 Baby Dancer");
  clif_displaymessage(fd, "4045 Super Baby");
  //clif_displaymessage(fd, "---- 3rd Baby Class ----");
  //clif_displaymessage(fd, "4096 Baby Rune Knight	4097 Baby Warlock		4098 Baby Ranger");
  //clif_displaymessage(fd, "4099 Baby Arch Bishop	4100 Baby Mechanic	   4101 Baby Guillotine Cross");
  //clif_displaymessage(fd, "4102 Baby Royal Guard	4103 Baby Sorcerer	   4104 Baby Minstrel");
  //clif_displaymessage(fd, "4105 Baby Wanderer	   4106 Baby Sura		   4107 Baby Genetic");
  //clif_displaymessage(fd, "4108 Baby Shadow Chaser");
  //clif_displaymessage(fd, "---- Mounts, Modes, And Others ----");
  //clif_displaymessage(fd, "  13 Knight (Peco)	21 Crusader (Peco)  22 Wedding		  26 Christmas");
  //clif_displaymessage(fd, "  27 Summer 4014 Lord Knight (Peco) 4022 Paladin (Peco)  4036 Baby Knight (Peco)");
  //clif_displaymessage(fd, "4044 Baby Crusader (Peco) 4048 Star Gladiator (Union) 4080 Rune Knight (Dragon)");
  //clif_displaymessage(fd, "4081 Rune Knight Trans (Dragon) 4082 Royal Guard (Gryphon)");
  //clif_displaymessage(fd, "4083 Royal Guard Trans (Gryphon) 4084 Ranger (Warg) 4085 Ranger Trans (Warg)");
  //clif_displaymessage(fd, "4086 Mechanic (Mado) 4087 Mechanic Trans (Mado)");
 return -1;
}
return 0;
}

Edited by Arcenciel
Codeboxed
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
Reply to this topic...

×   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...