$dbh->commit;
}
+sub setnick
+ : Help(Usage: .setnick X:Y:Z nick)
+ : ACL(irc_setnick)
+{
+ my ($self,$c,$msg) = @_;
+ my ($x,$y,$z,$nick) = $msg =~ /^(\d+)\D(\d+)\D(\d+) (\S+)$/ or die 'ARGS';
+ my $dbh = $c->model;
+
+ my $findid = $dbh->prepare(q{
+SELECT nick, id, alliance_id FROM planets WHERE id = planetid(?,?,?,tick())
+ });
+ my $planet = $dbh->selectrow_hashref($findid,undef,$x,$y,$z);
+ unless($planet->{id}){
+ $c->reply("Couldn't find any planet with coords $x:$y:$z");
+ }elsif($planet->{alliance_id} ~~ 1){
+ $c->reply("This is an ND planet.");
+ }else{
+ $dbh->begin_work;
+ $dbh->do(q{UPDATE planets SET nick = $1 WHERE id = $2}
+ ,undef,$nick,$planet->{id});
+ if ($planet->{nick}){
+ $c->reply("$x:$y:$z nick has been changed from <b>$planet->{nick}</b> to <b>$nick</b>");
+ }else{
+ $c->reply("$x:$y:$z nick has been set to $nick");
+ }
+ $c->intel_log($planet->{id},"Set nick to: $nick");
+ $dbh->commit;
+ }
+}
+
1;
our @ISA = qw/Exporter/;
-our @EXPORT = qw/setNick setAlly setChannel/;
-
-sub setNick {
- my ($msg, $command) = @_;
- my ($x,$y,$z,$nick);
- if(defined $msg && $msg =~ /^(\d+)\D(\d+)\D(\d+) (\S+)$/){
- $x = $1;
- $y = $2;
- $z = $3;
- $nick = $4;
- }else{
- $ND::server->command("notice $ND::nick Usage: .$command X:Y:Z nick");
- return;
- }
- if (my $user = intel){
- my $findid = $ND::DBH->prepare_cached(q{SELECT nick, id FROM planets
- WHERE id = planetid(?,?,?,tick())});
- my ($oldnick,$id) = $ND::DBH->selectrow_array($findid,undef,$x,$y,$z);
- 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");
- }else{
- $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");
- }
- }
-}
+our @EXPORT = qw/setAlly setChannel/;
sub setAlly {
my ($msg, $command) = @_;
INSERT INTO roles VALUES('irc_s');
INSERT INTO roles VALUES('irc_h');
INSERT INTO roles VALUES('irc_sethostile');
+INSERT INTO roles VALUES('irc_setnick');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_p_nick');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_p_intel');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_s');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_h');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_sethostile');
+INSERT INTO group_roles (gid,role) VALUES(1,'irc_setnick');
INSERT INTO group_roles (gid,role) VALUES(2,'irc_gs');
INSERT INTO group_roles (gid,role) VALUES(2,'irc_scan');
INSERT INTO group_roles (gid,role) VALUES(3,'irc_s');
INSERT INTO group_roles (gid,role) VALUES(3,'irc_h');
INSERT INTO group_roles (gid,role) VALUES(3,'irc_sethostile');
+INSERT INTO group_roles (gid,role) VALUES(3,'irc_setnick');
INSERT INTO group_roles (gid,role) VALUES(4,'irc_points_others');
INSERT INTO group_roles (gid,role) VALUES(4,'irc_a');
INSERT INTO group_roles (gid,role) VALUES(5,'irc_p_nick');
INSERT INTO group_roles (gid,role) VALUES(5,'irc_p_intel');
INSERT INTO group_roles (gid,role) VALUES(5,'irc_sethostile');
+INSERT INTO group_roles (gid,role) VALUES(5,'irc_setnick');
INSERT INTO group_roles (gid,role) VALUES(6,'irc_p_intel');
INSERT INTO group_roles (gid,role) VALUES(6,'irc_points_others');