Jump to content
  • 0

emistry chain quest modification


teknical

Question


  • Group:  Members
  • Topic Count:  13
  • Topics Per Day:  0.00
  • Content Count:  34
  • Reputation:   0
  • Joined:  11/13/15
  • Last Seen:  

Hi can someone help me with this.  Instead of giving an item for reward I want it to give experience. Can someone help me with this one. Thanks


// NPC Name must have a Number behind it.  ex Name#1 , Name#2,...

prontera,155,181,5	script	Chained Quest#1	757,{
function	ChainedQuest;
mes "I am a Chained Quest NPC, you can only redo the previous Quest after you have finished all of my Quests.";
next;

// Quest Setup : 
// ChainedQuest( Reward,Amount , Required Zeny, {Item1,Amount1,Item2,Amount2,...} );
switch( getd( "Quest"+strnpcinfo(2) ) ){
	Case 0: ChainedQuest( 5001,1, 10000, 607,10 );
	Case 1: ChainedQuest( 5002,1, 15000, 607,20, 608,20 );
	Case 2: ChainedQuest( 5003,1, 20000, 607,30, 608,30, 7539,30 );
//	Case 3: ChainedQuest( 5004,1, 25000, 607,40, 608,30, 7539,40 ,501,10 );
//	Case 4: ChainedQuest( 5005,1, 30000, 607,50, 608,30, 7539,50 ,501,10 ,502,10 );
//	Case 5: ChainedQuest(....);
//	Case 6: ChainedQuest(....);
default:
	mes "Congratulation ,You have finished all the Quest i gave you, you may Re-Do if you want.";
	set getd( "Quest"+strnpcinfo(2) ),0;
	close;
}

OnPCLoadMapEvent:
	showevent 1,0;
	end;

function	ChainedQuest	{
	for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){
		if( countitem( getarg( .@i ) ) < ( getarg( .@i + 1 )) ){
			mes "[ ^FF0000Part "+( getd( "Quest"+strnpcinfo(2) ) + 1 )+"^000000 ]";
			mes "^00FF00_______________________________^000000";
			mes "^FF0000Reward^000000 : "+getarg(1)+" x ^0000FF"+getitemname( getarg(0) )+"^000000";
			mes "^00FF00_______________________________^000000";
			mes "then bring me those items :";
			mes "^00FF00_______________________________^000000";
			mes ( Zeny < getarg(2) ? "^FF0000":"^0000FF" )+getarg(2)+" Zeny^000000";
			for( set .@a,3; getarg( .@a,0 ) != 0 ; set .@a,.@a + 2 ){
				mes (( countitem(getarg( .@a )) < ( getarg(.@a + 1 )) )? "^FF0000[ "+countitem(getarg(.@a))+" / "+(getarg(.@a+1)):"^0000FF[ "+getd( "Quest"+strnpcinfo(2) ) )+" ] "+getitemname(getarg(.@a))+"^000000 ";
				}
			close;
			}
		}
	if( Zeny < getarg( 2 ) ){
		mes "You required "+getarg( 2 )+" Zeny.";
		close;
		}
	mes "[ ^FF0000Part "+( getd( "Quest"+strnpcinfo(2) ) + 1 )+"^000000 ]";
	mes "Look's like you have collected all";
	mes "^FF0000_______________________________^000000";
	mes ( Zeny < getarg(2) ? "^FF0000":"^0000FF" )+getarg(2)+" Zeny^000000";
	for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){
		mes "^FF0000"+getarg( .@i+1 )+" x ^0000FF "+getitemname( getarg( .@i ) )+"^000000";
		}
	next;
	if( select("^0000FFContinue^000000:Cancel") == 2 ){
		mes "Okay..as you wish ~ come back again when you do continue it.";
		close;
		}
	for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){
		delitem getarg( .@i ),getarg( .@i + 1 );
		}
	set Zeny,Zeny - getarg( 2 );
	set getd( "Quest"+strnpcinfo(2) ),getd( "Quest"+strnpcinfo(2) ) + 1;
	mes "You will be rewarded with ";
	mes "^0000FF_______________________________^000000";
	mes "^FF0000"+getarg(1)+"^000000 x ^0000FF"+getitemname( getarg(0) )+"^000000";
	mes "^0000FF_______________________________^000000";
	getitem getarg(0),getarg(1);
	close;
	}
}

prontera	mapflag	loadevent

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1678
  • Reputation:   704
  • Joined:  12/21/14
  • Last Seen:  

change 

getitem getarg(0),getarg(1);

to

getexp getarg(0),getarg(1);

not the item id is the base exp and the item amount is the job exp

and get rid of getitemname

i mean remove or edit lines line this

mes "^FF0000Reward^000000 : "+getarg(1)+" x ^0000FF"+getitemname( getarg(0) )+"^000000";

edit:

like that

// NPC Name must have a Number behind it.  ex Name#1 , Name#2,...

prontera,155,181,5	script	Chained Quest#1	757,{
function	ChainedQuest;
mes "I am a Chained Quest NPC, you can only redo the previous Quest after you have finished all of my Quests.";
next;

// Quest Setup : 
// ChainedQuest( Reward,Amount , Required Zeny, {Item1,Amount1,Item2,Amount2,...} );
switch( getd( "Quest"+strnpcinfo(2) ) ){
	Case 0: ChainedQuest( 5001,1, 10000, 607,10 );
	Case 1: ChainedQuest( 5002,1, 15000, 607,20, 608,20 );
	Case 2: ChainedQuest( 5003,1, 20000, 607,30, 608,30, 7539,30 );
//	Case 3: ChainedQuest( 5004,1, 25000, 607,40, 608,30, 7539,40 ,501,10 );
//	Case 4: ChainedQuest( 5005,1, 30000, 607,50, 608,30, 7539,50 ,501,10 ,502,10 );
//	Case 5: ChainedQuest(....);
//	Case 6: ChainedQuest(....);
default:
	mes "Congratulation ,You have finished all the Quest i gave you, you may Re-Do if you want.";
	set getd( "Quest"+strnpcinfo(2) ),0;
	close;
}

OnPCLoadMapEvent:
	showevent 1,0;
	end;

function	ChainedQuest	{
	for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){
		if( countitem( getarg( .@i ) ) < ( getarg( .@i + 1 )) ){
			mes "[ ^FF0000Part "+( getd( "Quest"+strnpcinfo(2) ) + 1 )+"^000000 ]";
			mes "^00FF00_______________________________^000000";
			//mes "^FF0000Reward^000000 : "+getarg(1)+" x ^0000FF"+getitemname( getarg(0) )+"^000000";
			mes "^00FF00_______________________________^000000";
			mes "then bring me those items :";
			mes "^00FF00_______________________________^000000";
			mes ( Zeny < getarg(2) ? "^FF0000":"^0000FF" )+getarg(2)+" Zeny^000000";
			for( set .@a,3; getarg( .@a,0 ) != 0 ; set .@a,.@a + 2 ){
				mes (( countitem(getarg( .@a )) < ( getarg(.@a + 1 )) )? "^FF0000[ "+countitem(getarg(.@a))+" / "+(getarg(.@a+1)):"^0000FF[ "+getd( "Quest"+strnpcinfo(2) ) )+" ] "+getitemname(getarg(.@a))+"^000000 ";
				}
			close;
			}
		}
	if( Zeny < getarg( 2 ) ){
		mes "You required "+getarg( 2 )+" Zeny.";
		close;
		}
	mes "[ ^FF0000Part "+( getd( "Quest"+strnpcinfo(2) ) + 1 )+"^000000 ]";
	mes "Look's like you have collected all";
	mes "^FF0000_______________________________^000000";
	mes ( Zeny < getarg(2) ? "^FF0000":"^0000FF" )+getarg(2)+" Zeny^000000";
	for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){
		mes "^FF0000"+getarg( .@i+1 )+" x ^0000FF "+getitemname( getarg( .@i ) )+"^000000";
		}
	next;
	if( select("^0000FFContinue^000000:Cancel") == 2 ){
		mes "Okay..as you wish ~ come back again when you do continue it.";
		close;
		}
	for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){
		delitem getarg( .@i ),getarg( .@i + 1 );
		}
	set Zeny,Zeny - getarg( 2 );
	set getd( "Quest"+strnpcinfo(2) ),getd( "Quest"+strnpcinfo(2) ) + 1;
	mes "You will be rewarded with ";
	mes "^0000FF_______________________________^000000";
	//mes "^FF0000"+getarg(1)+"^000000 x ^0000FF"+getitemname( getarg(0) )+"^000000";
	mes "^0000FF_______________________________^000000";
	getexp getarg(0),getarg(1);
	close;
	}
}

prontera	mapflag	loadevent

 

Edited by sader1992
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  281
  • Reputation:   14
  • Joined:  10/14/13
  • Last Seen:  

3 hours ago, sader1992 said:

i mean remove or edit lines line this

 

You can use this as an alternative to that uncommented line:

mes "^FF0000Reward^000000 - Base Level EXP: "+getarg(0)+" and Job Level EXP: ^0000FF"+getarg(1)+"^000000";

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  13
  • Topics Per Day:  0.00
  • Content Count:  34
  • Reputation:   0
  • Joined:  11/13/15
  • Last Seen:  

thanks guys it works!!!

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