Zalbahis 0 Posted June 25, 2013 I would to request, a Currency shop for Zeny, Cash points and Items thanks , cause Sir Emistry Script won't work on Hercules..Thanks in Advance and More Power.. Cheers! Quote Share this post Link to post Share on other sites
0 Emistry 145 Posted June 25, 2013 i dont have any problem with it in hercules ... show your script problems... Quote Share this post Link to post Share on other sites
0 Zalbahis 0 Posted June 25, 2013 I haven't any problems at the Emulator, But the Npc says I have an Error with an Invalid Menu Selection..well here's the script.. // Settings :// - Only required to edit the ShopSetting() Function// Notes : You may also add / remove Menu ( If any ) // - Shop Currency can be either ItemID or Variable Name, but must write within Quotation Marks ( "" )// Ex. of Variable. -> Zeny , #CASHPOINTS , #KAFRAPOINTS , CustomVariable , #CustomVariable// - ERROR Message are used to show Invalid Settings in your NPC.// Leave this alone...- shop Emistry_Shop -1,512:100pvp_y_3-3,171,314,4 script Weapons 513,{function ShopSettings;function ValidateCost;function CurrencyInfo;function ClearData;function ValueConvert;function ErrorNotice;mes "Hello and Good Day to you!, I have the finest Weapons";mes "In town Take a Look and I'm sure you'll gotta love it";next;// Menu Selectionselect("1 & 2 Handed Swords","Axe & Daggers","Mace & Knux");ClearData();ShopSettings( @menu );npcshopitem "Emistry_Shop",512,100;npcshopdelitem "Emistry_Shop",512;for(set .@i,0; .@i < getarraysize( @ItemLists ); set .@i,.@i+1) npcshopadditem "Emistry_Shop",@ItemLists[.@i],@ItemCost[.@i];mes "Okay.. These are all I have in Stock";callshop "Emistry_Shop",1;npcshopattach "Emistry_Shop";end;function ShopSettings { switch( getarg(0) ){ Case 1: // Currency [ Item ID / Variable Name ] set @Currency$,"zeny"; // Item ID Lists setarray @ItemLists[0],1108,1117,1124,1130,1120,1149,1155,1158,1163,1164,1165; // Item Price setarray @ItemCost[0],2500,3000,10000,12000,50000,70000,22500,60000,74000,90000,12000; break; Case 2: // Currency [ Item ID / Variable Name ] set @Currency$,"zeny"; // Item ID Lists setarray @ItemLists[0],1302; // Item Price setarray @ItemCost[0],10000; break; Case 3: // Currency [ Item ID / Variable Name ] set @Currency$,"zeny"; // Item ID Lists setarray @ItemLists[0],2306,2302,2303,2304,2305,2301; // Item Price setarray @ItemCost[0],20,22,34,445,52,641; break; // Case 4,5,6.....etc... default: ErrorNotice( "Invalid Menu Selection for Menu "+@menu+"." ); close; } if( @Currency$ == "" ) ErrorNotice( "Invalid Currency Setting in Menu "+@menu+" ." );if( getarraysize( @ItemCost ) != getarraysize( @ItemLists ) || getarraysize( @ItemLists ) != getarraysize( @ItemCost ) ) ErrorNotice( "Missing or Extra Value of Item or Cost Settings in Menu "+@menu+" ." );return;}function ErrorNotice { mes "^FF0000ERROR^000000 - "+getarg(0); mes "^00FF00____________________________^000000"; mes "Inform this Message to ^0000FFGame Staffs^000000 immediately !"; close;}function CurrencyInfo { if( getitemname( atoi( getarg(0) ) ) != "null" ){ mes "Item Currency : ^FF0000"+getitemname( atoi( getarg(0) ) )+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( countitem( atoi( getarg(0) ) ) )+"^000000"; }else if( getitemname( atoi( getarg(0) ) ) == "null" ){ mes "Variable Currency : ^FF0000"+getarg(0)+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( getd( getarg(0) ) )+"^000000"; }return;}function ValidateCost { if( getitemname( atoi( getarg(0) ) ) != "null" ){ if( countitem( atoi( getarg(0) ) ) < getarg(1) ) return 1; }else{ if( getd( getarg(0) ) < getarg(1) ) return 1; }return 0;}function ClearData { set @Currency$,""; set @TotalCost,0; deletearray @bought_nameid[0],getarraysize( @bought_nameid ); deletearray @bought_quantity[0],getarraysize( @bought_quantity ); deletearray @ItemLists[0],getarraysize( @ItemLists ); deletearray @ItemCost[0],getarraysize( @ItemCost );return;}function ValueConvert { set .@num, atoi(""+getarg(0)); if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0); set .@l, getstrlen(""+.@num); for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) { set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$; if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$; } return .@num$;}OnBuyItem: ShopSettings( @menu ); for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) for(set @j,0; @j < getarraysize( @ItemLists ); set @j,@j+1) if( @ItemLists[@j] == @bought_nameid[@i] ) set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] ); mes "[ Jimboy ]"; mes "^FF0000 BILLING LIST^000000"; mes "^00FF00____________________________^000000"; for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 ) mes "^FF0000"+@bought_quantity[@i]+" x ^0000FF"+getitemname( @bought_nameid[@i] )+"^000000"; mes "^00FF00____________________________^000000"; if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" x "+getitemname( atoi( @Currency$ ) )+"^000000"; else if( getitemname( atoi( @Currency$ ) ) == "null" ){ mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" "+@Currency$+"^000000"; } mes "^00FF00____________________________^000000"; if( ValidateCost( @Currency$,@TotalCost ) ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+getitemname( atoi( @Currency$ ) )+"^000000"; else{ mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+@Currency$+"^000000"; } }else{ if( select( "^0000FFPurchase^000000:Cancel" ) == 1 ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) delitem atoi( @Currency$ ),@TotalCost; else{ set getd( @Currency$ ),getd( @Currency$ ) - @TotalCost; } for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) getitem @bought_nameid[@i],@bought_quantity[@i]; message strcharinfo(0),"Purchased "+getarraysize( @bought_nameid )+" Items."; mes "Thank you for shopping."; } }ClearData();close;} Quote Share this post Link to post Share on other sites
0 Emistry 145 Posted June 25, 2013 work fine in my hercules test server .. 1 Zalbahis reacted to this Quote Share this post Link to post Share on other sites
0 pr3p 39 Posted June 25, 2013 (edited) It's working fine with me also no encountered error im using hercules latest svn, works also with rathena latest svn, hmmmm is this the same with your currency npc @emistry Edited June 25, 2013 by pr3p Quote Share this post Link to post Share on other sites
0 Zalbahis 0 Posted June 26, 2013 Working fine now.. I did to remake again Thanks guys <3 Quote Share this post Link to post Share on other sites
0 mrlongshen 22 Posted June 26, 2013 Working fine now.. I did to remake again Thanks guys <3 you are naughty bro Quote Share this post Link to post Share on other sites
0 Zalbahis 0 Posted June 27, 2013 Working fine now.. I did to remake again Thanks guys <3 you are naughty bro Lol, not soo.. xD Quote Share this post Link to post Share on other sites
I would to request, a Currency shop for Zeny, Cash points and Items thanks , cause Sir Emistry Script won't work on Hercules..
Thanks in Advance and More Power.. Cheers!
Share this post
Link to post
Share on other sites