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

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

×
×
  • Create New...

Important Information

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