Guest User

Untitled

a guest
Nov 23rd, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 3.29 KB | None | 0 0
  1. #Test.pm
  2.  
  3. package Test;
  4.  
  5. use POE;
  6. use plugin;
  7.  
  8.  
  9. our $plugin_name;
  10. our %config;
  11.  
  12. our %additional_events =
  13. (
  14.     "spectatespeed" => "spectatespeed",
  15.     "sspeed" => "sspeed"
  16. );
  17.  
  18. #Initialize the plugin
  19. sub start
  20. {
  21.     my ( $session, $heap, $args ) = @_[ SESSION, HEAP, ARG0 ];
  22.     my $kernel = $_[KERNEL];
  23. }
  24.  
  25. sub stop
  26. {
  27.     my ( $session, $heap, $args ) = @_[ SESSION, HEAP, ARG0 ];
  28.     my $kernel = $_[KERNEL];
  29.  
  30. }
  31.  
  32. sub spectatespeed
  33. {
  34.     my ( $kernel, $session, $heap, $args ) = @_[ KERNEL, SESSION, HEAP, ARG0 ];
  35.     my %args = %{$args};
  36.     my $commanduser = $args{'nick'};
  37.     my $nicktype = $args{nicktype};
  38.     if ($nicktype == 1)
  39.     {
  40.         plugin::ircmsg ( "This Command can only be used in game.", $args{'ircChannelCode'} );
  41.         return;
  42.     }
  43.     if ( $args{arg1} && $args{arg2} )
  44.     {
  45.         my $sspeed = $args{arg2};
  46.         my ( $result, %player ) = plugin::getPlayerData ( $commanduser );
  47.         if ( $result == 1 )
  48.         {
  49.             plugin::RenRemCMD ("spectatespeed $player{id} $sspeed" );
  50.         }  
  51.     }
  52. }
  53.  
  54. sub sspeed
  55. {
  56.     my ( $kernel, $session, $heap, $args ) = @_[ KERNEL, SESSION, HEAP, ARG0 ];
  57.     my %args = %{$args};
  58.  
  59.     if ($args{nicktype} == 1) { plugin::ircmsg ( "This Command can only be used in game.", $args{'ircChannelCode'} ); return;}
  60.    
  61.     # !Command number
  62.     if ( $args{arg} =~ m/^\!\S+\s(\d+)$/i )
  63.     {
  64.         my $speed = $1;
  65.         my ( $result, %player ) = playerData::getPlayerData ( $args{nick} );
  66.         if ( $result == 1 )
  67.         {
  68.             if ( $speed >= 101 )
  69.             {
  70.                 sendmsg("Invalid speed use 1 - 100", $args{nicktype}, $args{'ircChannelCode'}, $args{nick} );
  71.                 return;
  72.             }
  73.             else
  74.             {
  75.                 plugin::RenRemCMD ( "spectatespeed $player{id} $speed" );
  76.             }  
  77.         }      
  78.     }
  79.     else
  80.     {
  81.         my $syntaxvalue = $args{settings}->{syntax}->{value};
  82.         sendmsg("Usage: $syntaxvalue", $args{nicktype}, $args{'ircChannelCode'}, $args{nick} );
  83.     }
  84. }
  85.  
  86. sub sendmsg
  87. {
  88.     my ( $msg, $nicktype, $chantype, $username ) = @_;
  89.     if ($nicktype == 1)
  90.     {
  91.         plugin::ircmsg ($msg, $chantype );
  92.     }
  93.     else
  94.     {
  95.         my ( $result, %player ) = playerData::getPlayerData( $username );
  96.         if ( $result == 1 )
  97.         {
  98.             plugin::pagePlayer ( $player{'id'}, "Brenbot", "$msg." );
  99.         }
  100.     }
  101. }
  102.  
  103. sub command
  104. {
  105.     my ( $kernel, $session, $heap, $args ) = @_[ KERNEL, SESSION, HEAP, ARG0 ];
  106.     my %args = %{$args};
  107.  
  108.     if ( $args{command} eq "spectatespeed" )
  109.     {
  110.         $kernel->yield( "spectatespeed" => \%args );
  111.     }
  112.     elsif ( $args{command} eq "sspeed" )
  113.     {
  114.         $kernel->yield( "sspeed" => \%args );
  115.     }  
  116. }
  117. 1;
  118.  
  119. #Test.xml
  120.  
  121. <?xml version="1.0" ?>
  122.  
  123. <plugin name="Test">
  124.   <command name="spectatespeed">
  125.     <permission level="1"/>
  126.     <syntax value="!spectatespeed >PlayerID< >speed<"/>
  127.     <help value="sets the player speed while in spectae mode Only for ingame."/>
  128.     <enabled value="1"/>
  129.     <hideInHelp value="0"/>
  130.     <group>irc_admin</group>
  131.     <group>ingame</group>
  132.     <alias>spectatespeed</alias>
  133.   </command>
  134.   <command name="sspeed">
  135.     <permission level="1"/>
  136.     <syntax value="!sspeed >speed<"/>
  137.     <help value="sets the player speed while in spectae mode Only for ingame."/>
  138.     <enabled value="1"/>
  139.     <hideInHelp value="0"/>
  140.     <group>irc_admin</group>
  141.     <group>ingame</group>
  142.   </command>
  143.     <events>
  144.         <event>command</event>
  145.     </events>
  146.     <config>
  147.     </config>
  148.     <gamelog_regex_hooks>
  149.     </gamelog_regex_hooks>
  150.     <renlog_regex_hooks>
  151.     </renlog_regex_hooks>
  152. </plugin>
Add Comment
Please, Sign In to add comment