Jump to content
  • 0
Sign in to follow this  
benormal

Donation Item Npc

Question

-	shop	donateshop	111,501:50prontera,200,180,3	script	Donate Shop	112,{	set @i,0;	mes "[Donate Shop]";	mes "Each item will cost you some ^008800Voting Proof Tickets^000000";	mes "Select only one.";	callshop "donateshop",1;	npcshopattach "donateshop";	end;OnBuyItem:	if(.BuildQuest) {		for(set .e,0; !compare(getarg(.e+1),"Zeny"); set .e,.e+2) {}		npcshopadditem "donateshop",getarg(.e+2),getarg(.e)*compare(getarg(.e+1),"SZeny");		setarray .Shop[.i],getarg(.e+2);		set .i,.i+1;		goto Quest_Setup;	}	if(.Shop[@i]!=@bought_nameid) for(set @i,1; 1; set @i,@i+1) if(.Shop[@i]==@bought_nameid) { set .i,@i; callsub Quest_Setup; }	for(set @i,1; !@e; set @i,@i+1) if(.Shop[@i]==@bought_nameid) { set @e,1; set .i,@i; callsub Quest_Setup; }	mes "[Donate Shop]";	mes "I require the following:";	for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) mes "^880000" + ((countitem(getarg(@i))>=getarg(@i+1))? "^008800":"") + "" + getarg(@i+1) + " " + getitemname(getarg(@i)) + " [" + countitem(getarg(@i)) + "/" + getarg(@i+1) + "]";	if(getarg(@i)) mes "^880000" + ((Zeny>=getarg(@i))? "^008800":"") + "" + getarg(@i) + " Zeny";	mes "^000000In exchange, I will give you:^000088";	for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) mes getarg(@i+1) + " " + getitemname(getarg(@i));	switch(select("Exchange:" + (((((getiteminfo(@bought_nameid,5) & 1) || (getiteminfo(@bought_nameid,5) & 256) || (getiteminfo(@bought_nameid,5) & 512)) && @equip==0))? "Preview Item":"") + ":No thanks")) {		case 1:			for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) if(countitem(getarg(@i)) < getarg(@i+1)) {				next;				mes "You have " + countitem(getarg(@i)) + " " + getitemname(getarg(@i)) + ", while I require " + getarg(@i+1) + ".";				mes "Please obtain ^880000" + (getarg(@i+1)-countitem(getarg(@i))) + " more " + getitemname(getarg(@i)) + "^000000.";				close;			}			if(Zeny < getarg(@i)) {				next;				mes "You do not have enough Zeny.";				mes "Please obtain ^880000" + (getarg(@i)-Zeny) + " more Zeny^000000.";				close;			}			for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) delitem getarg(@i),getarg(@i+1);			set Zeny,Zeny-getarg(@i);			for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) getitem getarg(@i),getarg(@i+1);			if (compare(getarg(@i,0),"announce")) announce strcharinfo(0) + " has just obtained " + getitemname(@bought_nameid) + "!",bc_all;			close;		case 2:			set @bottomview, getlook(3);			set @topview, getlook(4);			set @midview, getlook(5);			addtimer 1000, strnpcinfo(3)+"::On_Leave";			set @equip,getiteminfo(@bought_nameid, 5);			set @view, getiteminfo(@bought_nameid, 11);			if(@equip != -1 && @view > 0) {				if(@equip & 1) atcommand "@changelook 3 " + @view;				if(@equip & 256) atcommand "@changelook 1 " + @view;				if(@equip & 512) atcommand "@changelook 2 " + @view;			}			next;			goto OnBuyItem;		case 3:			close;	}On_Leave:	atcommand "@changelook 1 " + @topview;	atcommand "@changelook 2 " + @midview;	atcommand "@changelook 3 " + @bottomview;	set @equip,0;	set @view,0;	set @topview,0;	set @midview,0;	set @bottomview,0;	end;OnInit:	npcshopitem "donateshop",0,0;	set .BuildQuest,1;	set .i,1;Quest_Setup:	switch(.i) {		default: set .BuildQuest,0; set .e,0; set .i,0; end;		case 1: callsub OnBuyItem,7179,10,10,"SZeny",5135,1;	}}

Here is my npc code i want to create 3 different npcs with 3 different lists of items but there is same items in 3 different npcs when i check in game. how can i do it? Or when you click to the npc, it will show you 3 categories "headgears, cards, items" instead of listing all how can i do this ? Please help

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

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

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.