Jump to content
  • 0

Emistry Vendor Control HELP


rakuzas

Question


  • Group:  Members
  • Topic Count:  152
  • Topics Per Day:  0.03
  • Content Count:  459
  • Reputation:   7
  • Joined:  06/29/12
  • Last Seen:  

Hi,

I'm using Emistry Vendor Control Script.. The script working magnificently.. So awesome and neat.. I really love the feature.. But my server have 2 side of vending location.. Side West and East.. So, I tried making 2 different npc because of different vending location.. And I succeed.. No problem..

But East vending location, the signboard keep appear and dissappear and keep using and playing sound like hiding effect.. I checked the script there is no effect.. But if I disable  West script, all this signboard on East area working normally.. If enable again both script.. The east side signboard will playing the effect although no effect on script. .Tried to figure it out almost 1 hour and tried so many ways.. But still same.. So I ask here and maybe someone can help pointing whats wrong..

And my custom script rathena reading West Side before East Side..

Effect that I said like this :
screen_Milenia160.jpg

 

WEST SIDE SCRIPT :


milenia,118,179,5	script	West Market Officer	533,{
for( set .@i,1; .@i <= .count; set .@i,.@i + 1 ){
	getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i );
	if( !getareausers( .map$,.@x,.@y,.@x,.@y ) && .@x > 1 && .@y > 1 ){
		set .@available,.@available + 1;
		set .@menu$,.@menu$ + "Slot - "+.@i+":";
	}else{
		set .@menu$,.@menu$ + ":";
	}
}

if( !.@available ){
	mes "Dont have any available slot.";
}else if( !getskilllv("MC_VENDING") ){
	mes "You dont have ^0055FFVending Skill^000000.";
}else{
	mes "Available Slot : "+.@available;
	mes "Please select a slot to vending.";
	set .@i,select( .@menu$ );
	getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i );
	if( .@x == 1 || .@y == 1 ){
		mes "This NPC at invalid location...";
	}else{
		warp .@map$,.@x,.@y;
		hideonnpc "#vend_slot"+.@i;
	}
}
close;

OnInit:
sleep 1000;
// Map for vending
set .map$,"milenia";
setcell .map$,0,0,284,365,cell_novending,1;

// x and y horizone ..
setarray .x_line,95,91,87,83,79,75,71,67,63,59,55,51,47;
setarray .y_line,174,178,182,186;

set .x_line_size,getarraysize( .x_line );
set .y_line_size,getarraysize( .y_line );
set .count,1;
for( set .@x,0; .@x < .x_line_size; set .@x,.@x + 1 )
	for( set .@y,0; .@y < .y_line_size; set .@y,.@y + 1 )
		if( checkcell( .map$,.x_line[.@x],.y_line[.@y],cell_chkpass ) ){
			movenpc "#vend_slot"+.count,.x_line[.@x],.y_line[.@y];
			setcell .map$,.x_line[.@x],.y_line[.@y],.x_line[.@x],.y_line[.@y],cell_novending,0;
			set .count,.count + 1;
		}
npctalk "Vending Spot : "+.count;
donpcevent "::OnSetup";
end;
}

-	script	vend_slot	-1,{
getmapxy( .@map$,.@x,.@y,1 );
if( !getskilllv("MC_VENDING") ){
	mes "You dont have ^0055FFVending Skill^000000.";
}else if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){
	mes "Someone already selected this spot.";
}else{
	mes "Spot : ^777777Available^000000";
	mes "^0055FF[ Vending Area Rules ]^000000";
	mes "^FF0000 ~ Use proper Shop Name.^000000";
	mes "^FF0000 ~ Never sell Junk/Gifts.^000000";
	mes " ";
	mes "^777777Player will failed to follow these will be punished.^000000";
	if( select( "Select this Spot","Cancel" ) == 1 ){
		warp .@map$,.@x,.@y;
		hideonnpc strnpcinfo(0);
	}
}
close;

OnSetup:
getmapxy( .@map$,.@x,.@y,1 );
set .@npcname$,strnpcinfo(0);
while( .@map$ != "" ){
	if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){
		hideonnpc .@npcname$;
	}else{
		hideoffnpc .@npcname$;
		// specialeffect 313;
	}
	sleep 5000;
}
end;
}

// Add more if needed.
milenia,1,1,4	duplicate(vend_slot)	#vend_slot1	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot2	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot3	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot4	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot5	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot6	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot7	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot8	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot9	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot10	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot11	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot12	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot13	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot14	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot15	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot16	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot17	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot18	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot19	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot20	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot21	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot22	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot23	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot24	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot25	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot26	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot27	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot28	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot29	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot30	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot31	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot32	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot33	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot34	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot35	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot36	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot37	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot38	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot39	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot40	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot41	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot42	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot43	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot44	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot45	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot46	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot47	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot48	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot49	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot50	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot51	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot52	858

EAST SIDE SCRIPT :


milenia,121,179,11	script	East Market Officer	529,{
for( set .@i,1; .@i <= .count; set .@i,.@i + 1 ){
	getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i );
	if( !getareausers( .map$,.@x,.@y,.@x,.@y ) && .@x > 1 && .@y > 1 ){
		set .@available,.@available + 1;
		set .@menu$,.@menu$ + "Slot - "+.@i+":";
	}else{
		set .@menu$,.@menu$ + ":";
	}
}

if( !.@available ){
	mes "Dont have any available slot.";
}else if( !getskilllv("MC_VENDING") ){
	mes "You dont have ^0055FFVending Skill^000000.";
}else{
	mes "Available Slot : "+.@available;
	mes "Please select a slot to vending.";
	set .@i,select( .@menu$ );
	getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i );
	if( .@x == 1 || .@y == 1 ){
		mes "This NPC at invalid location...";
	}else{
		warp .@map$,.@x,.@y;
		hideonnpc "#vend_slot"+.@i;
	}
}
close;

OnInit:
sleep 1000;
// Map for vending
set .map$,"milenia";
setcell .map$,0,0,284,365,cell_novending,1;

// x and y horizone ..
setarray .x_line,144,148,152,156,160,164,168,172,176,180,184,188,192;
setarray .y_line,174,178,182,186;

set .x_line_size,getarraysize( .x_line );
set .y_line_size,getarraysize( .y_line );
set .count,1;
for( set .@x,0; .@x < .x_line_size; set .@x,.@x + 1 )
	for( set .@y,0; .@y < .y_line_size; set .@y,.@y + 1 )
		if( checkcell( .map$,.x_line[.@x],.y_line[.@y],cell_chkpass ) ){
			movenpc "#vend_slot"+.count,.x_line[.@x],.y_line[.@y];
			setcell .map$,.x_line[.@x],.y_line[.@y],.x_line[.@x],.y_line[.@y],cell_novending,0;
			set .count,.count + 1;
		}
npctalk "Vending Spot : "+.count;
donpcevent "::OnSetup";
end;
}

-	script	vend_slot	-1,{
getmapxy( .@map$,.@x,.@y,1 );
if( !getskilllv("MC_VENDING") ){
	mes "You dont have ^0055FFVending Skill^000000.";
}else if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){
	mes "Someone already selected this spot.";
}else{
	mes "Spot : ^777777Available^000000";
	mes "^0055FF[ Vending Area Rules ]^000000";
	mes "^FF0000 ~ Use proper Shop Name.^000000";
	mes "^FF0000 ~ Never sell Junk/Gifts.^000000";
	mes " ";
	mes "^777777Player will failed to follow these will be punished.^000000";
	if( select( "Select this Spot","Cancel" ) == 1 ){
		warp .@map$,.@x,.@y;
		hideonnpc strnpcinfo(0);
	}
}
close;

OnSetup:
getmapxy( .@map$,.@x,.@y,1 );
set .@npcname$,strnpcinfo(0);
while( .@map$ != "" ){
	if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){
		hideonnpc .@npcname$;
	}else{
		hideoffnpc .@npcname$;
		// specialeffect 313;
	}
	sleep 5000;
}
end;
}

// Add more if needed.
milenia,1,1,4	duplicate(vend_slot)	#vend_slot01	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot02	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot03	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot04	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot05	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot06	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot07	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot08	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot09	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot010	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot011	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot012	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot013	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot014	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot015	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot016	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot017	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot018	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot019	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot020	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot021	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot022	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot023	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot024	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot025	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot026	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot027	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot028	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot029	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot030	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot031	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot032	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot033	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot034	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot035	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot036	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot037	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot038	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot039	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot040	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot041	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot042	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot043	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot044	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot045	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot046	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot047	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot048	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot049	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot050	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot051	858
milenia,1,1,4	duplicate(vend_slot)	#vend_slot052	858
Edited by rakuzas
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

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

you only need 1 npc script for it....  remove the redundant copy you made.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  152
  • Topics Per Day:  0.03
  • Content Count:  459
  • Reputation:   7
  • Joined:  06/29/12
  • Last Seen:  

Hmmm.. So I cant make it 2 side with 2 NPC? I thought about it too.. Ok then..

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...