Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -w
- use DBI;
- sub GetRandomFreeLocation
- {
- $db="weekly";
- $host="localhost";
- $user="user";
- $password="password";
- my $restrict = $_[0];
- my $dbh = DBI->connect ("DBI:mysql:database=$db:host=$host", $user, $password) or die $dbh->errstr;
- my $data = ( "SELECT value from quest_globals where name like 'halloween_ratter_%' order by CAST(`value` AS SIGNED)");
- my $sth = $dbh->prepare($data);
- $sth->execute() or die $dbh->errstr;
- while(my $ref = $sth->fetchrow_arrayref) {
- push @used_values, $ref->[0];
- }
- $dbh->disconnect();
- if($restrict == 1){
- @all_values = (0,3,4,6,7,8,9,10,12,13,14,16,17,20,21,22,23,24,25,27,29,30,31,32,33,34,36,37,38,40);
- }
- else {
- @all_values = (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40);
- }
- %used_values = map {$_, 1} @used_values;
- @free_values = grep {!$used_values {$_}} @all_values;
- $random_value = join("", @free_values[ map { rand @free_values } ( 1 .. 1 ) ]);
- return $random_value;
- }
Add Comment
Please, Sign In to add comment