Jump to content
  • 0

Help ! Basic Again :D


Kariton Revolution

Question


  • Group:  Members
  • Topic Count:  161
  • Topics Per Day:  0.04
  • Content Count:  429
  • Reputation:   5
  • Joined:  11/21/11
  • Last Seen:  

//===== eAthena Script ======================================= 
//= Custom Free Breeder aka Universal Renter (not reccomended)
//===== By: ================================================== 
//= eAthena Team
//===== Current Version: ===================================== 
//= 1.5
//===== Compatible With: ===================================== 
//= eAthena 1.0 Final +
//===== Description: ========================================= 
//= A Free PecoPeco and Falcon Breeder
//===== Additional Comments: ================================= 
//= 1.1 FIXED checkriding/cart/falcon funcs [Lupus]
//= 1.2 Added Rebirth/Advanced Class support [Mass Zero]
//= 1.3 Simplified the checks of job [Silentdragon]
//= 1.3a Fixed a Typo Error. [Samuray22]
//	-Thanks to ~AnnieRuru~.
//= 1.4 Optimized Script. No need for 50 million Labels. [Spre]
//= 1.5 Adapted to 3CeAM and 3rd jobs. [pakpil]
//============================================================ 
 
prontera,129,215,1	script	Universal Rental Npc#3rd	928,{
	mes "[Universal Rental Npc]";
	mes "Hi, here you can rent Carts, Falcons, Pecopecos, Dragons, Mados or Gryphons.";
	next;
	switch(select("Cart:Falcon:Peco/Dragon/Gryphon:Mado"))
	{
		case 1:
			if( (BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0 && getskilllv("MC_PUSHCART") > 0 )
			{
				setcart;
				close;
			}
			else
			{
				mes "[Universal Rental Npc]";
				mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill.";
				close;
			}
		case 2:
			if( (Class == Job_Ranger || Class == Job_Ranger_T) && checkriding() )
			{
				mes "Sorry " + strcharinfo(0) + ", you can't rent a Falcon if you have a Warg rented.";
				close;
			}
			if( BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0 && getskilllv("HT_FALCON") > 0 )
			{
				setfalcon;
				close;
			}
			else
			{
				mes "[Universal Rental Npc]";
				mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill.";
				close;
			}					
		case 3:
			if( BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0 && getskilllv("KN_RIDING") > 0 )
			{
				set @flag, 0;
				if( Class == Job_Rune_Knight || Class == Job_Rune_Knight_T )
				{
					mes "Please select the color of your dragon.";
					next;
					set @flag, select("Green:Black:White:Blue:Red");
					
				}
				setriding @flag;
				close;
			}
			else
			{
				mes "[Universal Rental Npc]";
				mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill.";
				close;
			}
		case 4:
			if( (Class == Job_Mechanic || Class == Job_Mechanic_T) && checkriding() == 0 )
			{
				setriding;
				close;
			}
			else
			{
				mes "[Universal Retal Npc]";
				mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job.";
				close;
			}
	}
}

how can i put this when jobchange

 

1st job reward
 
Swordsman - sword package #13945
Thief - thief package #13950
Mage - mage package #13946
Merchant - merchant package#13949
Archer - archer package#13948
Acolyte - acolyte package #13947
 
 
help please :(

and this :(((

novice high - journey pack #14152
        - convex mirror box #13583
Link to comment
Share on other sites

9 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  1125
  • Reputation:   236
  • Joined:  07/30/12
  • Last Seen:  

I dont see any jobchange in your script.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  1702
  • Reputation:   238
  • Joined:  09/05/12
  • Last Seen:  

This is a breeder script

 

 

//===== eAthena Script ======================================= 
//= Custom Free Breeder aka Universal Renter (not reccomended)
//===== By: ================================================== 
//= eAthena Team
//===== Current Version: ===================================== 
//= 1.5
//===== Compatible With: ===================================== 
//= eAthena 1.0 Final +
//===== Description: ========================================= 
//= A Free PecoPeco and Falcon Breeder
//===== Additional Comments: ================================= 
//= 1.1 FIXED checkriding/cart/falcon funcs [Lupus]
//= 1.2 Added Rebirth/Advanced Class support [Mass Zero]
//= 1.3 Simplified the checks of job [Silentdragon]
//= 1.3a Fixed a Typo Error. [Samuray22]
//    -Thanks to ~AnnieRuru~.
//= 1.4 Optimized Script. No need for 50 million Labels. [Spre]
//= 1.5 Adapted to 3CeAM and 3rd jobs. [pakpil]
//============================================================ 
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  94
  • Topics Per Day:  0.02
  • Content Count:  2192
  • Reputation:   252
  • Joined:  11/11/11
  • Last Seen:  

But if you want to give items to the job after changing, use getitem.

 

 

 

---------------------------------------

*getitem <item id>,<amount>{,<account ID>};
*getitem "<item name>",<amount>{,<account ID>};

This command will give an amount of specified items to the invoking character.
If an optional account ID is specified, and the target character is currently
online, items will be created in their inventory instead. If they are not
online, nothing will happen.

In the first and most commonly used version of this command, items are
referred to by their database ID number found inside 'db/(pre-)re/item_db.txt'.

getitem 502,10 // The person will receive 10 apples
getitem 617,1 // The person will receive 1 Old Violet Box

Giving an item ID of -1 will give a specified number of random items from the
list of those that fall out of Old Blue Box. Unlike in all other cases, these
will be unidentified, if they turn out to be equipment. This is exactly what's
written in the Old Blue Box's item script.

Other negative IDs also correspond to other random item generating item tables:

Giving an item ID of -2 will produce the effects of Old Violet Box.
Giving an item ID of -3 will produce the effects of Old Card Album.
Giving an item ID of -4 will produce the effects of Gift Box.
Giving an item ID of -5 will produce the effects of Worn Out Scroll, which, in
current SVN, drops only Jellopies anyway.

This transaction is logged if the log script generated transactions option is
enabled.

You may also create an item by its name in the 'english name' field in the
item database:

getitem "RED_POTION",10;

Which will do what you'd expect. If it can't find that name in the database,
apples will be created anyway. It is often a VERY GOOD IDEA to use it like this.

This is used in pretty much all NPC scripts that have to do with items and
quite a few item scripts. For more examples check just about any official script.
 
---------------------------------------

 

PS: We have a job changer in the SVN: http://svn.code.sf.net/p/rathena/svn/trunk/npc/custom/jobmaster.txt

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  161
  • Topics Per Day:  0.04
  • Content Count:  429
  • Reputation:   5
  • Joined:  11/21/11
  • Last Seen:  

//===== eAthena Script =======================================
//= eAthena Jobchanger AKA Job Master
//===== By: ==================================================
//= eAthena Dev Team [Ori:LunatikBunnie] [Cur:Lance]
//===== Current Version: =====================================
//= 1.5a
//===== Compatible With: =====================================
//= eAthena SVN Trunk 6674
//===== Description: =========================================
//= Changes your job without asking too much
//= For other info, please contact me at [email protected] 
//= Editted menu to avoid button mashing.
//= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]
//=    script leaves grabage variable: 'lastJob'
//= 1.4 Added NJ/GS, changed all job numbers to Job_* constants. 
//=    All credits go to pxxx [Skotlex]
//= 1.5 Rewrite everything from scratch. [Lance]
//= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus]
//============================================================
prontera,149,187,6	script	Job Master	743,{
	mes "^ff0000[Job Master]^000000";
	if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq;
	if(SkillPoint != 0){
		mes "I'm sorry, please use up all your skill points before changing jobs";
		mes "Please come again soon!";
		close;
	}
	if(JobLevel < 10) goto L_LvError;
	switch(Class){
		case Job_Novice_High:
		case Job_Baby:
		case Job_Novice:
			skill 142,1,0;
			skill 143,1,0;
			mes "Welcome, please select the job you wish to change into";
			if(lastJob != 0 && Class == Job_Novice_High){
				switch(lastJob){
					case Job_Knight:
					case Job_Crusader:
						set @target_job, Job_Swordman_High;
						break;
					case Job_Monk:
					case Job_Priest:
						set @target_job, Job_Acolyte_High;
						break;
					case Job_Alchemist:
					case Job_Blacksmith:
						set @target_job, Job_Merchant_High;
						break;
					case Job_Rogue:
					case Job_Assassin:
						set @target_job, Job_Thief_High;
						break;
					case Job_Wizard:
					case Job_Sage:
						set @target_job, Job_Mage_High;
						break;
					case Job_Hunter:
					case Job_Bard:
					case Job_Dancer:
						set @target_job, Job_Archer_High;
						break;
							}
			} else {
				switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",
					"Super Novice","Taekwon","Gunslinger","Ninja")){
						case 7:
							if(Class == Job_Novice_High) goto L_noReq;
							if($@JC_SupNovM > BaseLevel) goto L_BvError;
							if(Upper == 2)
								set @target_job, Job_Super_Baby;
							else
								set @target_job, Job_SuperNovice;
							break;
						case 8:
							if(Class == Job_Novice_High) goto L_noReq;
							if(Upper == 2) goto L_noReq;
							set @target_job, Job_Taekwon;
							break;
						case 9:
						case 10:
							if(Class == Job_Novice_High || Upper == 2) goto L_noReq;
							set @target_job, @menu + 15;
							break;
						default:
							set @target_job, @menu;
							if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
							break;
					}
			}
			mes "Are you sure you want to change to " + JobName(@target_job) + "?";
			if(select("No","Yes") == 2){
				callfunc "Job_Change", @target_job;
				if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {
					callfunc "F_ClearJobVar";
				} else {
					if($@JC_Plat) goto L_GivePlat;
				}
			}
			close;
			break;
		default:
			if(JobLevel < $@JC_MinimumJB) goto L_LvError;
			deletearray @job_opt, getarraysize(@job_opt);
			if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){
				if(lastJob != 0){
					set @target_job, lastJob + 4001;
				} else {
					switch(Class){
						case Job_Swordman_High:
						case Job_Baby_Swordman:
						case Job_Swordman:
							set @job_opt[0], Job_Knight;
							set @job_opt[1], Job_Crusader;
							break;
						case Job_Mage_High:
						case Job_Baby_Mage:
						case Job_Mage:
							set @job_opt[0], Job_Wizard;
							set @job_opt[1], Job_Sage;
							break;
						case Job_Archer_High:
						case Job_Baby_Archer:
						case Job_Archer:
							set @job_opt[0], Job_Hunter;
							if(Sex == 0)
								set @job_opt[1], Job_Dancer;
							else
								set @job_opt[1], Job_Bard;
							break;
						case Job_Acolyte_High:
						case Job_Baby_Acolyte:
						case Job_Acolyte:
							set @job_opt[0], Job_Priest;
							set @job_opt[1], Job_Monk;
							break;
						case Job_Merchant_High:
						case Job_Baby_Merchant:
						case Job_Merchant:
							set @job_opt[0], Job_Blacksmith;
							set @job_opt[1], Job_Alchemist;
							break;
						case Job_Thief_High:
						case Job_Baby_Thief:
						case Job_Thief:
							set @job_opt[0], Job_Assassin;
							set @job_opt[1], Job_Rogue;
							break;						
						default:
							set @job_opt[0], Job_Star_Gladiator;
							set @job_opt[1], Job_Soul_Linker;
							break;
					}
					mes "Welcome, please select the job you wish to change into";
					set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];
					if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;
				}
				mes "Are you sure you want to change to " + JobName(@target_job) + "?";
				if(select("No","Yes")==2){
					callfunc "Job_Change", @target_job;
					if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) {
						callfunc "F_ClearJobVar";
					} else {
						if($@JC_Plat) goto L_GivePlat;
					}
				}
				close;
			}
			if(checkfalcon() || checkcart() || checkriding()) goto L_remove;
			if((Class >=Job_Knight) && (Class <=Job_Crusader2)){
				mes "Do you want to reborn?";
				if(select("Yes","No")==1){
					if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;
					set lastJob, Class;
					if(Class == Job_Knight2){
						set lastJob, Job_Knight;
					} else {
						if(Class == Job_Crusader2){
							set lastJob, Job_Crusader;
						}
					}
					jobchange Job_Novice_High;
					resetlvl(1);
					skill 142,1,0;
					skill 143,1,0;
				}
				close;
			}
	}
	mes "I'm sorry, there are no further classes for your job.";
	close;

L_GivePlat:
	if (BaseClass==Job_SuperNovice) goto L_sSuperN;
	if (BaseClass==Job_Swordman) goto L_sSword;
	if (BaseClass==Job_Mage) goto L_sMage;
	if (BaseClass==Job_Archer) goto L_sArcher;
	if (BaseClass==Job_Acolyte) goto L_sAcolyte;
	if (BaseClass==Job_Merchant) goto L_sMerchant;
	if (BaseClass==Job_Thief) goto L_sThief;
	close;
L_sSuperN:
	skill 142,1,0;
	close;
L_sSword:
	skill 142,1,0;
	skill 144,1,0;
	skill 145,1,0;
	skill 146,1,0;
	getitem 13945,1;
	close;
L_sMage:
	skill 142,1,0;
	skill 157,1,0;
	close;
L_sArcher:
	skill 142,1,0;
	skill 147,1,0;
	skill 148,1,0;
	close;
L_sAcolyte:
	skill 142,1,0;
	skill 156,1,0;
	close;
L_sMerchant:
	skill 142,1,0;
	skill 153,1,0;
	skill 154,1,0;
	skill 155,1,0;
	close;
L_sThief:
	skill 142,1,0;
	skill 149,1,0;
	skill 150,1,0;
	skill 151,1,0;
	skill 152,1,0;
	close;

L_cantCh:
	mes "I'm sorry, you do not meet the requirements to change";
	mes "Please come again soon!";
	close;

L_LvError:
	mes "I'm sorry, you do not seem to have enough Job Levels";
	mes "Please come again soon!";
	close;

L_BvError:
	mes "I'm sorry, you do not seem to have enough Base Levels";
	mes "Please come again soon!";
	close;

L_noReq:
	mes "I'm sorry, you do not meet the requirements to change";
	mes "Please come again soon!";
	close;

L_remove:
	mes "Please remove your cart,falcon or peco";
	mes "Please come again soon!";
	close;

OnInit:
	// Variable Setup
	set $@JC_MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)
	set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
	set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45)
	end;
}

Here Im very sorry :((

But if you want to give items to the job after changing, use getitem.

 

 

 

---------------------------------------

*getitem <item id>,<amount>{,<account ID>};
*getitem "<item name>",<amount>{,<account ID>};

This command will give an amount of specified items to the invoking character.
If an optional account ID is specified, and the target character is currently
online, items will be created in their inventory instead. If they are not
online, nothing will happen.

In the first and most commonly used version of this command, items are
referred to by their database ID number found inside 'db/(pre-)re/item_db.txt'.

getitem 502,10 // The person will receive 10 apples
getitem 617,1 // The person will receive 1 Old Violet Box

Giving an item ID of -1 will give a specified number of random items from the
list of those that fall out of Old Blue Box. Unlike in all other cases, these
will be unidentified, if they turn out to be equipment. This is exactly what's
written in the Old Blue Box's item script.

Other negative IDs also correspond to other random item generating item tables:

Giving an item ID of -2 will produce the effects of Old Violet Box.
Giving an item ID of -3 will produce the effects of Old Card Album.
Giving an item ID of -4 will produce the effects of Gift Box.
Giving an item ID of -5 will produce the effects of Worn Out Scroll, which, in
current SVN, drops only Jellopies anyway.

This transaction is logged if the log script generated transactions option is
enabled.

You may also create an item by its name in the 'english name' field in the
item database:

getitem "RED_POTION",10;

Which will do what you'd expect. If it can't find that name in the database,
apples will be created anyway. It is often a VERY GOOD IDEA to use it like this.

This is used in pretty much all NPC scripts that have to do with items and
quite a few item scripts. For more examples check just about any official script.
 
---------------------------------------

 

PS: We have a job changer in the SVN: http://svn.code.sf.net/p/rathena/svn/trunk/npc/custom/jobmaster.txt

 

This is a breeder script

 

 

//===== eAthena Script ======================================= 
//= Custom Free Breeder aka Universal Renter (not reccomended)
//===== By: ================================================== 
//= eAthena Team
//===== Current Version: ===================================== 
//= 1.5
//===== Compatible With: ===================================== 
//= eAthena 1.0 Final +
//===== Description: ========================================= 
//= A Free PecoPeco and Falcon Breeder
//===== Additional Comments: ================================= 
//= 1.1 FIXED checkriding/cart/falcon funcs [Lupus]
//= 1.2 Added Rebirth/Advanced Class support [Mass Zero]
//= 1.3 Simplified the checks of job [Silentdragon]
//= 1.3a Fixed a Typo Error. [Samuray22]
//    -Thanks to ~AnnieRuru~.
//= 1.4 Optimized Script. No need for 50 million Labels. [Spre]
//= 1.5 Adapted to 3CeAM and 3rd jobs. [pakpil]
//============================================================ 

 

I dont see any jobchange in your script.

 

PLEASeEe :*

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  1125
  • Reputation:   236
  • Joined:  07/30/12
  • Last Seen:  


//===== eAthena Script =======================================

//= eAthena Jobchanger AKA Job Master

//===== By: ==================================================

//= eAthena Dev Team [Ori:LunatikBunnie] [Cur:Lance]

//===== Current Version: =====================================

//= 1.5a

//===== Compatible With: =====================================

//= eAthena SVN Trunk 6674

//===== Description: =========================================

//= Changes your job without asking too much

//= For other info, please contact me at [email protected]

//= Editted menu to avoid button mashing.

//= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]

//= script leaves grabage variable: 'lastJob'

//= 1.4 Added NJ/GS, changed all job numbers to Job_* constants.

//= All credits go to pxxx [Skotlex]

//= 1.5 Rewrite everything from scratch. [Lance]

//= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus]

//============================================================

prontera,149,187,6 script Job Master 743,{

mes "^ff0000[Job Master]^000000";

if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq;

if(SkillPoint != 0){

mes "I'm sorry, please use up all your skill points before changing jobs";

mes "Please come again soon!";

close;

}

if(JobLevel < 10) goto L_LvError;

switch(Class){

case Job_Novice_High:

case Job_Baby:

case Job_Novice:

skill 142,1,0;

skill 143,1,0;

mes "Welcome, please select the job you wish to change into";

if(lastJob != 0 && Class == Job_Novice_High){

switch(lastJob){

case Job_Knight:

case Job_Crusader:

set @target_job, Job_Swordman_High;

getitem 13945,1;

break;

case Job_Monk:

case Job_Priest:

set @target_job, Job_Acolyte_High;

getitem 13947,1;

break;

case Job_Alchemist:

case Job_Blacksmith:

set @target_job, Job_Merchant_High;

getitem 13949,1;

break;

case Job_Rogue:

case Job_Assassin:

set @target_job, Job_Thief_High;

getitem 13950,1;

break;

case Job_Wizard:

case Job_Sage:

set @target_job, Job_Mage_High;

getitem 13946,1;

break;

case Job_Hunter:

case Job_Bard:

case Job_Dancer:

set @target_job, Job_Archer_High;

getitem 13948,1;

break;

}

} else {

switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",

"Super Novice","Taekwon","Gunslinger","Ninja")){

case 7:

if(Class == Job_Novice_High) goto L_noReq;

if($@JC_SupNovM > BaseLevel) goto L_BvError;

if(Upper == 2)

set @target_job, Job_Super_Baby;

else

set @target_job, Job_SuperNovice;

break;

case 8:

if(Class == Job_Novice_High) goto L_noReq;

if(Upper == 2) goto L_noReq;

set @target_job, Job_Taekwon;

break;

case 9:

case 10:

if(Class == Job_Novice_High || Upper == 2) goto L_noReq;

set @target_job, @menu + 15;

break;

default:

set @target_job, @menu;

if(Class == Job_Novice_High) set @target_job, @target_job + 4001;

break;

}

}

mes "Are you sure you want to change to " + JobName(@target_job) + "?";

if(select("No","Yes") == 2){

callfunc "Job_Change", @target_job;

if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {

callfunc "F_ClearJobVar";

} else {

if($@JC_Plat) goto L_GivePlat;

}

}

close;

break;

default:

if(JobLevel < $@JC_MinimumJB) goto L_LvError;

deletearray @job_opt, getarraysize(@job_opt);

if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){

if(lastJob != 0){

set @target_job, lastJob + 4001;

} else {

switch(Class){

case Job_Swordman_High:

case Job_Baby_Swordman:

case Job_Swordman:

set @job_opt[0], Job_Knight;

set @job_opt[1], Job_Crusader;

break;

case Job_Mage_High:

case Job_Baby_Mage:

case Job_Mage:

set @job_opt[0], Job_Wizard;

set @job_opt[1], Job_Sage;

break;

case Job_Archer_High:

case Job_Baby_Archer:

case Job_Archer:

set @job_opt[0], Job_Hunter;

if(Sex == 0)

set @job_opt[1], Job_Dancer;

else

set @job_opt[1], Job_Bard;

break;

case Job_Acolyte_High:

case Job_Baby_Acolyte:

case Job_Acolyte:

set @job_opt[0], Job_Priest;

set @job_opt[1], Job_Monk;

break;

case Job_Merchant_High:

case Job_Baby_Merchant:

case Job_Merchant:

set @job_opt[0], Job_Blacksmith;

set @job_opt[1], Job_Alchemist;

break;

case Job_Thief_High:

case Job_Baby_Thief:

case Job_Thief:

set @job_opt[0], Job_Assassin;

set @job_opt[1], Job_Rogue;

break;

default:

set @job_opt[0], Job_Star_Gladiator;

set @job_opt[1], Job_Soul_Linker;

break;

}

mes "Welcome, please select the job you wish to change into";

set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];

if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;

}

mes "Are you sure you want to change to " + JobName(@target_job) + "?";

if(select("No","Yes")==2){

callfunc "Job_Change", @target_job;

if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) {

callfunc "F_ClearJobVar";

} else {

if($@JC_Plat) goto L_GivePlat;

}

}

close;

}

if(checkfalcon() || checkcart() || checkriding()) goto L_remove;

if((Class >=Job_Knight) && (Class <=Job_Crusader2)){

mes "Do you want to reborn?";

if(select("Yes","No")==1){

if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;

set lastJob, Class;

if(Class == Job_Knight2){

set lastJob, Job_Knight;

} else {

if(Class == Job_Crusader2){

set lastJob, Job_Crusader;

}

}

jobchange Job_Novice_High;

resetlvl(1);

skill 142,1,0;

skill 143,1,0;

}

close;

}

}

mes "I'm sorry, there are no further classes for your job.";

close;

L_GivePlat:

if (BaseClass==Job_SuperNovice) goto L_sSuperN;

if (BaseClass==Job_Swordman) goto L_sSword;

if (BaseClass==Job_Mage) goto L_sMage;

if (BaseClass==Job_Archer) goto L_sArcher;

if (BaseClass==Job_Acolyte) goto L_sAcolyte;

if (BaseClass==Job_Merchant) goto L_sMerchant;

if (BaseClass==Job_Thief) goto L_sThief;

close;

L_sSuperN:

skill 142,1,0;

close;

L_sSword:

skill 142,1,0;

skill 144,1,0;

skill 145,1,0;

skill 146,1,0;

close;

L_sMage:

skill 142,1,0;

skill 157,1,0;

close;

L_sArcher:

skill 142,1,0;

skill 147,1,0;

skill 148,1,0;

close;

L_sAcolyte:

skill 142,1,0;

skill 156,1,0;

close;

L_sMerchant:

skill 142,1,0;

skill 153,1,0;

skill 154,1,0;

skill 155,1,0;

close;

L_sThief:

skill 142,1,0;

skill 149,1,0;

skill 150,1,0;

skill 151,1,0;

skill 152,1,0;

close;

L_cantCh:

mes "I'm sorry, you do not meet the requirements to change";

mes "Please come again soon!";

close;

L_LvError:

mes "I'm sorry, you do not seem to have enough Job Levels";

mes "Please come again soon!";

close;

L_BvError:

mes "I'm sorry, you do not seem to have enough Base Levels";

mes "Please come again soon!";

close;

L_noReq:

mes "I'm sorry, you do not meet the requirements to change";

mes "Please come again soon!";

close;

L_remove:

mes "Please remove your cart,falcon or peco";

mes "Please come again soon!";

close;

OnInit:

// Variable Setup

set $@JC_MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)

set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)

set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45)

end;

}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  161
  • Topics Per Day:  0.04
  • Content Count:  429
  • Reputation:   5
  • Joined:  11/21/11
  • Last Seen:  

sir anakid not swordsman high:( not high class :(( only 1st job please help me



//===== eAthena Script =======================================
//= eAthena Jobchanger AKA Job Master
//===== By: ==================================================
//= eAthena Dev Team [Ori:LunatikBunnie] [Cur:Lance]
//===== Current Version: =====================================
//= 1.5a
//===== Compatible With: =====================================
//= eAthena SVN Trunk 6674
//===== Description: =========================================
//= Changes your job without asking too much
//= For other info, please contact me at [email protected] 
//= Editted menu to avoid button mashing.
//= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]
//=    script leaves grabage variable: 'lastJob'
//= 1.4 Added NJ/GS, changed all job numbers to Job_* constants. 
//=    All credits go to pxxx [Skotlex]
//= 1.5 Rewrite everything from scratch. [Lance]
//= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus]
//============================================================
prontera,149,187,6	script	Job Master	743,{
	mes "^ff0000[Job Master]^000000";
	if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq;
	if(SkillPoint != 0){
		mes "I'm sorry, please use up all your skill points before changing jobs";
		mes "Please come again soon!";
		close;
	}
	if(JobLevel < 10) goto L_LvError;
	switch(Class){
		case Job_Novice_High:
		case Job_Baby:
		case Job_Novice:
			skill 142,1,0;
			skill 143,1,0;
			mes "Welcome, please select the job you wish to change into";
			if(lastJob != 0 && Class == Job_Novice_High){
				switch(lastJob){
					case Job_Knight:
					case Job_Crusader:
						set @target_job, Job_Swordman_High;
						getitem 13945,1;
						break;
					case Job_Monk:
					case Job_Priest:
						set @target_job, Job_Acolyte_High;
						getitem 13947,1;
						break;
					case Job_Alchemist:
					case Job_Blacksmith:
						set @target_job, Job_Merchant_High;
						getitem 13949,1;
						break;
					case Job_Rogue:
					case Job_Assassin:
						set @target_job, Job_Thief_High;
						getitem 13950,1;
						break;
					case Job_Wizard:
					case Job_Sage:
						set @target_job, Job_Mage_High;
						getitem 13946,1;
						break;
					case Job_Hunter:
					case Job_Bard:
					case Job_Dancer:
						set @target_job, Job_Archer_High;
						getitem 13948,1;
						break;
							}
			} else {
				switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",
					"Super Novice","Taekwon","Gunslinger","Ninja")){
						case 7:
							if(Class == Job_Novice_High) goto L_noReq;
							if($@JC_SupNovM > BaseLevel) goto L_BvError;
							if(Upper == 2)
								set @target_job, Job_Super_Baby;
							else
								set @target_job, Job_SuperNovice;
							break;
						case 8:
							if(Class == Job_Novice_High) goto L_noReq;
							if(Upper == 2) goto L_noReq;
							set @target_job, Job_Taekwon;
							break;
						case 9:
						case 10:
							if(Class == Job_Novice_High || Upper == 2) goto L_noReq;
							set @target_job, @menu + 15;
							break;
						default:
							set @target_job, @menu;
							if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
							break;
					}
			}
			mes "Are you sure you want to change to " + JobName(@target_job) + "?";
			if(select("No","Yes") == 2){
				callfunc "Job_Change", @target_job;
				if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {
					callfunc "F_ClearJobVar";
				} else {
					if($@JC_Plat) goto L_GivePlat;
				}
			}
			close;
			break;
		default:
			if(JobLevel < $@JC_MinimumJB) goto L_LvError;
			deletearray @job_opt, getarraysize(@job_opt);
			if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){
				if(lastJob != 0){
					set @target_job, lastJob + 4001;
				} else {
					switch(Class){
						case Job_Swordman_High:
						case Job_Baby_Swordman:
						case Job_Swordman:
							set @job_opt[0], Job_Knight;
							set @job_opt[1], Job_Crusader;
							break;
						case Job_Mage_High:
						case Job_Baby_Mage:
						case Job_Mage:
							set @job_opt[0], Job_Wizard;
							set @job_opt[1], Job_Sage;
							break;
						case Job_Archer_High:
						case Job_Baby_Archer:
						case Job_Archer:
							set @job_opt[0], Job_Hunter;
							if(Sex == 0)
								set @job_opt[1], Job_Dancer;
							else
								set @job_opt[1], Job_Bard;
							break;
						case Job_Acolyte_High:
						case Job_Baby_Acolyte:
						case Job_Acolyte:
							set @job_opt[0], Job_Priest;
							set @job_opt[1], Job_Monk;
							break;
						case Job_Merchant_High:
						case Job_Baby_Merchant:
						case Job_Merchant:
							set @job_opt[0], Job_Blacksmith;
							set @job_opt[1], Job_Alchemist;
							break;
						case Job_Thief_High:
						case Job_Baby_Thief:
						case Job_Thief:
							set @job_opt[0], Job_Assassin;
							set @job_opt[1], Job_Rogue;
							break;						
						default:
							set @job_opt[0], Job_Star_Gladiator;
							set @job_opt[1], Job_Soul_Linker;
							break;
					}
					mes "Welcome, please select the job you wish to change into";
					set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];
					if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;
				}
				mes "Are you sure you want to change to " + JobName(@target_job) + "?";
				if(select("No","Yes")==2){
					callfunc "Job_Change", @target_job;
					if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) {
						callfunc "F_ClearJobVar";
					} else {
						if($@JC_Plat) goto L_GivePlat;
					}
				}
				close;
			}
			if(checkfalcon() || checkcart() || checkriding()) goto L_remove;
			if((Class >=Job_Knight) && (Class <=Job_Crusader2)){
				mes "Do you want to reborn?";
				if(select("Yes","No")==1){
					if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;
					set lastJob, Class;
					if(Class == Job_Knight2){
						set lastJob, Job_Knight;
					} else {
						if(Class == Job_Crusader2){
							set lastJob, Job_Crusader;
						}
					}
					jobchange Job_Novice_High;
					resetlvl(1);
					skill 142,1,0;
					skill 143,1,0;
				}
				close;
			}
	}
	mes "I'm sorry, there are no further classes for your job.";
	close;

L_GivePlat:
	if (BaseClass==Job_SuperNovice) goto L_sSuperN;
	if (BaseClass==Job_Swordman) goto L_sSword;
	if (BaseClass==Job_Mage) goto L_sMage;
	if (BaseClass==Job_Archer) goto L_sArcher;
	if (BaseClass==Job_Acolyte) goto L_sAcolyte;
	if (BaseClass==Job_Merchant) goto L_sMerchant;
	if (BaseClass==Job_Thief) goto L_sThief;
	close;
L_sSuperN:
	skill 142,1,0;
	close;
L_sSword:
	skill 142,1,0;
	skill 144,1,0;
	skill 145,1,0;
	skill 146,1,0;
	close;
L_sMage:
	skill 142,1,0;
	skill 157,1,0;
	close;
L_sArcher:
	skill 142,1,0;
	skill 147,1,0;
	skill 148,1,0;
	close;
L_sAcolyte:
	skill 142,1,0;
	skill 156,1,0;
	close;
L_sMerchant:
	skill 142,1,0;
	skill 153,1,0;
	skill 154,1,0;
	skill 155,1,0;
	close;
L_sThief:
	skill 142,1,0;
	skill 149,1,0;
	skill 150,1,0;
	skill 151,1,0;
	skill 152,1,0;
	close;

L_cantCh:
	mes "I'm sorry, you do not meet the requirements to change";
	mes "Please come again soon!";
	close;

L_LvError:
	mes "I'm sorry, you do not seem to have enough Job Levels";
	mes "Please come again soon!";
	close;

L_BvError:
	mes "I'm sorry, you do not seem to have enough Base Levels";
	mes "Please come again soon!";
	close;

L_noReq:
	mes "I'm sorry, you do not meet the requirements to change";
	mes "Please come again soon!";
	close;

L_remove:
	mes "Please remove your cart,falcon or peco";
	mes "Please come again soon!";
	close;

OnInit:
	// Variable Setup
	set $@JC_MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)
	set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
	set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45)
	end;
}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  1125
  • Reputation:   236
  • Joined:  07/30/12
  • Last Seen:  


//===== eAthena Script =======================================

//= eAthena Jobchanger AKA Job Master

//===== By: ==================================================

//= eAthena Dev Team [Ori:LunatikBunnie] [Cur:Lance]

//===== Current Version: =====================================

//= 1.5a

//===== Compatible With: =====================================

//= eAthena SVN Trunk 6674

//===== Description: =========================================

//= Changes your job without asking too much

//= For other info, please contact me at [email protected]

//= Editted menu to avoid button mashing.

//= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]

//= script leaves grabage variable: 'lastJob'

//= 1.4 Added NJ/GS, changed all job numbers to Job_* constants.

//= All credits go to pxxx [Skotlex]

//= 1.5 Rewrite everything from scratch. [Lance]

//= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus]

//============================================================

prontera,149,187,6 script Job Master 743,{

mes "^ff0000[Job Master]^000000";

if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq;

if(SkillPoint != 0){

mes "I'm sorry, please use up all your skill points before changing jobs";

mes "Please come again soon!";

close;

}

if(JobLevel < 10) goto L_LvError;

switch(Class){

case Job_Novice_High:

case Job_Baby:

case Job_Novice:

skill 142,1,0;

skill 143,1,0;

mes "Welcome, please select the job you wish to change into";

if(lastJob != 0 && Class == Job_Novice_High){

switch(lastJob){

case Job_Knight:

case Job_Crusader:

set @target_job, Job_Swordman_High;

break;

case Job_Monk:

case Job_Priest:

set @target_job, Job_Acolyte_High;

break;

case Job_Alchemist:

case Job_Blacksmith:

set @target_job, Job_Merchant_High;

break;

case Job_Rogue:

case Job_Assassin:

set @target_job, Job_Thief_High;

break;

case Job_Wizard:

case Job_Sage:

set @target_job, Job_Mage_High;

break;

case Job_Hunter:

case Job_Bard:

case Job_Dancer:

set @target_job, Job_Archer_High;

break;

}

} else {

switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",

"Super Novice","Taekwon","Gunslinger","Ninja")){

case 7:

if(Class == Job_Novice_High) goto L_noReq;

if($@JC_SupNovM > BaseLevel) goto L_BvError;

if(Upper == 2)

set @target_job, Job_Super_Baby;

else

set @target_job, Job_SuperNovice;

break;

case 8:

if(Class == Job_Novice_High) goto L_noReq;

if(Upper == 2) goto L_noReq;

set @target_job, Job_Taekwon;

break;

case 9:

case 10:

if(Class == Job_Novice_High || Upper == 2) goto L_noReq;

set @target_job, @menu + 15;

break;

default:

set @target_job, @menu;

if(Class == Job_Novice_High) set @target_job, @target_job + 4001;

break;

}

}

mes "Are you sure you want to change to " + JobName(@target_job) + "?";

if(select("No","Yes") == 2){

callfunc "Job_Change", @target_job;

if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {

callfunc "F_ClearJobVar";

} else {

if($@JC_Plat) goto L_GivePlat;

}

}

close;

break;

default:

if(JobLevel < $@JC_MinimumJB) goto L_LvError;

deletearray @job_opt, getarraysize(@job_opt);

if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){

if(lastJob != 0){

set @target_job, lastJob + 4001;

} else {

switch(Class){

case Job_Swordman_High:

case Job_Baby_Swordman:

case Job_Swordman:

set @job_opt[0], Job_Knight;

set @job_opt[1], Job_Crusader;

break;

case Job_Mage_High:

case Job_Baby_Mage:

case Job_Mage:

set @job_opt[0], Job_Wizard;

set @job_opt[1], Job_Sage;

break;

case Job_Archer_High:

case Job_Baby_Archer:

case Job_Archer:

set @job_opt[0], Job_Hunter;

if(Sex == 0)

set @job_opt[1], Job_Dancer;

else

set @job_opt[1], Job_Bard;

break;

case Job_Acolyte_High:

case Job_Baby_Acolyte:

case Job_Acolyte:

set @job_opt[0], Job_Priest;

set @job_opt[1], Job_Monk;

break;

case Job_Merchant_High:

case Job_Baby_Merchant:

case Job_Merchant:

set @job_opt[0], Job_Blacksmith;

set @job_opt[1], Job_Alchemist;

break;

case Job_Thief_High:

case Job_Baby_Thief:

case Job_Thief:

set @job_opt[0], Job_Assassin;

set @job_opt[1], Job_Rogue;

break;

default:

set @job_opt[0], Job_Star_Gladiator;

set @job_opt[1], Job_Soul_Linker;

break;

}

mes "Welcome, please select the job you wish to change into";

set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];

if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;

}

mes "Are you sure you want to change to " + JobName(@target_job) + "?";

if(select("No","Yes")==2){

callfunc "Job_Change", @target_job;

if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) {

callfunc "F_ClearJobVar";

} else {

if($@JC_Plat) goto L_GivePlat;

}

}

close;

}

if(checkfalcon() || checkcart() || checkriding()) goto L_remove;

if((Class >=Job_Knight) && (Class <=Job_Crusader2)){

mes "Do you want to reborn?";

if(select("Yes","No")==1){

if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;

set lastJob, Class;

if(Class == Job_Knight2){

set lastJob, Job_Knight;

} else {

if(Class == Job_Crusader2){

set lastJob, Job_Crusader;

}

}

jobchange Job_Novice_High;

resetlvl(1);

skill 142,1,0;

skill 143,1,0;

}

close;

}

}

mes "I'm sorry, there are no further classes for your job.";

close;

L_GivePlat:

if (BaseClass==Job_SuperNovice) goto L_sSuperN;

if (BaseClass==Job_Swordman) goto L_sSword;

if (BaseClass==Job_Mage) goto L_sMage;

if (BaseClass==Job_Archer) goto L_sArcher;

if (BaseClass==Job_Acolyte) goto L_sAcolyte;

if (BaseClass==Job_Merchant) goto L_sMerchant;

if (BaseClass==Job_Thief) goto L_sThief;

close;

L_sSuperN:

skill 142,1,0;

close;

L_sSword:

skill 142,1,0;

skill 144,1,0;

skill 145,1,0;

skill 146,1,0;

getitem 13945,1;

close;

L_sMage:

skill 142,1,0;

skill 157,1,0;

getitem 13946,1;

close;

L_sArcher:

skill 142,1,0;

skill 147,1,0;

skill 148,1,0;

getitem 13948,1;

close;

L_sAcolyte:

skill 142,1,0;

skill 156,1,0;

getitem 13947,1;

close;

L_sMerchant:

skill 142,1,0;

skill 153,1,0;

skill 154,1,0;

skill 155,1,0;

getitem 13949,1;

close;

L_sThief:

skill 142,1,0;

skill 149,1,0;

skill 150,1,0;

skill 151,1,0;

skill 152,1,0;

getitem 13950,1;

close;

L_cantCh:

mes "I'm sorry, you do not meet the requirements to change";

mes "Please come again soon!";

close;

L_LvError:

mes "I'm sorry, you do not seem to have enough Job Levels";

mes "Please come again soon!";

close;

L_BvError:

mes "I'm sorry, you do not seem to have enough Base Levels";

mes "Please come again soon!";

close;

L_noReq:

mes "I'm sorry, you do not meet the requirements to change";

mes "Please come again soon!";

close;

L_remove:

mes "Please remove your cart,falcon or peco";

mes "Please come again soon!";

close;

OnInit:

// Variable Setup

set $@JC_MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)

set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)

set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45)

end;

}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  161
  • Topics Per Day:  0.04
  • Content Count:  429
  • Reputation:   5
  • Joined:  11/21/11
  • Last Seen:  

lordknight paladin get the reward not only the 1stjob swordsman :(

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  308
  • Reputation:   3
  • Joined:  12/18/11
  • Last Seen:  

if (BaseClass==Job_SuperNovice)

 

change this to

if (Class==Job_SuperNovice) only SuperNovice can get the items

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