prontera,155,181,5 script Sample 757,{ function generateCard; for( .@i = 0; .@i < .max_required_card; .@i++ ){ while( !getd( "#card_"+.@i ) || getitemname( getd( "#card_"+.@i ) ) == "null" ){ setd( "#card_"+.@i ),generateCard(); } mes "Item "+( .@i + 1 )+" : "+getitemname( getd( "#card_"+.@i ) )+" x "+.max_required_amount; } switch( select( "Give Cards","Reset Cards" ) ){ Case 1: for( .@i = 0; .@i < .max_required_card; .@i++ ) if( countitem( getd( "#card_"+.@i ) ) < .max_required_amount ){ mes "You dont have enough "+getitemname( getd( "#card_"+.@i ) ); close; } for( .@i = 0; .@i < .max_required_card; .@i++ ) delitem getd( "#card_"+.@i ),.max_required_amount; do{ .@new_card = rand( 4001,4544 ); }while( getitemname( .@new_card ) == "null" ); mes "You have gained 1 cards randomly."; getitem .@new_card,1; break; Case 2: mes "You need 300m zeny. or 1 TCG"; .@i = select( "Pay 300m zeny","Pay 1 TCG" ); if( .@i == 1 && Zeny < 300000000 ){ mes "You dont have Zeny."; }else if( .@i == 2 && !countitem( 7227 ) ){ mes "You dont have TCG"; }else{ if( .@i == 1 ){ Zeny -= 300000000; }else{ delitem 7227,1; } for( .@i = 0; .@i < .max_required_card; .@i++ ) setd( "#card_"+.@i ),generateCard(); mes "Resetted."; } default: break; } close; function generateCard { do{ .@card = rand( 4001,4544 ); }while( compare( ","+.mvp_card$+",",","+.@card+"," ) || compare( ","+.miniboss_card$+",",","+.@card+"," ) ); return .@card; } OnInit: // quest required. .max_required_card = 3; .max_required_amount = 30; // blacklisted cards .mvp_card$ = "4001,4002"; .miniboss_card$ = "4001,4002,4003"; end; }