Jump to content
  • 0

Question

Posted (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 by Millenium

6 answers to this question

Recommended Posts

Posted

LOL...why are you creating so many topic just for the same script ? /swt

beside..your problem occur because you renamed all the shop npc name...

left it unchange ...

Posted

LOL...why are you creating so many topic just for the same script ? /swt

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;

Posted

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

Posted (edited)

/swt

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 by Eroces

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.   Paste as plain text instead

  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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...