-	shop	dyn_shop1	FAKE_NPC,501:50
alberta,142,79,3	script	Tailoring Loom	4_F_JPNOBA,{
	callshop "dyn_shop1",2;
	npcshopattach "dyn_shop1";
	end;

OnSellItem:
	if (getarraysize(@sold_nameid) == 1 || getarraysize(@sold_nameid) == 3 || getarraysize(@sold_nameid) == 5 || getarraysize(@sold_nameid) > 6 ) {
		dispbottom "I can not process that item combination. ";
	}

	if (getarraysize(@sold_nameid) == 2) {
		switch( handicrafting_skill ) {
		case 0: case 1: case 2: case 3: case 4:
			.@2items = 20108;
			setarray .@2need[ 0 ], 930, 1, 504, 1;
			break;
		case 5: case 6: case 7: case 8: case 9:
			.@2items = 20109;
			setarray .@2need[ 0 ], 7071, 1, 504, 1; 
			break;
		case 10: case 11: case 12: case 13: case 14: 
			.@2items = 20110;
			setarray .@2need[ 0 ], 1099, 1, 504, 1; 
			break;
		case 15: case 16: case 17: case 18: case 19:
			.@2items = 20111;
			setarray .@2need[ 0 ], 7751, 1, 504, 1; 
			break;
		case 20: case 21: case 22: case 23: case 24: 
			.@2items = 20112;
			setarray .@2need[ 0 ], 7153, 1, 504, 1; 
			break;
		case 25: case 26: case 27: case 28: case 29:
			.@2items = 20113;
			setarray .@2need[ 0 ], 7065, 1, 504, 1; 
			break;
		case 30: case 31: case 32: case 33: case 34:
			.@2items = 20114;
			setarray .@2need[ 0 ], 1020, 1, 504, 1; 
			break;
		case 35: case 36: case 37: case 38: case 39: case 40:
			.@2items = 20115;
			setarray .@2need[ 0 ], 1029, 1, 504, 1; 
			break;
		default: 
			break;
		}
		set .@count,0;
		for (.@i = 0; .@i < getarraysize(@sold_nameid); ++.@i) {
			for ( .@ix = 0; .@ix < getarraysize( .@2need ); .@ix += 2 )
				if (.@2need[ .@ix ] == @sold_nameid[ .@i ] && .@2need[ .@ix + 1 ] == @sold_quantity[ .@i ]) {
					.@count ++;
				}
		}
		if (.@count == 2) {
			.@s = rand( 1, 2 );
			getitem .@2items,.@s;
			for (.@i = 0; .@i < getarraysize(@sold_nameid); ++.@i) {	
				delitem @sold_nameid[ .@i ], @sold_quantity[.@i];
			}
		} else {
			dispbottom "I can not process that item combination.["+.@count+"]";
		}
	}

	if (getarraysize(@sold_nameid) == 4) {

		setarray .@book1[ 0 ], 20024, 1, 32498, 1, 7126, 1, 905, 2, 20078, 1;
		setarray .@book2[ 0 ], 20025, 1, 32498, 1, 7217, 1, 20024, 2, 20079, 1;
		setarray .@book3[ 0 ], 20026, 1, 32498, 1, 921, 1, 20025, 2, 20087, 1;
		setarray .@book4[ 0 ], 20037, 1, 32498, 1, 7220, 1, 919, 3, 20080, 1;
		setarray .@book5[ 0 ], 20036, 1, 32498, 1, 7139, 1, 20037, 2, 20081, 1;

		setarray .@book6[ 0 ], 20027, 1, 32499, 1, 7126, 1, 914, 2, 20078, 1;
		setarray .@book7[ 0 ], 20028, 1, 32499, 1, 7217, 1, 20027, 2, 20079, 1;
		setarray .@book8[ 0 ], 20029, 1, 32499, 1, 921, 1, 20028, 2, 20087, 1;
		setarray .@book9[ 0 ], 20039, 1, 32499, 1, 7220, 1, 7003, 3, 20080, 1;
		setarray .@book10[ 0 ], 20038,1, 32499, 1, 7139, 1, 20039, 2, 20081, 1;

		setarray .@book11[ 0 ], 20030, 1, 32500, 1, 7126, 1, 914, 2, 20078, 1;
		setarray .@book12[ 0 ], 20031, 1, 32500, 1, 7217, 1, 20030, 2, 20079, 1;
		setarray .@book13[ 0 ], 20032, 1, 32500, 1, 921, 1, 20031, 2, 20087, 1;
		setarray .@book14[ 0 ], 20041, 1, 32500, 1, 7220, 1, 7123, 3, 20080, 1;
		setarray .@book15[ 0 ], 20040, 1, 32500, 1, 7139, 1, 20041, 2, 20081, 1;

		setarray .@book16[ 0 ], 20033, 1, 32501, 1, 7126, 1, 914, 2, 20078, 1;
		setarray .@book17[ 0 ], 20034, 1, 32501, 1, 7217, 1, 20033, 2, 20079, 1;
		setarray .@book18[ 0 ], 20035, 1, 32501, 1, 921, 1, 20034, 2, 20087, 1;
		setarray .@book19[ 0 ], 20043, 1, 32501, 1, 7220, 1, 40063, 3, 20080, 1;
		setarray .@book20[ 0 ], 20042, 1, 32501, 1, 7139, 1, 20043, 2, 20081, 1;

		for (.@j = 1; .@j < 21; ++.@j) {
			set .@count,0;
			for (.@i = 0; .@i < getarraysize(@sold_nameid); ++.@i) {
				for ( .@ix = 2; .@ix < getarraysize( getd(".@book"+.@j) ); .@ix += 2 )
					if (getd(".@book"+.@j+"["+.@ix+"]") == @sold_nameid[ .@i ] && getd(".@book"+.@j+"["+(.@ix+1)+"]") == @sold_quantity[ .@i ]) {
						.@count ++;
					}
			}
			if (.@count == 4) {
				.@s = rand( 1, 2 );
				getitem getd(".@book"+.@j+"[ 0 ]"),.@s;
				for (.@i = 0; .@i < getarraysize(@sold_nameid); ++.@i) {	
					delitem @sold_nameid[ .@i ], @sold_quantity[.@i];
				}
			} else {
				if (.@j == 20){
					dispbottom "I can not process that item combination. ["+.@count+"]";
				}
			}
		}
	}		

	if (getarraysize(@sold_nameid) == 6) {

		setarray .@produce1[ 0 ], 18740, 1, 20025, 1, 20036, 10, 20037, 4, 20082, 1, 20083, 1, 20086, 1;
		setarray .@produce2[ 0 ], 20248, 1, 20025, 1, 20036, 5, 20037, 7, 20082, 1, 20083, 1, 20086, 1;
		setarray .@produce3[ 0 ], 20249, 1, 20025, 1, 20036, 5, 20037, 5, 20082, 1, 20083, 1, 20086, 1;
		setarray .@produce4[ 0 ], 20250, 1, 20025, 1, 20036, 15, 20037, 6, 20082, 1, 20083, 1, 20086, 1;

		for (.@j = 1; .@j < 5; ++.@j) {
			set .@count,0;
			for (.@i = 0; .@i < getarraysize(@sold_nameid); ++.@i) {
				for ( .@ix = 2; .@ix < getarraysize( getd(".@produce"+.@j) ); .@ix += 2 )
					if (getd(".@produce"+.@j+"["+.@ix+"]") == @sold_nameid[ .@i ] && getd(".@produce"+.@j+"["+(.@ix+1)+"]") == @sold_quantity[ .@i ]) {
						.@count ++;
				}
				if (.@count == 6) {
					getitem getd(".@produce"+.@j+"[ 0 ]"),1;
					for (.@i = 0; .@i < getarraysize(@sold_nameid); ++.@i) {	
						delitem @sold_nameid[ .@i ], @sold_quantity[.@i];
					}
					end;
				} else {
					if (.@j == 4){
						dispbottom "I can not process that item combination. ["+.@count+"]";
					}
				}
			}
		}
	}		

	deletearray @sold_quantity, getarraysize(@sold_quantity);
	deletearray @sold_nameid, getarraysize(@sold_nameid);
	close;
OnInit:
	end;
}