~/paste/12668
~/paste/12668
~/paste/12668

  1. ########main.ms:
  2.  
  3. bind(player_interact, null, array(block: '77'), @event,        
  4.          assign(@list, get_value('button'))
  5.          
  6.          if(not(is_array(@list)),
  7.                 return())
  8.                
  9.         assign(@cursor, _roundLoc(@event['location']))
  10.         if(array_contains(@list[0], @cursor),
  11.                 assign(@index, array_index(@list[0], @cursor))
  12.                
  13.                 if(not(equals(@list[2][@index], 0)),
  14.                
  15.                         assign(@cooldown, @list[2][@index])
  16.                         assign(@storage, concat('button_delayer_', @index))
  17.                        
  18.                         if(is_null(get_value(@storage)),
  19.                                 store_value(@storage, 0))
  20.  
  21.                         assign(@lastuse, get_value(@storage))
  22.  
  23.                         if(@lastuse + @cooldown > time() / 1000,
  24.                                 assign(@timeleft, subtract(add(@lastuse, @cooldown), divide(time(), 1000)))
  25.                                 assign(@timeleft, round(@timeleft))
  26.                                 msg(color(red) 'Przycisk ponownie aktywny za' @timeleft 'sekund!')
  27.                                 cancel(true)
  28.                                 return())
  29.  
  30.                         store_value(@storage, time() / 1000))
  31.                
  32.                 if(and(not(equals(@list[1][@index], 0)), is_array(@list[1][@index])),
  33.                        
  34.                         foreach(@list[1][@index], @i,
  35.                                
  36.                                 if(gt(length(@i), 6),
  37.                                         if(equals(substr(@i, 0, 6), '_sudo_'),
  38.                                                 scriptas(@event['player'], sudo(substr(@i, 6)))
  39.                                                 return()))
  40.                                
  41.                                 chatas(@event['player'], @i)))))
  42.  
  43.  
  44. #####config.txt:
  45.  
  46. moderator:/guzik [$cmd=''] [$=''] = >>>
  47.  
  48.         _checkPerms(player(), 'moderator')
  49.  
  50.         include('includes/guzik.ms')
  51.  
  52.         if(is_null(get_value(button)),
  53.                 store_value(button, array(array(), array(), array())))
  54.  
  55.         switch($cmd,
  56.        
  57.         '?', _commandGuzikPomocy($) die(),
  58.        
  59.         'pomocy', _commandGuzikPomocy($) die())
  60.        
  61.                        
  62.         if(not(equals(substr(get_block_at(pcursor()), 0, 3), '77:')),
  63.                 die(color(red) 'Toz to nie przycisk jest!'))
  64.  
  65.         switch($cmd,
  66.        
  67.                 'dodaj', _commandGuzikDodaj($),
  68.                
  69.                 'usun', _commandGuzikUsun($),
  70.                
  71.                 'opozn', _commandGuzikOpozn($),
  72.  
  73.                 '', _commandGuzikInfo($))
  74.                
  75.  <<<
  76.  
  77.  
  78.  
  79. ####/includes/guzik.ms
  80.  
  81.  
  82.  proc(_commandGuzikDodaj, @in,
  83.        
  84.         assign(@list, get_value('button'))
  85.        
  86.         assign(@cursor, _roundLoc(pcursor()))
  87.         if(array_contains(@list[0], @cursor),
  88.                 assign(@index, array_index(@list[0], @cursor))
  89.                
  90.                 array_push(@list[1][@index], @in)
  91.                
  92.                 store_value('button', @list)   
  93.                 msg(color(gold) 'Przypisano komende' @in 'do przycisku!')
  94.                 console('BUTTON:' player() 'przypisal' @in 'do' pcursor(), false)
  95.        
  96.                 return())
  97.                
  98.         array_push(@list[0], pcursor())
  99.         array_push(@list[1], array(@in))
  100.         array_push(@list[2], '0')
  101.        
  102.         store_value('button', @list)
  103.         msg(color(gold) 'Przypisano komende' @in 'do przycisku!')
  104.         console('BUTTON:' player() 'przypisal' @in 'do' pcursor(), false)
  105.         return())
  106.        
  107.        
  108. proc(_commandGuzikUsun, @in,
  109.        
  110.         assign(@list, get_value('button'))
  111.        
  112.         assign(@cursor, _roundLoc(pcursor()))
  113.         if(array_contains(@list[0], @cursor),
  114.                 assign(@index, array_index(@list[0], @cursor))
  115.                
  116.                 array_remove(@list[0], @index)
  117.                 array_remove(@list[1], @index)
  118.                 array_remove(@list[2], @index)
  119.                
  120.                 store_value('button', @list)
  121.                 msg(color(gold) 'Usunieto wszystko z przycisku!')
  122.                 console('BUTTON:' player() 'usunal' pcursor(), false)
  123.                 return())
  124.                
  125.         msg(color(red) 'Ten guzik jest czysty!')
  126.         return())
  127.  
  128.        
  129.        
  130.  proc(_commandGuzikOpozn, @in,
  131.        
  132.         assign(@list, get_value('button'))
  133.        
  134.         if(not(is_integral(@in)),
  135.                 die(color(red) . 'Podaj liczbe calkowita!'))
  136.  
  137.         assign(@cursor, _roundLoc(pcursor()))
  138.         if(array_contains(@list[0], @cursor),
  139.                 assign(@index, array_index(@list[0], @cursor))
  140.                
  141.                 array_set(@list[2], @index, @in)
  142.                
  143.                 store_value('button', @list)   
  144.                 msg(color(gold) 'Opozniono przycisk o' color(green) @in color(gold) 'sekund!')
  145.                 console('BUTTON:' player() 'ustawil opoznienie' @in 'dla' pcursor(), false)
  146.        
  147.                 return())
  148.                
  149.         array_push(@list[0], pcursor())
  150.         array_push(@list[1], array())
  151.         array_push(@list[2], @in)
  152.        
  153.         store_value('button', @list)
  154.         msg(color(gold) 'Opozniono przycisk o' color(green) @in color(gold) 'sekund!')
  155.         console('BUTTON:' player() 'przypisal' @in 'do' pcursor(), false)
  156.         return())
  157.        
  158.  
  159.        
  160. proc(_commandGuzikInfo, @in,
  161.         assign(@list, get_value('button'))
  162.         assign(@cursor, _roundLoc(pcursor()))
  163.         if(array_contains(@list[0], @cursor),
  164.                 assign(@index, array_index(@list[0], @cursor))
  165.                
  166.                 msg(color(gold) . 'Guzik na kordach:' color(green) . pcursor())
  167.                 if(is_array(@list[1][@index]),
  168.                         msg(color(gold) . 'Zabindowane komendy:')
  169.                         for(assign(@i, 0), lt(@i, array_size(@list[1][@index])), inc(@i),
  170.                                 msg(color(green) . add(@i, 1) . ':' @list[1][@index][@i])))
  171.                 msg(color(gold) . 'Opoznienie:' color(gold) . @list[2][@index] 'sekund')
  172.                
  173.                 return())
  174.                
  175.         msg(color(red) 'Ten guzik jest czysty!')
  176.         return())
  177.        
  178.        
  179.        
  180. proc(_commandGuzikPomocy, @in,
  181.        
  182.         msg(color(gold) . 'Guzik 1.1-r2 by Ineptus')
  183.         msg(color(gold) . 'Patrzac na guzik mozesz uzyc jednej z ponizszych komend:')
  184.         msg(color(gold) . '/guzik dodaj' color(green) '(bindowany tekst/komenda)')
  185.         msg(color(gold) . '/guzik opozn' color(green) '(liczba sekund co ktore bedzie mozna uzyc guzika)')
  186.         msg(color(gold) . '/guzik usun' color(green) '- usuwa wszystko z guzika')
  187.         msg(color(gold) . '/guzik' color(green) '- wyswietla informacje o guziku')
  188.        
  189.         return())
Language: commandhelper
Posted by Anonymous at 07 Jan 2014, 12:00:36 UTC