}
sub calcXp {
- my ($x,$y,$z,$roids,$cap) = @_;
+ my ($msg) = @_;
+
+ my ($x,$y,$z,$roids,$cap);
+ if(defined $msg && $msg =~ /^(\d+)\D+(\d+)\D+(\d+)(?:[^\.\d]+(\d+))?(?:[^\.\d]+(\d*\.\d+))?$/){
+ $x = $1;
+ $y = $2;
+ $z = $3;
+ $roids = $4;
+ $cap = $5;
+ }else{
+ $ND::server->command("notice $ND::nick syntax: .xp X:Y:Z [roids] [cap] | if roids < 10 then it's taken as the wave, cap is a floating point number, defaults to 0.25");
+ return;
+ }
my ($avalue,$ascore) = $ND::DBH->selectrow_array(q{
SELECT value,score FROM current_planet_stats WHERE