Jump to content
  • 0

Question

Hi, can anyone change this to instead of item convert it to zeny ? once they vote they can get a zeny as reward

 

//====================================================================================//Script Name: Vote For Points NPC Script for FluxCP//SVN: Tested in rAthena r156513//Developed By: JayPee Mateo//Version: 1.0//Requirement(s): FluxCP V4P Addon//Description: This is a npc script for FluxCP Vote for points in order for the players//to claim their vote points//====================================================================================prontera,143,190,5	script	Vote Shop	89,{//Function Prototypesfunction garbagecol;//Garbage collection for the Character variablesgarbagecol();function add_item; //Syntanx: add_item(ITEMID,QUANTITY,POINTS,CATEGORY);function makeCategory;//This will return a list of the categoriesfunction getItemsByCat;//This will return the list of items associated to the particular categoryfunction getItemDetails;//This will return the details of the itemfunction getPoints;//This will return the points of the player stored in the databasefunction updatePoints;//This will updates the points of the player stored in the database//NPC Nameset .npcname$,"[ Vote For Points ]";	//Initialization of the Rewardsadd_item(12210,10,100,"Bubblegum");add_item(1084,10,100,"Kafra Pass");add_item(16396,1,100,"HD Elunium 10 Box");add_item(16394,1,100,"HD Oridecon 10 Box");//Script Start		mes .npcname$;	mes "Hi! Do you want to exchange your vote points?:";	switch(select("Yes, I want to exchange my points:See my points"))	{		case 1:		next;			mes .npcname$;			mes "Please choose a category:";			set .@selected,select(makeCategory())-1;		next;			mes .npcname$;			mes "Please the item you want:";			set .@selected,select(getItemsByCat(@listCat$[.@selected]))-1;					next;			mes .npcname$;									set .@ritemid,getItemDetails(@itemKeys[.@selected],"itemid");			set .@rquantity,getItemDetails(@itemKeys[.@selected],"quantity");			set .@rpoints,getItemDetails(@itemKeys[.@selected],"points");			mes "Item ID:"+.@ritemid;			mes "Item Name: "+getitemname(.@ritemid);			mes "Item Quantity: "+.@rquantity+" pc(s).";			mes "Required Points: "+.@rpoints+" pt(s).";			mes "n";			mes "Do you want to this item?";			if(select("Yes:No")==1)			{				set .@points,getPoints(getcharid(3));				if(.@points>=.@rpoints)				{					next;					mes .npcname$;								updatePoints(getcharid(3),.@rpoints);					getitem .@ritemid,.@rquantity;					mes "Here you go!. Thank you for voting. Don't forget to vote again. :D";				}				else					mes "Sorry, you do not have enough points for this item.";							}			else			{				next;				mes .npcname$;							mes "Okay bye!";			}						garbagecol();		close;		case 2:			next;			mes .npcname$;						set .@points,getPoints(getcharid(3));						mes "You currently have "+.@points+" pt(s).";			garbagecol();		close;	}end;//Functions Bodies	function updatePoints {		set .@account_id,getarg(0);		set .@usedPoints,getarg(1);		query_sql("UPDATE `cp_v4p_voters` SET points=(points-"+.@usedPoints+") WHERE account_id='"+.@account_id+"'");		return;	}	function getPoints {		set .@account_id,getarg(0);		query_sql("SELECT `points` FROM `cp_v4p_voters` WHERE account_id="+.@account_id+" LIMIT 1",.@points);		if(getarraysize(.@points)==0)			return 0;				return .@points[0];	}	function getItemDetails {		set .@key,getarg(0); //Key		set .@detail$,getarg(1); //What details to return such as ItemID, Points, Quantity, Category				if(strtolower(.@detail$) == strtolower("ItemID"))			return @itemID[.@key];		else if(strtolower(.@detail$) == strtolower("Quantity"))			return @itemQ[.@key];		else if(strtolower(.@detail$) == strtolower("Points"))			return @points[.@key];		else if(strtolower(.@detail$) == strtolower("Category"))			return @category$[.@key];	}	function getItemsByCat {				set .@selectedCat$,getarg(0);		set .@make_string$,"";		set .@x,0;		for(set .@i,0; .@i<getarraysize(@category$); set .@i,.@i+1)		{			if(strtolower(.@selectedCat$) == strtolower(@category$[.@i]))			{				setarray @itemKeys[.@x],.@i;				if(.@make_string$ == "")					set .@make_string$,getitemname(@itemID[.@i]);				else					set .@make_string$,.@make_string$+":"+getitemname(@itemID[.@i]);								set .@x,.@x+1;			}		}		return .@make_string$;	}			function makeCategory {		set .@make_string$,"";		for(set .@i,0; .@i<getarraysize(@category$); set .@i,.@i+1)		{						if(.@make_string$ == "")			{				setarray @listCat$[getarraysize(@listCat$)],@category$[.@i];				set .@make_string$,@category$[.@i];			}			else			{				if(compare(.@make_string$,@category$[.@i])==0)				{					setarray @listCat$[getarraysize(@listCat$)],@category$[.@i];					set .@make_string$,.@make_string$+":"+@category$[.@i];								}			}		}		return .@make_string$;	}				function add_item	{		set .@itemID,getarg(0,-1); //IteID		set .@itemQ,getarg(1,-1); //Item Quantity		set .@points,getarg(2,-1);		set .@cat$,getarg(3,"Uncategorized"); //Category						if(.@itemID == -1)		{			debugmes "Invalid Item ID. Script not completely loaded.";			end;		}		else if(.@itemQ == -1)		{			debugmes "Invalid Item Quantity. Script not completely loaded.";			end;		}		else if(.@points == -1)		{			debugmes "Points assignment error. Script not completely loaded.";			end;		}		set .@key,getarraysize(@itemID);		setarray @itemID[.@key],.@itemID;		setarray @itemQ[.@key],.@itemQ;		setarray @points[.@key],.@points;		setarray @category$[.@key],.@cat$;		return 1; //return 1 as success	}		function garbagecol{		deletearray @itemID[0],128;		deletearray @itemQ[0],128;		deletearray @points[0],128;			deletearray @category$[0],128;			deletearray @listCat$[0],128;		deletearray @itemKeys[0],128;		return;	}}

 

thanks alot

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
Guest
//====================================================================================//Script Name: Vote For Points NPC Script for FluxCP//SVN: Tested in rAthena r156513//Developed By: JayPee Mateo//Version: 1.0//Requirement(s): FluxCP V4P Addon//Description: This is a npc script for FluxCP Vote for points in order for the players//to claim their vote points//====================================================================================prontera,143,190,5	script	Vote Shop	89,{function getPoints;//This will return the points of the player stored in the databasefunction updatePoints;//This will updates the points of the player stored in the database//Settinhset .npcname$,"[ Vote For Points ]";set .@rpoints, 10;//Script Start		mes .npcname$;	mes "Hi! Do you want to exchange your vote points?:";	switch(select("Yes, I want to exchange my points:See my points"))	{		case 1:		next;			mes .npcname$;			mes "Do you want to change your points into Zeny?";			if( select("Yes","No")-1 ) end;		next;			mes .npcname$;			mes "You get 1Mio Zeny for " + .@rpoints + " points!";			mes "Do you agree?";			if( select("Yes","No")-1 ){				next;				mes .npcname$;							mes "Okay bye!";				end;			} else {				set .@points,getPoints(getcharid(3));				if(.@points>=.@rpoints)				{					next;					mes .npcname$;								updatePoints(getcharid(3),.@rpoints);					set Zeny,Zeny+ 1000000;					mes "Here you go!. Thank you for voting. Don't forget to vote again. :D";				}				else					mes "Sorry, you do not have enough points for this item.";							}					close;		case 2:			next;			mes .npcname$;						set .@points,getPoints(getcharid(3));						mes "You currently have "+.@points+" pt(s).";		close;	}end;//Functions Bodies	function updatePoints {		set .@account_id,getarg(0);		set .@usedPoints,getarg(1);		query_sql("UPDATE `cp_v4p_voters` SET points=(points-"+.@usedPoints+") WHERE account_id='"+.@account_id+"'");		return;	}	function getPoints {		set .@account_id,getarg(0);		query_sql("SELECT `points` FROM `cp_v4p_voters` WHERE account_id="+.@account_id+" LIMIT 1",.@points);		if(getarraysize(.@points)==0)			return 0;				return .@points[0];	}}

My changed scripted, test it :)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

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