eirwanda Posted October 31, 2018 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 59 Reputation: 3 Joined: 11/13/16 Last Seen: July 1, 2019 Share Posted October 31, 2018 (edited) 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 Edited October 31, 2018 by eirwanda Adding full script Quote Link to comment Share on other sites More sharing options...
0 Emistry Posted November 18, 2018 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10018 Reputation: 2369 Joined: 10/28/11 Last Seen: Sunday at 05:32 PM Share Posted November 18, 2018 i believe your script already hit some error like infinity loop since you removed this line from the script. // sleep 100; uncomment it Quote Link to comment Share on other sites More sharing options...
Question
eirwanda
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 :
Thanks in advance
Edited by eirwandaAdding full script
Link to comment
Share on other sites
1 answer 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.