Jump to content
  • 0

Simple Dynamic Shop


Bringer

Question


  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

I need shop can buy items sample

Menu Blue Potion Blessing Scroll Agi Scroll 

Cost 5 / 10 / 10 Cash point i can input how many i want to buy

+ can use @cpshop but they will cost 2 cash point .. but there will be WARNING MSG BEFORE THEY LOSE there 2 cash points

Edited by Bringer
Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 2

  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.01
  • Content Count:  191
  • Reputation:   24
  • Joined:  07/19/14
  • Last Seen:  

@Bringer

//===== rAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.4a
//===== Compatible With: =====================================
//= rAthena SVN r15340+
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
				
quiz_02,293,234,4	script	Vote Shop	501,{
function Add; function Chk; function Slot; function A_An;

	if(.Shops$ != "") set .@i,1;
	else {
		set .@menu$,"";
		for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
			set .@menu$, .@menu$+.Shops$[.@i]+":";
		set .@i, select(.@menu$); }
	dispbottom "Select one item at a time.";
	callshop "qshop2"+.@i,1;
	npcshopattach "qshop2"+.@i;
	end;

function Add {
	if (getitemname(getarg(1))=="null") {
		debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; }
	for(set .@n,5; .@n<127; set .@n,.@n+2) {
		if (!getarg(.@n,0)) break;
		if (getitemname(getarg(.@n))=="null") {
			debugmes "Quest requirement #"+getarg(.@n)+" invalid (skipped)."; return; } }
	for(set .@i,2; .@i<.@n; set .@i,.@i+1)
		set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
	npcshopadditem "qshop2"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
	return; }
function Chk {
	if (getarg(0)<getarg(1)) { set @qe0,1; return "^FF0000"; }
	else return "^00FF00"; }
function Slot {
	set .@s$,getitemname(getarg(0));
	switch(.ShowSlot){
		case 1: if (!getitemslots(getarg(0))) return .@s$;
		case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
		default: return .@s$; } }
function A_An {
	setarray .@A$[0],"a","e","i","o","u";
	set .@B$, "_"+getarg(0);
	for(set .@i,0; .@i<5; set .@i,.@i+1)
		if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
	return "a "+getarg(0); }

OnBuyItem:
	set .@q[0],@bought_nameid;
	copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
	if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
	mes "[Quest Shop]";
	mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
	mes "Requirements:";
	if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
	if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
	if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
		mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
	next;
	set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
	addtimer 1000, strnpcinfo(1)+"::OnEnd";
	while(1){
		switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
			case 1:
				if (@qe0) { 
					mes "[Quest Shop]";
					mes "You're missing one or more quest requirements.";
					close; }
				if (!checkweight(.@q[0],.@q[1])) {
					mes "[Quest Shop]";
					mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
					close; }
				if (.@q[2]) set Zeny, Zeny-.@q[2];
				if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
				if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
					delitem .@q[.@i],.@q[.@i+1];
				getitem .@q[0],.@q[1];
				if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
				specialeffect2 699;
				close;
			case 2:
				set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
				if (@qe1&1) atcommand "@changelook 3 "+@qe2;
				if (@qe1&256) atcommand "@changelook 1 "+@qe2;
				if (@qe1&512) atcommand "@changelook 2 "+@qe2;
				set @qe6,1;
				break;
			case 3:
				close; } }
OnEnd:
	if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
	for(set .@i,0; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
	end;
OnInit:
	freeloop(1);
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
	setarray .Points$[0],"#CASHPOINTS","Cash Points";

	set .Announce,1;	// Announce quest completion? (1: yes / 0: no)
	set .ShowSlot,1;	// Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
	set .DisplayID,0;	// Show item IDs? (1: yes / 0: no)
	set .ShowZeny,0;	// Show Zeny cost, if any? (1: yes / 0: no)

// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).

	setarray .Shops$[1],"Vote4Cash Items","Vote4Cash Foods";
	// set .Shops$,"n/a";

// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
//     <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!

	Add(1,5401,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5402,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5288,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5793,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5387,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5486,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5338,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5346,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5336,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5360,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,18600,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5751,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5188,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5506,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5432,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5560,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5372,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5495,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,18656,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5579,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,20097,1,0,200,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5306,1,0,200,0,0,0,0,0,0,0,0,0,0,0,0);



	Add(2,12075,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12090,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12080,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12100,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12095,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12085,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,13697,1,0,20,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,13698,1,0,20,0,0,0,0,0,0,0,0,0,0,0,0);
	






// --------------------------------------------------
	freeloop(0);
	for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
		npcshopdelitem "qshop2"+.@i,909;
	end;
}

// -------- Dummy data (duplicate as needed) --------
-	shop	qshop21	-1,909:-1
-	shop	qshop22	-1,909:-1
-	shop	qshop23	-1,909:-1

 

  • Upvote 1
Link to comment
Share on other sites

  • 1

  • Group:  Developer
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  1443
  • Reputation:   337
  • Joined:  10/17/12
  • Last Seen:  

How lazy can you be @Bringer? @HappyMan is offering to help you fix the issue with a script that does what you want and all you can say is "Thanks but I don't like that script", well frankly I have a few exspatives regarding that...

 

Stop being lazy, learn to do things don't expect to be spoon fed, If you don't like something about an npc and don't know how to edit it I'm all for helping but you can't help those who can't help themselves, we are will gladly teach you and help you grow, I'm sure @Akkarin and most other members of the community feel the same way as well.

  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Forum Manager
  • Topic Count:  282
  • Topics Per Day:  0.06
  • Content Count:  3127
  • Reputation:   1617
  • Joined:  03/26/12
  • Last Seen:  

1 hour ago, Bringer said:

Thanks but i dont like that npc

Then use it as a base and change it to suit your requirements. I know this is a section to request scripts, but there's no need to be so damned lazy.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

3 hours ago, Akkarin said:

Then use it as a base and change it to suit your requirements. I know this is a section to request scripts, but there's no need to be so damned lazy.

The reason why i dont want to use that ppc is sometimes i got stack while talking the npc i need to recon alwys even My NPC TIMER IS Disable

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.01
  • Content Count:  191
  • Reputation:   24
  • Joined:  07/19/14
  • Last Seen:  

5 hours ago, Bringer said:

The reason why i dont want to use that ppc is sometimes i got stack while talking the npc i need to recon alwys even My NPC TIMER IS Disable

if you encounter no option while talking in the npc just add close; or next;

Edited by HappyMan
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

1 hour ago, HappyMan said:

if you counter no option while talking in the npc just add close; or next;

Which part i need to edit to solved the statck npc on the one you post it

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.01
  • Content Count:  191
  • Reputation:   24
  • Joined:  07/19/14
  • Last Seen:  

2 minutes ago, Bringer said:

Which part i need to edit to solved the statck npc on the one you post it

tell me what part you got stack?

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

42 minutes ago, HappyMan said:

tell me what part you got stack?

on menu part

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.01
  • Content Count:  191
  • Reputation:   24
  • Joined:  07/19/14
  • Last Seen:  

4 minutes ago, Bringer said:

on menu part

can you make a screenshot and send it to me thru message?

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

9 minutes ago, Stolao said:

How lazy can you be @Bringer? @HappyMan is offering to help you fix the issue with a script that does what you want and all you can say is "Thanks but I don't like that script", well frankly I have a few exspatives regarding that...

 

Stop being lazy, learn to do things don't expect to be spoon fed, If you don't like something about an npc and don't know how to edit it I'm all for helping but you can't help those who can't help themselves, we are will gladly teach you and help you grow, I'm sure @Akkarin and most other members of the community feel the same way as well.

The reason i say that bcuz i got problem using that the  euphy script every time i click will get stack @ menu script i already search the problem here @ rathena i aleady disbale the npc timer but still same problem thats why i'm looking for simple NPC

Link to comment
Share on other sites

  • 0

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

you can use normal cashshop like this... 

npc/merchants/cash_trader.txt

then add this bindatcmd script.

-	script	atcmd_example	-1,{
OnInit:
	bindatcmd "cshop",strnpcinfo(3)+"::OnAtcommand";
	end;
OnAtcommand:
	callshop "<shop_name>",1;
	end;
}

 

 

15 hours ago, Bringer said:

Thanks but i dont like that npc

You should avoid this kind of reply unless you specify the reason together or at least mention it at the very beginning.

 

Link to comment
Share on other sites

  • -5

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

38 minutes ago, HappyMan said:

@Bringer


//===== rAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.4a
//===== Compatible With: =====================================
//= rAthena SVN r15340+
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
				
quiz_02,293,234,4	script	Vote Shop	501,{
function Add; function Chk; function Slot; function A_An;

	if(.Shops$ != "") set .@i,1;
	else {
		set .@menu$,"";
		for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
			set .@menu$, .@menu$+.Shops$[.@i]+":";
		set .@i, select(.@menu$); }
	dispbottom "Select one item at a time.";
	callshop "qshop2"+.@i,1;
	npcshopattach "qshop2"+.@i;
	end;

function Add {
	if (getitemname(getarg(1))=="null") {
		debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; }
	for(set .@n,5; .@n<127; set .@n,.@n+2) {
		if (!getarg(.@n,0)) break;
		if (getitemname(getarg(.@n))=="null") {
			debugmes "Quest requirement #"+getarg(.@n)+" invalid (skipped)."; return; } }
	for(set .@i,2; .@i<.@n; set .@i,.@i+1)
		set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
	npcshopadditem "qshop2"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
	return; }
function Chk {
	if (getarg(0)<getarg(1)) { set @qe0,1; return "^FF0000"; }
	else return "^00FF00"; }
function Slot {
	set .@s$,getitemname(getarg(0));
	switch(.ShowSlot){
		case 1: if (!getitemslots(getarg(0))) return .@s$;
		case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
		default: return .@s$; } }
function A_An {
	setarray .@A$[0],"a","e","i","o","u";
	set .@B$, "_"+getarg(0);
	for(set .@i,0; .@i<5; set .@i,.@i+1)
		if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
	return "a "+getarg(0); }

OnBuyItem:
	set .@q[0],@bought_nameid;
	copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
	if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
	mes "[Quest Shop]";
	mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
	mes "Requirements:";
	if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
	if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
	if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
		mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
	next;
	set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
	addtimer 1000, strnpcinfo(1)+"::OnEnd";
	while(1){
		switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
			case 1:
				if (@qe0) { 
					mes "[Quest Shop]";
					mes "You're missing one or more quest requirements.";
					close; }
				if (!checkweight(.@q[0],.@q[1])) {
					mes "[Quest Shop]";
					mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
					close; }
				if (.@q[2]) set Zeny, Zeny-.@q[2];
				if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
				if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
					delitem .@q[.@i],.@q[.@i+1];
				getitem .@q[0],.@q[1];
				if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
				specialeffect2 699;
				close;
			case 2:
				set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
				if (@qe1&1) atcommand "@changelook 3 "+@qe2;
				if (@qe1&256) atcommand "@changelook 1 "+@qe2;
				if (@qe1&512) atcommand "@changelook 2 "+@qe2;
				set @qe6,1;
				break;
			case 3:
				close; } }
OnEnd:
	if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
	for(set .@i,0; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
	end;
OnInit:
	freeloop(1);
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
	setarray .Points$[0],"#CASHPOINTS","Cash Points";

	set .Announce,1;	// Announce quest completion? (1: yes / 0: no)
	set .ShowSlot,1;	// Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
	set .DisplayID,0;	// Show item IDs? (1: yes / 0: no)
	set .ShowZeny,0;	// Show Zeny cost, if any? (1: yes / 0: no)

// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).

	setarray .Shops$[1],"Vote4Cash Items","Vote4Cash Foods";
	// set .Shops$,"n/a";

// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
//     <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!

	Add(1,5401,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5402,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5288,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5793,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5387,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5486,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5338,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5346,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5336,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5360,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,18600,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5751,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5188,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5506,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5432,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5560,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5372,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5495,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,18656,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5579,1,0,25,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,20097,1,0,200,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(1,5306,1,0,200,0,0,0,0,0,0,0,0,0,0,0,0);



	Add(2,12075,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12090,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12080,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12100,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12095,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,12085,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,13697,1,0,20,0,0,0,0,0,0,0,0,0,0,0,0);
	Add(2,13698,1,0,20,0,0,0,0,0,0,0,0,0,0,0,0);
	






// --------------------------------------------------
	freeloop(0);
	for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
		npcshopdelitem "qshop2"+.@i,909;
	end;
}

// -------- Dummy data (duplicate as needed) --------
-	shop	qshop21	-1,909:-1
-	shop	qshop22	-1,909:-1
-	shop	qshop23	-1,909:-1

 

Thanks but i dont like that npc

Link to comment
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.   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.

×
×
  • Create New...