Millenium Posted July 15, 2012 Posted July 15, 2012 (edited) When I click on NPC and click any Armor/Weapons,etc It says "This shop only accepts Poring Coin" "You have 1 Poring coin." Then stops me from moving or clicking? //===== eAthena Script ======================================= //= Custom-Currency Multi-Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.2 //===== Description: ========================================= //= Allows for better organization in a single shop call. //= Note that there are two configuration areas. //============================================================ // -------------------- Config 1 -------------------- // For each shop added, copy this MSHOPX dummy data. // Write your shop names in the select() function. - shop WEAPONS 1,512:1 - shop HEADGEARS -1,:-1 - shop ARMORS -1,:-1 - shop GARMENTS -1,512:-1 - shop SHOES -1,:-1 - shop SHIELDS -1,:-1 - shop CARDS -1,:-1 - shop ACCESSORY -1,512:-1 crystilia,71,86,4 script A Shop 984,{ set @s, select("Weapons:Headgears:Armors:Garments:Shoes:Shields:Cards:Accessory"); // -------------------------------------------------- message strcharinfo(0),"This shop only accepts "+getitemname(.Currency[@s])+"."; dispbottom "You have "+countitem(.Currency[@s])+" "+getitemname(.Currency[@s])+"."; callshop "MSHOP"+@s,1; npcshopattach "MSHOP"+@s; end; OnBuyItem: set .@i,0; while (.@i < getarraysize(@bought_nameid)) { set .@j, 0; while (.@j < getarraysize(getd(".Shop"+@s))) { if(getd(".Shop"+@s+"["+.@j+"]") == @bought_nameid[.@i]) { set @itemcost, (getd(".Shop"+@s+"["+(.@j+1)+"]") * @bought_quantity[.@i]); set @totalcost, @totalcost + @itemcost; break; } set .@j, .@j+2; } set .@i, .@i+1; } if (@totalcost > countitem(.Currency[@s])) dispbottom "You don't have enough "+getitemname(.Currency[@s])+"."; else { set .@i,0; while (.@i < getarraysize(@bought_nameid)) { getitem @bought_nameid[.@i], @bought_quantity[.@i]; dispbottom "Purchased "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"."; set .@i, .@i+1; } delitem .Currency[@s], @totalcost; } set @totalcost, 0; deletearray @bought_nameid[0], 128; deletearray @bought_quantity[0], 128; end; OnInit: // -------------------- Config 2 -------------------- // Currency: The ID of each shop currency, // in the same order as the shops. // Shop order follows that of the select() call, // and is formatted "ID1,Count1,ID2,Count2,..." setarray .Currency[1],7539,7539,7539,7539,7539,7539,7539,7539; setarray .Weapons[0],1202,5,1229,20; setarray .Headgears[0],19806,15; setarray .Armors[0],2302,2,2348,30; setarray .Garments[0],2502,2,2513,15,2523,15; setarray .Shoes[0],2441,15; setarray .Shields[0],2199,32768; setarray .Cards[0],4051,3,4285,6; setarray .Accessory[0],513,1,532,2,634,4; // -------------------------------------------------- set .@i,1; while (.@i <= getarraysize(.Currency)) { set .@j,0; while (.@j < getarraysize(getd(".Shop"+.@i))) { npcshopdelitem "MSHOP"+.@i,512; npcshopadditem "MSHOP"+.@i, getd(".Shop"+.@i+"["+.@j+"]"), getd(".Shop"+.@i+"["+(.@j+1)+"]"); set .@j, .@j+2; } set .@i, .@i+1; } end; } Edited July 15, 2012 by Millenium Quote
Emistry Posted July 15, 2012 Posted July 15, 2012 LOL...why are you creating so many topic just for the same script ? beside..your problem occur because you renamed all the shop npc name... left it unchange ... Quote
Millenium Posted July 15, 2012 Author Posted July 15, 2012 LOL...why are you creating so many topic just for the same script ? beside..your problem occur because you renamed all the shop npc name... left it unchange ... Sorry, this my last topic. ): These all right? setarray .Currency[1],7539,7539,7539,7539,7539,7539,7539,7539; setarray .Weapons[0],1202,5,1229,20; setarray .Headgears[0],19806,15; setarray .Armors[0],2302,2,2348,30; setarray .Garments[0],2502,2,2513,15,2523,15; setarray .Shoes[0],2441,15; setarray .Shields[0],2199,32768; setarray .Cards[0],4051,3,4285,6; setarray .Accessory[0],513,1,532,2,634,4; Quote
Emistry Posted July 15, 2012 Posted July 15, 2012 dont edit any variable name if you dont know what you are doing... just edit the value.. the rest...leave it alone... and alway refer to you map-server..which the map-server will alway show you the reason why the script doesnt work Quote
Eroces Posted July 15, 2012 Posted July 15, 2012 (edited) You don't need to change those. It will work as is. Leave this section unchanged. - shop MSHOP1 -1,512:-1 - shop MSHOP2 -1,512:-1 - shop MSHOP3 -1,512:-1 - shop MSHOP4 -1,512:-1 - shop MSHOP5 -1,512:-1 - shop MSHOP6 -1,512:-1 - shop MSHOP7 -1,512:-1 - shop MSHOP8 -1,512:-1 This too. setarray .Currency[1],513,513,513,513,513,513,513,513; setarray .Shop1[0],1202,5,1229,20; setarray .Shop2[0],5116,15; setarray .Shop3[0],2302,2,2348,30; setarray .Shop4[0],2502,2,2513,15,2523,15; setarray .Shop5[0],2441,15; setarray .Shop6[0],2199,32768; setarray .Shop7[0],4051,3,4285,6; setarray .Shop8[0],513,1,532,2,634,4; Just edit the numbers and your script should work fine. Edit this section if you want to change the labels. set @s, select("Weapons:Headgears:Armors:Garments:Shoes:Shields:Cards:Accessory"); Edited July 15, 2012 by Eroces Quote
Mystery Posted July 15, 2012 Posted July 15, 2012 @Emistry, you should just merge all his same topics regarding this script. Quote
Emistry Posted July 15, 2012 Posted July 15, 2012 @Mysterious i am not a mod for script section... Quote
Question
Millenium
When I click on NPC and click any Armor/Weapons,etc It says
"This shop only accepts Poring Coin"
"You have 1 Poring coin."
Then stops me from moving or clicking?
Edited by Millenium6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.