//==============================================================================// //= Script Release : Job Changer + Max Leveler [ Version 1.6 ] //==================================By==========================================// //= ManiacSociety //==============================================================================// //= Idea Came From : ManiacSociety //= Helper : Emistry & Kenpachi //==============================================================================// //= D E S C R I P T I O N S //==============================================================================// // -- 1. Character can choose a Job which he like to be. // -- 2. This NPC only have 1 Time Usage. // If it is set to Account Based then that account can use 1 times. // If it is set to Character Based then all new character can use 1 times. // -- 3. Complete skills / Skill Points will be given if it is set to be. // -- 4. Base Level and Job Level will be given upon Job Change. // -- 5. Allow players to click an items to call out the NPC. //==============================================================================// //= V E R S I O N S //==============================================================================// // -- [ 1.6 ] : Added Item Script which allow the Scripts work as a "Tickets". // -- [ 1.5 ] : Added Configuration for Account Based / Character Based Settings // -- [ 1.4 ] : Added Baby Classes + 3rd Job Classes. // -- [ 1.3 ] : Added Configuration Option , 4 Announce Option , Informations. // -- [ 1.2 ] : Simplified Scripts + Shorten the Scripts. // -- [ 1.1 ] : Added New Job Change Option. // -- [ 1.0 ] : Simple Login Auto Max Level + Job Changer. //==============================================================================// //= R U L E S //==============================================================================// // -- 1. Do not use for exchanging purpose. // -- 2. Do not claim it as yours. // -- 3. Do not change or remove the credits. // -- 4. Do not sell the script in order to get paid. // -- 5. Do not re-sharing upon modified without permission. //==============================================================================// // -- Add this at item DB. ( Change it to any items to your like. ) // -- 30000,JobClassTicket,JobClassTicket,11,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ doevent "ClassHelper::OnPCLoginEvent"; },{},{} prontera,153,193,5 script Class Helper 4_F_SHAMAN,{ // -- Configuration Option set .npcname$,"[ ^0000FF Class Helper ^000000 ]"; set .InfoMenu,0; // Classes Informations Option [ 0 - Disable / 1 - Enable ] set .1stClassMenu,1; // First Job Class Option [ 0 - Disable / 1 - Enable ] set .2ndClassMenu,1; // Second Job Class Option [ 0 - Disable / 1 - Enable ] set .High1stClassMenu,1; // High 1st Class Option [ 0 - Disable / 1 - Enable ] set .Trans2ndClassMenu,1; // Transcendent Class Option [ 0 - Disable / 1 - Enable ] set .Trans3rdClassMenu,0; // Third Job Class Option [ 0 - Disable / 1 - Enable ] set .ExpandedClassMenu,1; // Expanded Class Option [ 0 - Disable / 1 - Enable ] set .BabyClassMenu,0; // Baby Job Class Option [ 0 - Disable / 1 - Enable ] set .Baby3rdClassMenu,0; // Baby Third Job Class Option [ 0 - Disable / 1 - Enable ] set .Allskills,0; // Complete Skills Option [ 0 - Disable / 1 - Enable ] // -- Usable for Only 1 Time set .Based,1; // [ 0 - Account Based / 1 - Character Based ] if( ClassHelper == 1 || #ClassHelper == 1 ) end; Main_Menu: mes .npcname$; mes "I am the Job Class Helper..."; mes "I am here to help you."; mes " ^FF0000________________________________^000000"; mes "Do you wish to become Stronger ?"; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "Do you admire those who have a great power ? Do you wish to become a part of them ? If yes , then which classes that you admire the most ?"; next; switch(select(( .InfoMenu == 0 )?"":"^4EEE94Classes Information^000000", ( .1stClassMenu == 0 )?"":"^0000FFFirst Job Classes^000000", ( .2ndClassMenu == 0 )?"":"^0000FFSecond Job Classes^000000", ( .High1stClassMenu == 0 )?"":"^0000FFHigh First Job Classes^000000", ( .Trans2ndClassMenu == 0 )?"":"^0000FFTranscendent Job Classes^000000", ( .Trans3rdClassMenu == 0 )?"":"^0000FFThird Job Classes^000000", ( .ExpandedClassMenu == 0 )?"":"^0000FFExpanded Job Classes^000000", ( .BabyClassMenu == 0 )?"":"^0000FFBaby Normal Job Classes^000000", ( .Baby3rdClassMenu == 0 )?"":"^0000FFBaby Third Job Classes^000000", "^FF0000Cancel^000000")) { case 1: goto Classes_info; case 2: goto FirstJob_Classes; case 3: goto SecondJob_Classes; case 4: goto HighFirstJob_Classes; case 5: goto TransSecondJob_Classes; case 6: goto TransThirdJob_Classes; case 7: goto ExpandedJob_Classes; case 8: goto BabyJob_Classes; case 9: goto BabyThirdJob_Classes; case 10: close; } FirstJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^000000Swordman^000000", "^000000Magician^000000", "^000000Archer^000000", "^000000Acolyte^000000", "^000000Merchant^000000", "^000000Thief^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,,,,,; case 1: callsub Job_Changing,1,99,50,60,"All"; case 2: callsub Job_Changing,2,99,50,60,"All"; case 3: callsub Job_Changing,3,99,50,60,"All"; case 4: callsub Job_Changing,4,99,50,60,"All"; case 5: callsub Job_Changing,5,99,50,60,"All"; case 6: callsub Job_Changing,6,99,50,60,"All"; case 7: goto Main_Menu; } HighFirstJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^000000High Swordman^000000", "^000000High Magician^000000", "^000000High Archer^000000", "^000000High Acolyte^000000", "^000000High Merchant^000000", "^000000High Thief^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,,,,,; case 1: callsub Job_Changing,4002,99,50,60,"All"; case 2: callsub Job_Changing,4003,99,50,60,"All"; case 3: callsub Job_Changing,4004,99,50,60,"All"; case 4: callsub Job_Changing,4005,99,50,60,"All"; case 5: callsub Job_Changing,4006,99,50,60,"All"; case 6: callsub Job_Changing,4007,99,50,60,"All"; case 7: goto Main_Menu; } SecondJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^000000Knight^000000", "^000000Priest^000000", "^000000Wizard^000000", "^000000Blacksmith^000000", "^000000Hunter^000000", "^000000Assassin^000000", "^000000Crusader^000000", "^000000Monk^000000", "^000000Sage^000000", "^000000Rogue^000000", "^000000Alchemist^000000", ( Sex == 1 )?"":"^000000Dancer^000000", ( Sex == 0 )?"":"^000000Bard^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,,,,,; case 1: callsub Job_Changing,7,99,50,110,"All"; case 2: callsub Job_Changing,8,99,50,110,"All"; case 3: callsub Job_Changing,9,99,50,110,"All"; case 4: callsub Job_Changing,10,99,50,110,"All"; case 5: callsub Job_Changing,11,99,50,110,"All"; case 6: callsub Job_Changing,12,99,50,110,"All"; case 7: callsub Job_Changing,14,99,50,110,"All"; case 8: callsub Job_Changing,15,99,50,110,"All"; case 9: callsub Job_Changing,16,99,50,110,"All"; case 10: callsub Job_Changing,17,99,50,110,"All"; case 11: callsub Job_Changing,18,99,50,110,"All"; case 12: callsub Job_Changing,20,99,50,110,"All"; case 13: callsub Job_Changing,19,99,50,110,"All"; case 14: goto Main_Menu; } TransSecondJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^000000Lord Knight^000000", "^000000High Priest^000000", "^000000High Wizard^000000", "^000000Whitesmith^000000", "^000000Sniper^000000", "^000000Assassin Cross^000000", "^000000Paladin^000000", "^000000Champion^000000", "^000000Professor^000000", "^000000Stalker^000000", //"^000000Creator^000000", ( Sex == 1 )?"":"^000000Gypsy^000000", ( Sex == 0 )?"":"^000000Clown^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,,,,,; case 1: callsub Job_Changing,4008,99,70,130,"All"; case 2: callsub Job_Changing,4009,99,70,130,"All"; case 3: callsub Job_Changing,4010,99,70,130,"All"; case 4: callsub Job_Changing,4011,99,70,130,"All"; case 5: callsub Job_Changing,4012,99,70,130,"All"; case 6: callsub Job_Changing,4013,99,70,130,"All"; case 7: callsub Job_Changing,4015,99,70,130,"All"; case 8: callsub Job_Changing,4016,99,70,130,"All"; case 9: callsub Job_Changing,4017,99,70,130,"All"; case 10: callsub Job_Changing,4018,99,70,130,"All"; case 11: callsub Job_Changing,4019,99,70,130,"All"; case 12: callsub Job_Changing,4021,99,70,130,"All"; case 13: callsub Job_Changing,4020,99,70,130,"All"; case 14: goto Main_Menu; } TransThirdJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^000000Rune Knight^000000", "^000000Warlock^000000", "^000000Ranger^000000", "^000000Arch Bishop^000000", "^000000Mechanic^000000", "^000000Guillotine Cross^000000", "^000000Royal Guard^000000", "^000000Sorcerer^000000", ( Sex == 1 )?"":"^000000Wanderer^000000", ( Sex == 0 )?"":"^000000Minstrel^000000", "^000000Shura^000000", "^000000Genetic^000000", "^000000Shadow Chaser^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,,,,,; case 1: callsub Job_Changing,4060,99,70,200,"All"; case 2: callsub Job_Changing,4061,99,70,200,"All"; case 3: callsub Job_Changing,4062,99,70,200,"All"; case 4: callsub Job_Changing,4063,99,70,200,"All"; case 5: callsub Job_Changing,4064,99,70,200,"All"; case 6: callsub Job_Changing,4065,99,70,200,"All"; case 7: callsub Job_Changing,4073,99,70,200,"All"; case 8: callsub Job_Changing,4074,99,70,200,"All"; case 9: callsub Job_Changing,4076,99,70,200,"All"; case 10: callsub Job_Changing,4075,70,70,200,"All"; case 11: callsub Job_Changing,4077,70,70,200,"All"; case 12: callsub Job_Changing,4078,70,70,200,"All"; case 13: callsub Job_Changing,4079,70,70,200,"All"; case 14: goto Main_Menu; } ExpandedJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^000000Super Novice^000000", "^000000Gunslinger^000000", "^000000Ninja^000000", "^000000Takewon^000000", "^000000Star Gladiator^000000", "^000000Soul Linker^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,,,,,; case 1: callsub Job_Changing,23,99,99,110,"All"; case 2: callsub Job_Changing,24,99,50,600,"All"; case 3: callsub Job_Changing,25,99,50,60,"All"; case 4: callsub Job_Changing,4046,99,50,60,"All"; case 5: callsub Job_Changing,4047,99,50,110,"All"; case 6: callsub Job_Changing,4049,99,50,110,"All"; case 7: goto Main_Menu; } BabyJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^000000Baby Swordman^000000", "^000000Baby Magician^000000", "^000000Baby Archer^000000", "^000000Baby Acolyte^000000", "^000000Baby Merchant^000000", "^000000Baby Thief^000000", "^000000Baby Knight^000000", "^000000Baby Priest^000000", "^000000Baby Wizard^000000", "^000000Baby Blacksmith^000000", "^000000Baby Hunter^000000", "^000000Baby Assassin^000000", "^000000Baby Crusader^000000", "^000000Baby Monk^000000", "^000000Baby Sage^000000", "^000000Baby Rogue^000000", "^000000Baby Alchemist^000000", ( Sex == 1 )?"":"^000000Baby Dancer^000000", ( Sex == 0 )?"":"^000000Baby Bard^000000", "^000000Baby Baby^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,,,,,; case 1: callsub Job_Changing,4024,99,50,60,"All"; case 2: callsub Job_Changing,4025,99,50,60,"All"; case 3: callsub Job_Changing,4026,99,50,60,"All"; case 4: callsub Job_Changing,4027,99,50,60,"All"; case 5: callsub Job_Changing,4028,99,50,60,"All"; case 6: callsub Job_Changing,4029,99,50,60,"All"; case 7: callsub Job_Changing,4030,99,50,110,"All"; case 8: callsub Job_Changing,4031,99,50,110,"All"; case 9: callsub Job_Changing,4032,99,50,110,"All"; case 10: callsub Job_Changing,4033,99,50,110,"All"; case 11: callsub Job_Changing,4034,99,50,110,"All"; case 12: callsub Job_Changing,4035,99,50,110,"All"; case 13: callsub Job_Changing,4037,99,50,110,"All"; case 14: callsub Job_Changing,4038,99,50,110,"All"; case 15: callsub Job_Changing,4039,99,50,110,"All"; case 16: callsub Job_Changing,4040,99,50,110,"All"; case 17: callsub Job_Changing,4041,99,50,110,"All"; case 18: callsub Job_Changing,4043,99,50,110,"All"; case 19: callsub Job_Changing,4042,99,50,110,"All"; case 20: callsub Job_Changing,4045,99,50,110,"All"; case 21: goto Main_Menu; } BabyThirdJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^000000Baby Rune Knight^000000", "^000000Baby Warlock^000000", "^000000Baby Ranger^000000", "^000000Baby Arch Bishop^000000", "^000000Baby Mechanic^000000", "^000000Baby Guillotine Cross^000000", "^000000Baby Royal Guard^000000", "^000000Baby Sorcerer^000000", ( Sex == 0 )?"":"^000000Baby Wanderer^000000", ( Sex == 1 )?"":"^000000Baby Minstrel^000000", "^000000Baby Shura^000000", "^000000Baby Genetic^000000", "^000000Baby Shadow Chaser^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,,,,,; case 1: callsub Job_Changing,4096,99,70,200,"All"; case 2: callsub Job_Changing,4097,99,70,200,"All"; case 3: callsub Job_Changing,4098,99,70,200,"All"; case 4: callsub Job_Changing,4099,99,70,200,"All"; case 5: callsub Job_Changing,4100,99,70,200,"All"; case 6: callsub Job_Changing,4101,99,70,200,"All"; case 7: callsub Job_Changing,4102,99,70,200,"All"; case 8: callsub Job_Changing,4103,99,70,200,"All"; case 9: callsub Job_Changing,4105,99,70,200,"All"; case 10: callsub Job_Changing,4104,99,70,200,"All"; case 11: callsub Job_Changing,4106,99,70,200,"All"; case 12: callsub Job_Changing,4107,99,70,200,"All"; case 13: callsub Job_Changing,4108,99,70,200,"All"; case 14: goto Main_Menu; } Job_Changing: mes .npcname$; mes "You are now a part of ^FF0000"+jobname(getarg(0))+"^000000."; if (compare(getarg(4),"All")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_all,0x76EE00; } if (compare(getarg(4),"Map")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_map,0x76EE00; } if (compare(getarg(4),"Area")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_area,0x76EE00; } if (compare(getarg(4),"Self")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_self,0x76EE00; } jobchange getarg(0); set BaseLevel,getarg(1); set JobLevel,getarg(2); resetskill; resetstatus; //set SkillPoint,getarg(3); if ( .Allskills == 1 ){ atcommand "@allskills"; set SkillPoint,0; } percentheal 100,100; if ( .Based == 0 ){ set #ClassHelper,1; } if ( .Based == 1 ){ set ClassHelper,1; } //warp "prontera",0,0; close; Classes_info: mes .npcname$; mes "=====[^000000 Swordman Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Enthusiastic skills in sword fighting is a definite attraction to all teenagers. Easy to control and master character enables most players to be a great player."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Archer Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Long ranged attack ability and special techniques of archers in defeating enemy often lure players to try this."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Mage Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Fascinating element techniques involvement of nature in its abilities is truly amazing with their series of undefeatable magics."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Thief Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Poisoning and dodging abilities will defeat most of the enemy. Maximum defensive and offensive ability caused this character to fearsome one."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Acolyte Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A supportive character, most of the skills like helping will benefit to teammates who lead to teammates act like a terminator."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Merchant Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Involving communication with other players that emphasizes on battles, intelligence in business dealing. His versatility made him must not be look down."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Super Novice ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A job who are Advanced after Novice Class. It look alike like a Novice but it is not. Beside that, it can learn most of the skills for all 1st Job Class."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Gunslinger ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "The only Job class in RO who are using Gun as weapon. If are you a Gun Lover , there is no doubt you will choose this Job."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Ninja ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A mysterious Job Class , who alway processing Ancient Spells , look alike with Mage but not mage , good in PK , can evade very well during PK."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Taekwon ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Just like the name has mentioned. The only class in RO who are not using any Weapon. Attack enemy using barehand and foots. "; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Star Gladiator ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A class who can use the power of the Sun / Star / Moon. By processing the power of Universe to gain a stronger Power."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^000000 Soul Linker ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Class that work like a Shaman, who able to recalling the soul of the dead from the underworld to Boost other class ability."; mes " ^FF0000________________________________^000000"; next; goto Main_Menu; }