Jump to content
  • 0

Quest NPC quest


Bringer

Question


  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

1.NPC Start Prontera

 

2.Once You Talk to the npc it will ask you to find 1 random Treasure Box NPC

 

but there will be 5 treasure boxes hidden on the map but you need to find right box

 

3.The right treasure box will show you the requirements. If  treasure will say it's locke  then it is the wrong one.

 

Gather all requirements to finish quest and bring them again to the right treasure box and you will get your quest item reward

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  51
  • Topics Per Day:  0.01
  • Content Count:  452
  • Reputation:   33
  • Joined:  12/18/14
  • Last Seen:  

prontera,123,123,4	script	Quest Start	123,{
	if(chest_done == 1){
		mes "...";
		mes "youre done with this quest";
		close;
	}
        if(chest_open){
                mes "...";
                mes "talk to correct chest...";
                close;
        }
	mes "...";
	mes "...";
	switch(select("Accept Quest:Decline")){
		case 1:
			mes "....";
			set .@chest,rand(0,4);
				switch(.@chest){
					case 0:
						mes "...";
						set chest_open,1;
						close;
					case 1:
						mes "...";
						set chest_open,2;
						close;
					case 2:
						mes "...";
						set chest_open,3;
						close;
					case 3:
						mes "...";
						set chest_open,4;
						close;
					case 4:
						mes "...";
						set chest_open,5;
						close;
				}
		case 2:
			mes "Okay..";
			close;
	}
}

-	script	Treasure Chest#1	-1,{
	if(chest_open != 1){ mes "..."; mes "wrong..."; close; } 
//make sure chest_open != value is same with number of chest
//example Treasure Chest#2 should have if(chest_open != 2){ ... close; }
	if(chest_done == 1){ mes "..,"; mes "done..."; close; }
		if(quest1_start){
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				if(countitem(.quest1[.@i]) < .quest_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				delitem .quest1[.@i],.quest_amt[.@i];
			}
			getitem <item_id>,<quantity>;
			set chest_done,1;
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				mes getitemname(.quest1[.@i])+" x"+.quest_amt[.@i];
			}
			set quest1_start;
			close;
	
	OnInit:
		setarray .quest1,501; //item needed
		setarray .quest1_amt,1; //amount needed
	end;
}

//Just continue adding -	script	Treasure Chest#2	-1,
//{ ... with copy paste of code from treasure chest#1, just make sure you change the values properly }

Made this quickly, not tested yet and its like skeleton, but it should be easy to set, just read out the comments i've made. If it has some errors let me know, I'll try to help as much as I can.

Edited by PandaLovesHamster
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

Made this quickly, not tested yet and its like skeleton, but it should be easy to set, just read out the comments i've made. If it has some errors let me know, I'll try to help as much as I can.

 

ok i ill try it thanks

 

here the coords of 5 TB

 

iz_dun03,229,187,4
mjo_dun03,197,201,4
moc_pryd06,85,183,4
pay_dun04,138,100,4
gl_cas02,176,12,4
 
i want the script Repeatable
Edited by DrewxD
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  51
  • Topics Per Day:  0.01
  • Content Count:  452
  • Reputation:   33
  • Joined:  12/18/14
  • Last Seen:  

prontera,123,123,4	script	Quest Start	123,{
        if(chest_open){
                mes "...";
                mes "talk to correct chest...";
                close;
        }
	mes "...";
	mes "...";
	switch(select("Accept Quest:Decline")){
		case 1:
			mes "....";
			set .@chest,rand(0,4);
				switch(.@chest){
					case 0:
						mes "...";
						set chest_open,1;
						close;
					case 1:
						mes "...";
						set chest_open,2;
						close;
					case 2:
						mes "...";
						set chest_open,3;
						close;
					case 3:
						mes "...";
						set chest_open,4;
						close;
					case 4:
						mes "...";
						set chest_open,5;
						close;
				}
		case 2:
			mes "Okay..";
			close;
	}
}

//Treasure Chest Start

-	script	Treasure Chest#1	-1,{

	if(chest_open != 1){ mes "..."; mes "wrong..."; close; } 
		if(quest1_start){
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				if(countitem(.quest1[.@i]) < .quest1_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				delitem .quest1[.@i],.quest1_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				mes getitemname(.quest1[.@i])+" x"+.quest1_amt[.@i];
			}
			set quest1_start;
			close;
	
	OnInit:
		setarray .quest1,501; //item needed
		setarray .quest1_amt,1; //amount needed
	end;
}

-	script	Treasure Chest#2	-1,{

	if(chest_open != 2){ mes "..."; mes "wrong..."; close; } 
		if(quest2_start){
			for(set .@i,0; .@i < getarraysize(.quest2); .@i++){
				if(countitem(.quest2[.@i]) < .quest2_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest2); .@i++){
				delitem .quest2[.@i],.quest2_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest2); .@i++){
				mes getitemname(.quest2[.@i])+" x"+.quest2_amt[.@i];
			}
			set quest2_start;
			close;
	
	OnInit:
		setarray .quest2,501; //item needed
		setarray .quest2_amt,1; //amount needed
	end;
}

-	script	Treasure Chest#3	-1,{

	if(chest_open != 3){ mes "..."; mes "wrong..."; close; } 
		if(quest3_start){
			for(set .@i,0; .@i < getarraysize(.quest3); .@i++){
				if(countitem(.quest3[.@i]) < .quest_amt3[.@i]){
					mes "..."
					mes "not enough"; 
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest3); .@i++){
				delitem .quest3[.@i],.quest3_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				mes getitemname(.quest3[.@i])+" x"+.quest3_amt[.@i];
			}
			set quest3_start;
			close;
	
	OnInit:
		setarray .quest3,501; //item needed
		setarray .quest3_amt,1; //amount needed
	end;
}

-	script	Treasure Chest#4	-1,{

	if(chest_open != 4){ mes "..."; mes "wrong..."; close; } 
		if(quest4_start){
			for(set .@i,0; .@i < getarraysize(.quest4); .@i++){
				if(countitem(.quest4[.@i]) < .quest4_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest4); .@i++){
				delitem .quest4[.@i],.quest4_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest4); .@i++){
				mes getitemname(.quest4[.@i])+" x"+.quest4_amt[.@i];
			}
			set quest4_start;
			close;
	
	OnInit:
		setarray .quest4,501; //item needed
		setarray .quest4_amt,1; //amount needed
	end;
}

-	script	Treasure Chest#5	-1,{

	if(chest_open != 5){ mes "..."; mes "wrong..."; close; } 
		if(quest5_start){
			for(set .@i,0; .@i < getarraysize(.quest5); .@i++){
				if(countitem(.quest5[.@i]) < .quest5_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest5); .@i++){
				delitem .quest5[.@i],.quest5_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest5); .@i++){
				mes getitemname(.quest5[.@i])+" x"+.quest5_amt[.@i];
			}
			set quest5_start;
			close;
	
	OnInit:
		setarray .quest5,501; //item needed
		setarray .quest5_amt,1; //amount needed
	end;
}

iz_dun03,229,187,4	duplicate(Treasure Chest#1)	Treasure Chest#iz	123
mjo_dun03,197,201,4	duplicate(Treasure Chest#2)	Treasure Chest#mjo	123
moc_pryd06,85,183,4	duplicate(Treasure Chest#3)	Treasure Chest#pryd	123
pay_dun04,138,100,4	duplicate(Treasure Chest#4)	Treasure Chest#pay	123
gl_cas02,176,12,4	duplicate(Treasure Chest#5)	Treasure Chest#gl	123

Not tested. Made the quest repeatable.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

prontera,123,123,4	script	Quest Start	123,{
        if(chest_open){
                mes "...";
                mes "talk to correct chest...";
                close;
        }
	mes "...";
	mes "...";
	switch(select("Accept Quest:Decline")){
		case 1:
			mes "....";
			set .@chest,rand(0,4);
				switch(.@chest){
					case 0:
						mes "...";
						set chest_open,1;
						close;
					case 1:
						mes "...";
						set chest_open,2;
						close;
					case 2:
						mes "...";
						set chest_open,3;
						close;
					case 3:
						mes "...";
						set chest_open,4;
						close;
					case 4:
						mes "...";
						set chest_open,5;
						close;
				}
		case 2:
			mes "Okay..";
			close;
	}
}

//Treasure Chest Start

-	script	Treasure Chest#1	-1,{

	if(chest_open != 1){ mes "..."; mes "wrong..."; close; } 
		if(quest1_start){
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				if(countitem(.quest1[.@i]) < .quest1_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				delitem .quest1[.@i],.quest1_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				mes getitemname(.quest1[.@i])+" x"+.quest1_amt[.@i];
			}
			set quest1_start;
			close;
	
	OnInit:
		setarray .quest1,501; //item needed
		setarray .quest1_amt,1; //amount needed
	end;
}

-	script	Treasure Chest#2	-1,{

	if(chest_open != 2){ mes "..."; mes "wrong..."; close; } 
		if(quest2_start){
			for(set .@i,0; .@i < getarraysize(.quest2); .@i++){
				if(countitem(.quest2[.@i]) < .quest2_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest2); .@i++){
				delitem .quest2[.@i],.quest2_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest2); .@i++){
				mes getitemname(.quest2[.@i])+" x"+.quest2_amt[.@i];
			}
			set quest2_start;
			close;
	
	OnInit:
		setarray .quest2,501; //item needed
		setarray .quest2_amt,1; //amount needed
	end;
}

-	script	Treasure Chest#3	-1,{

	if(chest_open != 3){ mes "..."; mes "wrong..."; close; } 
		if(quest3_start){
			for(set .@i,0; .@i < getarraysize(.quest3); .@i++){
				if(countitem(.quest3[.@i]) < .quest_amt3[.@i]){
					mes "..."
					mes "not enough"; 
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest3); .@i++){
				delitem .quest3[.@i],.quest3_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest1); .@i++){
				mes getitemname(.quest3[.@i])+" x"+.quest3_amt[.@i];
			}
			set quest3_start;
			close;
	
	OnInit:
		setarray .quest3,501; //item needed
		setarray .quest3_amt,1; //amount needed
	end;
}

-	script	Treasure Chest#4	-1,{

	if(chest_open != 4){ mes "..."; mes "wrong..."; close; } 
		if(quest4_start){
			for(set .@i,0; .@i < getarraysize(.quest4); .@i++){
				if(countitem(.quest4[.@i]) < .quest4_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest4); .@i++){
				delitem .quest4[.@i],.quest4_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest4); .@i++){
				mes getitemname(.quest4[.@i])+" x"+.quest4_amt[.@i];
			}
			set quest4_start;
			close;
	
	OnInit:
		setarray .quest4,501; //item needed
		setarray .quest4_amt,1; //amount needed
	end;
}

-	script	Treasure Chest#5	-1,{

	if(chest_open != 5){ mes "..."; mes "wrong..."; close; } 
		if(quest5_start){
			for(set .@i,0; .@i < getarraysize(.quest5); .@i++){
				if(countitem(.quest5[.@i]) < .quest5_amt[.@i]){
					mes "..."
					mes "not enough";
					close;
				}
			}
			for(set .@i,0; .@i < getarraysize(.quest5); .@i++){
				delitem .quest5[.@i],.quest5_amt[.@i];
			}
			getitem <item_id>,<quantity>; //item reward
			close;
		}
		
			mes "...";
			mes "I need following:";
			next;
			mes "...";
			for(set .@i,0; .@i < getarraysize(.quest5); .@i++){
				mes getitemname(.quest5[.@i])+" x"+.quest5_amt[.@i];
			}
			set quest5_start;
			close;
	
	OnInit:
		setarray .quest5,501; //item needed
		setarray .quest5_amt,1; //amount needed
	end;
}

iz_dun03,229,187,4	duplicate(Treasure Chest#1)	Treasure Chest#iz	123
mjo_dun03,197,201,4	duplicate(Treasure Chest#2)	Treasure Chest#mjo	123
moc_pryd06,85,183,4	duplicate(Treasure Chest#3)	Treasure Chest#pryd	123
pay_dun04,138,100,4	duplicate(Treasure Chest#4)	Treasure Chest#pay	123
gl_cas02,176,12,4	duplicate(Treasure Chest#5)	Treasure Chest#gl	123
Not tested. Made the quest repeatable.

Each party of Treasure Chest script missing ";"

mes "..."

error @ set quest1_start; to set quest5_start;

about Repeatable should be once i talk the right treasure box i need talk the Quest Start npc to get new quest for new treasure box but on this script as long requirements i can make the item again no need to talk quest start npc

Request for Repeatable I already done the quest if want to quest this want to start over again talk the 1st npc and hunt the new treasure box

12782024_910454889070995_878522725_n.jpg

Edited by DrewxD
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  51
  • Topics Per Day:  0.01
  • Content Count:  452
  • Reputation:   33
  • Joined:  12/18/14
  • Last Seen:  

I didn't make the script as complete as it should be, I'll try making a more complete one when I have time.

I'll probably make one when I get up later. I'm going to bed at this time.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

1. 1st npc will give you mission to find and talk to 2nd npc

 

2 after talking to 2nd npc you will receive an item the you need to bring to the next npc

 

3. 3rd npc will took the item then go back to 2nd npc

 

4. talk to 2nd npc again for the list of requirements needed for costume hat

 

once all requirements are gathered go back and bring them to 3rd npc to claim your costume hat

 

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  491
  • Reputation:   19
  • Joined:  11/19/11
  • Last Seen:  

maybe u can share u script first

or item if you need to quest

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

maybe u can share u script first

or item if you need to quest

what do u mean? i didnt get it
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  51
  • Topics Per Day:  0.01
  • Content Count:  452
  • Reputation:   33
  • Joined:  12/18/14
  • Last Seen:  


prontera,123,123,4 script Quest1 123,{

if(next_npc == 3) end;

mes "...";

menu "Accept Quest",-;

set next_npc,1;

next;

mes "...";

mes "accepted..";

close;

}

prontera,125,125,4 script Quest2 123,{

if(next_npc == 2){

mes "requirements...";

mes "....";

mes "....";

if(countitem(501) < 1 || countitem(502) < 1){ //add more depending on your requirements

mes "not enough";

}

delitem 501,1;

delitem 502,1;

getitem 503,1;

set next_npc,0;

close;

end;

}

if(next_npc != 1) end;

mes "...";

menu "Accept Quest",-;

set next_npc,2;

next;

mes "...";

mes "accepted..";

getitem 501,1;

close;

end;

}

prontera,127,127,4 script Quest3 123,{

if(next_npc != 2) end;

mes "...";

mes "Congratulations...";

delitem 501,1;

set next_npc,22;

close;

}

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

I didn't make the script as complete as it should be, I'll try making a more complete one when I have time.

I'll probably make one when I get up later. I'm going to bed at this time.

ok i will wait
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

1. 1st npc will give you mission to find and talk to 2nd npc

2 after talking to 2nd npc you will receive an item the you need to bring to the next npc

3. 3rd npc will took the item then go back to 2nd npc

4. talk to 2nd npc again for the list of requirements needed for costume hat

once all requirements are gathered go back and bring them to 3rd npc to claim your costume hat

prontera,123,123,4	script	Quest1	123,{

if(next_npc == 3) end;
	mes "...";
	menu "Accept Quest",-;
	set next_npc,1;
	next;
	mes "...";
	mes "accepted..";
	close;
}

prontera,125,125,4	script	Quest2	123,{

if(next_npc == 2){
	mes "requirements...";
	mes "....";
	mes "....";
	if(countitem(501) < 1 || countitem(502) < 1){ //add more depending on your requirements
		mes "not enough";
	}
	delitem 501,1;
	delitem 502,1;
	getitem 503,1;
	set next_npc,0;
	close;
	end;
}
if(next_npc != 1) end;
	mes "...";
	menu "Accept Quest",-;
	set next_npc,2;
	next;
	mes "...";
	mes "accepted..";
	getitem 501,1;
	close;
	end;
}

prontera,127,127,4	script	Quest3	123,{

if(next_npc != 2) end;
	mes "...";
	mes "Congratulations...";
	delitem 501,1;
	set next_npc,22;
	close;

}

hmm missing something on my request

Edited by DrewxD
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...