Yes the one in the resources.
Incase anyone's interested I had these two stupid scripts floating around, the top one exports skillcaps and the bottom one imports.
Code:
use DBI;
my $db = "eqdb";
my $user = "eq";
my $pass = "eqpass";
my $host = "localhost";
my $skill_caps_file = "SkillCaps.txt";
my $source = "DBI:mysql:database=$db;host=$host";
my $dbh = DBI->connect($source, $user, $pass) || die "Could not create db handle\n";
sub skill_usable {
my $skill_id = shift;
my $class = shift;
my $sth = $dbh->prepare("SELECT max(`cap`) FROM skill_caps WHERE `class`=$class and `skillID`=$skill_id");
$sth->execute();
if(my $val = $sth->fetch()) {
if(@$val[0] == 0) {
return 0;
} else {
return 1;
}
}
return 0;
}
sub get_skill {
my $skill_id = shift;
my $class = shift;
my $level = shift;
my $sth = $dbh->prepare("SELECT cap FROM skill_caps WHERE `class`=$class and `skillID`=$skill_id and `level`=$level");
$sth->execute();
if(my $val = $sth->fetch()) {
return @$val[0];
}
return 0;
}
open(SKILLS, ">$skill_caps_file") or die "Unable to open skills file for export: $skill_caps_file\n";
for($class_i = 1; $class_i <= 16; $class_i++) {
for($skill_i = 0; $skill_i <= 77; $skill_i++) {
print "($class_i, $skill_i)\n";
if(skill_usable($skill_i, $class_i) == 1) {
for($level_i = 1; $level_i <= 90; $level_i++) {
my $cap = get_skill($skill_i, $class_i, $level_i);
my $line = $class_i . "^" . $skill_i . "^" . $level_i . "^" . $cap . "^0\n";
print SKILLS $line;
}
}
}
}
close (SKILLS);
Code:
use DBI;
my $db = "eqdb";
my $user = "eq";
my $pass = "eqpass";
my $host = "localhost";
my $skill_caps_file = "SkillCaps.txt";
my $source = "DBI:mysql:database=$db;host=$host";
my $dbh = DBI->connect($source, $user, $pass) || die "Could not create db handle\n";
$dbh->do("delete from skill_caps");
open(SKILLS, "<$skill_caps_file") or die "Unable to open skills: $skill_caps_file\n";
#parse through SKILLS
while(<SKILLS>) {
chomp();
@s = split(/\^/);
my $query = "insert into skill_caps (class, skillID, level, cap) VALUES(";
$query .= $s[0];
$query .= ", ";
$query .= $s[1];
$query .= ", ";
$query .= $s[2];
$query .= ", ";
$query .= $s[3];
$query .= ")";
my $i = $dbh->do($query);
if($i < 1) {
printf("Error loading $skill_caps_file\n");
}
}