X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Intel.pm;h=18ea15f16fc2218cf8ca2225c3a9da28e58bf37c;hb=ea158d30abf874821b98aa388dd9dcc71b4322dc;hp=1fc7680d1a5866afe745c3f77731f46696cc7db7;hpb=2f3dd8afdb3ea3661cd8f6ba127240fb8dbcd08a;p=NDIRC.git diff --git a/Intel.pm b/Intel.pm index 1fc7680..18ea15f 100644 --- a/Intel.pm +++ b/Intel.pm @@ -41,7 +41,7 @@ sub setHostile { return; } if(my $user = dc()){ - my $findid = $ND::DBH->prepare_cached(q{SELECT planetid(?,?,?,0)}); + my $findid = $ND::DBH->prepare_cached(q{SELECT planetid(?,?,?,tick())}); my ($id) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z); my $rv = $ND::DBH->do(q{UPDATE planets SET planet_status = 'Hostile' WHERE id = $1},undef,$id); if ($rv == 1){ @@ -63,11 +63,11 @@ sub setNick { $ND::server->command("notice $ND::nick Usage: .$command X:Y:Z nick"); return; } - if (my $user = officer){ + if (my $user = intel){ my $findid = $ND::DBH->prepare_cached(q{SELECT nick, id FROM planets - WHERE id = planetid(?,?,?,0)}); + WHERE id = planetid(?,?,?,tick())}); my ($oldnick,$id) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z); - if ($ND::DBH->do('UPDATE planets SET nick = $1 WHERE id = $2' + if ($id && $ND::DBH->do('UPDATE planets SET nick = $1 WHERE id = $2' ,undef,$nick,$id)){ unless (defined $oldnick){ $ND::server->command("msg $ND::target $x:$y:$z nick has been set to $ND::B$nick"); @@ -75,6 +75,8 @@ sub setNick { $ND::server->command("msg $ND::target $x:$y:$z nick has been changed from $ND::B$oldnick$ND::B to $ND::B$nick"); } intel_log $user->{uid},$id,"Set nick to: $nick"; + }else{ + $ND::server->command("msg $ND::target Couldn't find any planet with coords $x:$y:$z"); } } } @@ -91,16 +93,20 @@ sub setAlly { $ND::server->command("notice $ND::nick Usage: .$command X:Y:Z ally | | % can be used for wildcards \%-crew\% will match [F-Crew]"); return; } - if (my $user = officer){ + if (my $user = intel){ my $aid; if ($ally ne 'unknown'){ ($aid,$ally) = $ND::DBH->selectrow_array("SELECT id,name FROM alliances WHERE name ILIKE ?",undef,$ally); } if ($ally){ - my $findid = $ND::DBH->prepare_cached(q{SELECT id,alliance FROM current_planet_stats + my $findid = $ND::DBH->prepare(q{SELECT id,alliance FROM current_planet_stats WHERE x = ? AND y = ? and z = ?}); my ($id,$alliance) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z); - if($id && $ND::DBH->do('UPDATE planets SET alliance_id = $1 WHERE id = $2' + unless ($id){ + $ND::server->command("msg $ND::target Couldn't find a planet at $x:$y:$z"); + return; + } + if($ND::DBH->do('UPDATE planets SET alliance_id = $1 WHERE id = $2' ,undef,$aid,$id)){ if (defined $alliance){ $ND::server->command("msg $ND::target Changed $x:$y:$z from $ND::B$alliance$ND::B to $ND::B$ally"); @@ -109,7 +115,7 @@ sub setAlly { } intel_log $user->{uid},$id,"Set alliance_id to: $aid ($ally)"; }else{ - $ND::server->command("msg $ND::target Couldn't find a planet at $x:$y:$z"); + $ND::server->command("msg $ND::target Couldn't set alliance_id to: $aid"); } }else{ $ND::server->command("msg $ND::target Couldn't find such an alliance"); @@ -129,7 +135,7 @@ sub setChannel { $ND::server->command("notice $ND::nick Usage: .$command X:Y:Z channel"); return; } - if (my $user = officer()){ + if (my $user = intel){ my $findid = $ND::DBH->prepare_cached(q{SELECT id,channel FROM current_planet_stats WHERE x = ? AND y = ? and z = ?}); my ($id,$c) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z);