prontera,155,179,5 script kjdhfkjshf 100,{ mes "this is an exchanger NPC"; .@s = select ( .exchange_list$[0] +" -> "+ .exchange_list$[1], .exchange_list$[1] +" -> "+ .exchange_list$[0] ) -1; mes "selected :-"; mes .exchange_list$[ .@s ]; mes " -> "; mes .exchange_list$[ !.@s ]; while ( countitem( getd(".exchange_list"+ .@s +"["+ .@i +"]") ) >= getd(".exchange_list"+ .@s +"["+( .@i +1 )+"]" ) && .@i < .size[ .@s ] ) .@i += 2; if ( .@i < .size[.@s] ) { mes "not enough "+ getitemname( getd(".exchange_list"+ .@s +"["+ .@i +"]") ); close; } mes "input the amount that you can change"; for ( .@i = 0; .@i < .size[ .@s ]; .@i += 2 ) { .@tmp[.@c] = countitem( getd(".exchange_list"+ .@s +"["+ .@i +"]") ) / getd(".exchange_list"+ .@s +"["+( .@i +1 )+"]"); if ( !.@max || .@max > .@tmp[.@c] ) .@max = .@tmp[.@c]; .@c++; } mes "max = "+ .@max; next; if ( input( .@input, 1, .@max ) ) { mes "invalid amount"; close; } for ( .@i = 0; .@i < .size[ .@s ]; .@i += 2 ) delitem getd(".exchange_list"+ .@s +"["+ .@i +"]"), getd(".exchange_list"+ .@s +"["+( .@i +1 )+"]"); for ( .@i = 0; .@i < .size[ !.@s ]; .@i += 2 ) getitem getd(".exchange_list"+ !.@s +"["+ .@i +"]"), getd(".exchange_list"+ !.@s +"["+( .@i +1 )+"]"); close; OnInit: setarray .exchange_list0, 501,1 , 502,2 , 503,3 ; setarray .exchange_list1, 504,1 ; while ( .@j <= 1 ) { .@i = 0; .size[.@j] = getarraysize( getd(".exchange_list"+ .@j ) ); while ( .@i < .size[.@j] ) { .exchange_list$[.@j] = .exchange_list$[.@j] + getd(".exchange_list"+ .@j +"["+( .@i +1 )+"]" ) +"x "+ getitemname( getd(".exchange_list"+ .@j +"["+ .@i +"]" ) ) +( ( .@i == .size[.@j] -2 )? "":" + " ); .@i += 2; } .@j++; } end; }