prontera,150,150,4 script VFP Manager 62,{ function getPoints; set .@n$, "[VFP Manager]"; set .@settings, 1; // 0 = item, 1 = shop set .@itemReward, 501; // if settings is set to item set .@convertRate, 2; // 2 Vote Points for 1 Red Potion set .vp, getPoints(getcharid(3)); switch (.@settings) { case 0: mes .@n$; mes "Would you like to convert your "+ .vp +" Vote Points?"; mes "^ff0000The current convert rate is "+ .@convertRate +" Vote Points for 1 "+ getitemname(.@itemReward) +"."; next; menu "Yes", L_Convert, "No", -; mes .@n$; mes "Bye, then."; break; case 1: mes .@n$; mes "You have ^ff0000"+ .vp +"^000000 Vote Points."; mes "Would you like to go shopping?"; next; menu "Yes", -, "No", L_Goodbye; mes .@n$; mes "Have fun shopping!"; callshop "votepoints_shop",1; npcshopattach "votepoints_shop"; end; } L_Goodbye: mes .@n$; mes "Goodbye, then."; close; L_Convert: if (.vp < .@convertRate) goto L_VotePointsTooLow; mes .@n$; mes "How much Vote Points would you like to convert?"; next; menu "All", L_ConvertAll, "Input Amount", L_ConvertAmount; L_ConvertAmount: input .@convert; if (.@convert > .vp) goto L_VotePointsTooLow; set .vp, ((.vp - .@convert) + (.@convert % .@convertRate)); set .@convert, (.@convert / .@convertRate); getitem .@itemReward, .@convert; query_sql("UPDATE cp_createlog SET votepoints = "+ .vp +" WHERE account_id = "+ getcharid(3)); mes .@n$; mes "You have received "+ .@convert +"x "+ getitemname(.@itemReward) +"."; mes "Your current Vote Points is "+ .vp; close; L_ConvertAll: set .@convert, (.vp / .@convertRate); set .vp, (.vp % .@convertRate); getitem .@itemReward, .@convert; query_sql("UPDATE cp_createlog SET votepoints = "+ .vp +" WHERE account_id = "+ getcharid(3)); mes .@n$; mes "You have received "+ .@convert +"x "+ getitemname(.@itemReward) +"."; mes "Your current Vote Points is "+ .vp; close; L_VotePointsTooLow: mes .@n$; mes "Your Vote Points is too low. Come back when you have the minimum amount of Vote Points."; close; function getPoints { set .@account_id, getarg(0); set .@count, query_sql("SELECT votepoints FROM cp_createlog WHERE account_id = "+ .@account_id, .@votepoints); return .@count ? .@votepoints : 0; } OnBuyItem: set .@cost,0; for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) for(set .@j,0; .@j<getarraysize(.itemShop); set .@j,.@j+2) if (@bought_nameid[.@i] == .itemShop[.@j]) { set .@cost, .@cost+(.itemShop[.@j+1]*@bought_quantity[.@i]); break; } mes .@n$; if (.@cost > .vp) mes "You don't have enough Vote Points."; else { for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) { getitem @bought_nameid[.@i], @bought_quantity[.@i]; dispbottom "Purchased "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"."; } set .vp, .vp - .@cost; query_sql("UPDATE cp_createlog SET votepoints = votepoints - "+ .@cost +" WHERE account_id = "+ getcharid(3)); mes .@n$; mes "Deal completed."; mes "You now have ^ff0000"+ .vp +"^000000 Vote Points."; emotion e_cash; } set .@cost,0; deletearray @bought_nameid[0], getarraysize(@bought_nameid); deletearray @bought_quantity[0], getarraysize(@bought_quantity); close; OnInit: setarray .itemShop[0], 501,2,607,5; // <ITEM_ID>,<PRICE>,... npcshopdelitem "votepoints_shop",512; for(set .@i, 0; .@i < getarraysize(.itemShop); set .@i, .@i+2) npcshopadditem "votepoints_shop", .itemShop[.@i], .itemShop[.@i+1]; end;} - shop votepoints_shop -1,512:-1