// https://rathena.org/board/topic/111442-npc-jump-onbuy-item/
- shop sample_shop -1,909:-1
prontera,155,181,5 script Sample#npc 4_F_KAFRA1,{
npcshopattach "sample_shop",1;
callshop "sample_shop", 2;
end;
OnBuyItem:
getmapxy( .@map$,.@x,.@y,0 );
for ( .@i + 0; .@i < ; .@i++ ) {
for ( .@x = 0; .@x < .item_id_size; .@x++ ) {
if ( @bought_nameid[.@i] == .item_id[.@x] ) {
.@total_cost = ( .price[.@x] * @bought_quantity[.@i] );
if ( Zeny >= .@total_cost ) {
Zeny -= .@total_cost;
getitem @bought_nameid[.@i],@bought_quantity[.@i];
announce strcharinfo(0)+" has bought "+getitemname( @bought_nameid[.@i] )+" from the tool dealer on "+.@map$+" ("+.@x+","+.@y+")",bc_all;
.@success++;
}
}
}
mes "Done.";
close2;
if ( .@success ) {
callsub L_Warp, .@map$;
}
end;
L_Warp:
.@map$ = getarg(0,"");
do {
.@new_map$ = F_Rand( "prontera", "payon", "izlude" );
} while ( .@new_map$ == .@map$ );
do {
.@x = rand( 400 );
.@y = rand( 400 );
} while( !checkcell( .@new_map$, .@x, .@y, cell_chkpass ) );
unitwarp getnpcid(0), .@new_map$, .@x, .@y;
return;
OnInit:
setarray .item_id, 501,502,503,504;
setarray .price,1,2,3,4;
npcshopdelitem "sample_shop",909;
.item_id_size = getarraysize( .item_id );
for ( .@i = 0; .@i < .item_id_size; .@i++ )
npcshopadditem "sample_shop",.item_id[.@i],.price[.@i];
end;
}
Comments
0 B
|👍
/👎