Jump to content
  • 0

Emistry Vendor Script


eirwanda

Question


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  59
  • Reputation:   3
  • Joined:  11/13/16
  • Last Seen:  

Morning Rathena !!

I need some help with Emistry Vendor Script.

The main problem is, after using the box, the box are not appear again .....

 

 

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

Here's the full script :

Quote

sanctum_in,102,174,5	script	Vending Helper#1	757,{
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$,"sanctum_in";
setcell .map$,48,133,151,135,cell_novending,1;

// x and y horizone ..
setarray .x_line,83,89,95,104,110,116;
setarray .y_line,165,163,161,159,157,155,153,151,149,143,141,139,137,135,133,131,129,119,117,115,113,111,109,107,105,103,97,95,93,91,89,87,85,83;

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 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,UNITTYPE_NPC,"vend_slot"+.@i );
set .@npcname$,strnpcinfo(0);
while( .@map$ != "" ){
	if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){
		hideonnpc .@npcname$;
	}else{
		hideoffnpc .@npcname$;
//	 	specialeffect 313;
	}
//	sleep2 100;
}
end;
}

// Add more if needed.
sanctum_in,1,1,5	duplicate(vend_slot)	#vend_slot1	858
sanctum_in,1,1,5	duplicate(vend_slot)	#vend_slot2	858
sanctum_in,1,1,5	duplicate(vend_slot)	#vend_slot3	858

 

Thanks in advance /thx/thx 

Edited by eirwanda
Adding full script
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

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

i believe your script already hit some error like infinity loop since you removed this line from the script.

//	sleep 100;

uncomment it

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