~/paste/11379
~/paste/11379
~/paste/11379

  1. proc(_assertperm, @name, @cmodetrumps,
  2.     if(player() == '~console', return())
  3.    
  4.     if(pisop(), return())
  5.    
  6.     if(has_permission('nerdch.level.' . @name), return())
  7.    
  8.     if(@cmodetrumps == 1 && pmode() == 'CREATIVE', return())
  9.    
  10.    
  11.    
  12.     msg(concat(color(red), 'You do not have permission to do this! [ap]'))
  13.     die())
  14.        
  15.        
  16. #Gets the mods and admins on right now
  17. proc(_get_mods,
  18.         assign(@mods, array())
  19.         assign(@ap, all_players())
  20.         foreach(@ap, @p,
  21.                 if(has_permission(@p, 'nerdch.level.mod'),
  22.                         array_push(@mods, @p)
  23. #                       console(sconcat(@p, 'has mod perm'))
  24.                 )
  25.                 #if(array_contains(pgroup(@p), 'Moderators'), array_push(@mods, @p))
  26.                 #if(array_contains(pgroup(@p), 'ModMode'), array_push(@mods, @p))
  27.         )
  28.         #assign(@admins, _get_admins())
  29.         #foreach(@admins, @admin,
  30.         #        array_push(@mods, @admin)
  31.         #)
  32.         return(@mods)
  33. )
  34.  
  35. #Gets just the admins on right now
  36. proc(_get_admins,
  37.         assign(@admins, array())
  38.         assign(@ap, all_players())
  39.         foreach(@ap, @p,
  40.                 #if(or(
  41.                 #        array_contains(pgroup(@p), 'HeadAdmins'),
  42.                 #        array_contains(pgroup(@p), 'CAdmins'),
  43.                 #        array_contains(pgroup(@p), 'TechAdmins'),
  44.                 #        array_contains(pgroup(@p), 'SAdmins'),
  45.                 #        array_contains(pgroup(@p), 'PAdmins')
  46.                 #), array_push(@admins, @p))
  47.                 if(has_permission(@p, 'nerdch.level.admin'), array_push(@admins, @p))
  48.         )
  49.         return(@admins)
  50. )
  51.  
  52. proc(_get_chat_admins,
  53.         assign(@admins, array())
  54.         assign(@ap, all_players())
  55.         foreach(@ap, @p,
  56.                 #if(or(
  57.                 #        array_contains(pgroup(@p), 'HeadAdmins'),
  58.                 #        array_contains(pgroup(@p), 'CAdmins'),
  59.                 #        array_contains(pgroup(@p), 'TechAdmins'),
  60.                 #        array_contains(pgroup(@p), 'SAdmins'),
  61.                 #        array_contains(pgroup(@p), 'PAdmins')
  62.                 #), array_push(@admins, @p))
  63.                 if(has_permission(@p, 'nerdch.level.adminchat'), array_push(@admins, @p))
  64.         )
  65.         return(@admins)
  66. )
  67.  
  68. #Messages all mods and admins
  69. proc(_mbroadcast, @msg,
  70.         foreach(_get_mods(), @m,
  71.                 tmsg(@m, @msg)
  72.         )
  73.         /*foreach(_get_admins(), @a,
  74.                 tmsg(@a, @msg)
  75.         )*/
  76. )
  77.  
  78. proc(_getonlinename, @name,
  79.     if(equals(@name, ''),
  80.         return(player()),
  81.     #else:
  82.         try(
  83.             assign(@name2, player(@name))
  84.             return(if(equals(@name, '~console'), 'console', @name2)),
  85.         @ex,
  86.             try(
  87.                 return(player(concat(color(10), @name))),
  88.             @ex,
  89.                 return(null)))))
  90.  
  91. proc(_contains, @needle, @haystack,
  92.         assign(@repl, replace(to_lower(@haystack), to_lower(@needle), ''))
  93.         #if(equals(to_lower(@haystack), to_lower(@repl)), return(false), return(true))
  94.         return(not(equals_ic(@haystack, @repl)))
  95. )
  96. proc(_kit, @name,
  97.     if(equals(@name, ''),
  98.         assign(@kits, array())
  99.         foreach(reg_split('\n', read('kits.txt')), @l,
  100.             assign(@m, reg_match('^([^:]+)', @l))
  101.             if(array_index_exists(@m,0),
  102.                 array_push(@kits, @m[1])))
  103.         msg(concat(color(gray), 'Usage: /kit <name>'))
  104.         msg(concat(color(gray), 'Available kits: ', array_implode(@kits, ', '))),
  105.     #else:
  106.         assign(@found, 0)
  107.         foreach(reg_split('\n', read('kits.txt')), @l,
  108.             assign(@m, reg_match(concat('^', @name, ': (.*)$'), @l))
  109.             if(array_index_exists(@m,0),
  110.                 assign(@found, 1)
  111.                 assign(@l, @m[1])
  112.                 for(assign(@i,0),true,inc(@i),
  113.                     assign(@m, reg_match('^([0-9]+)x ([0-9]+(?::[0-9]+)?)[ ,]*(.*)$', @l))
  114.                     if(array_index_exists(@m,0),
  115.                         pgive_item(@m[2], @m[1])
  116.                         assign(@l, @m[3]),
  117.                     #else:
  118.                         break()))))
  119.         if(equals(@found, 0),
  120.             msg(concat(color(red), 'Kit not found!')))))
  121.  
  122. #This set of commands, /msg, /r, and /cmsg replaces the built in message system
  123. #and allows for colored messages, so they are more prominent
  124.  
  125. proc(_message, @highlight, @to, @text,
  126.         assign(@from2, player())
  127.         assign(@to2,   _getonlinename(@to))
  128.         if(is_null(@to2),
  129.             msg(concat(color(red), 'Error: that player is not online!'))
  130.             return())
  131.         #if(equals(@to2, @from2),
  132.         #    msg(concat(color(red), 'foreveralone.png'))
  133.         #    return())
  134.         assign(@text2, concat(if(equals(@highlight, 1),
  135.             color(green),
  136.             color(white)), @text))
  137.  
  138.         msg(       concat(color(gray), '[me -> ', strip_colors(@to2),   '] ', @text2))
  139.         tmsg(@to2, concat(color(gray), '[', strip_colors(@from2), ' -> me] ', @text2))
  140.  
  141.         console(concat('[msg: ', @from2, ' -> ', @to2, '] ', @text))
  142.         export(concat('last_message_', to_lower(strip_colors(@to2))), to_lower(strip_colors(@from2)))
  143.         export(concat('last_message_', to_lower(strip_colors(@from2))), to_lower(strip_colors(@to2)))
  144. )
  145.  
  146.  
Language: text
Posted by Here+To+Make+Your+Day+\o/ at 04 Oct 2013, 11:25:09 UTC