Jump to content
  • 0
Sign in to follow this  
benormal

Donation System

Question

I'm using Flux Cp and there have one donation system and here my question How can i use my control panel's donation system in the server. I want people to be able to use donation credits in game. Such as getting items from a donation npc with donation coins or credits. I'm confused. help me -.-

Edited by benormal

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0
-	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;	}}

Share this post


Link to post
Share on other sites
  • 0

 

-	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;	}}

 

Thanks a lot this is exactly what i was searching for. Now i wonder that when people donate from CP, will be the points active in here? 

And 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?

Edited by benormal

Share this post


Link to post
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.   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.