Advertisement
Guest User

[Bass] SHS rev3 (WIP)

a guest
Apr 11th, 2015
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.61 KB | None | 0 0
  1. --  Bass [S]imple [H]ats [S]ystem
  2. --[[
  3.     THIS CODE WERE WRITTEN BY ONLY AND ONLY, YANK.
  4.     NOTHING'S COPIED OR STOLEN FROM OTHER SOFTWARES/SCRIPTS SO, DON'T EVEN TRY.
  5.     THUS, YOU CAN ONLY USE IT IF YOU FOLLOW THE TERMS OF USE:
  6.         YOU CANNOT DISTRIBUTE IT FOR ANY COMMERCIAL PURPOSE
  7.         YOU CANNOT ASSIGN ANYBODY APPART FROM ME AS ITS AUTHOR
  8.         YOU CANNOT COPY ANYTHING FROM IT
  9.         YOU CAN ONLY SHARE IT WITH MY PERMISSION
  10.  
  11.     INFORMATION
  12.     IF YOU FIND ANY BUG, FEEL FREE TO REPORT IT TO ME
  13.     CONTACT ME ALSO IF YOU WANT A FEATURE TO BE ADDED OR SOMETHING TO BE CHAGED
  14.         MY CONTACT: http://unrealsoftware.de/profile.php?userid=94235 OR SKYPE: gougous3
  15. --]]
  16.  
  17. if not cosm then cosm = {
  18.     CONFIG = {
  19.         rank = 1;                       -- Minimum rank needed to bring the visuals menu
  20.         svact = true;                   -- Wether the visuals menu can be opened by serveraction (F2)
  21.     };
  22.  
  23.     SETUP = {
  24.         {"Batman", path = "gfx/yank/suckyhats/batman_suit.png"};
  25.         {"Bear Beast", path = "gfx/yank/suckyhats/beast_armor.png"};
  26.         {"Mecha", path = "gfx/yank/suckyhats/mecha_armor.png"};
  27.         {"Healing God", path = "gfx/yank/suckyhats/medic_costume.png"};
  28.         {"Ninja", path = "gfx/yank/suckyhats/ninja_costume.png"};
  29.         {"Saiyan Suit", path = "gfx/yank/suckyhats/saiyan_suit.png"};
  30.         {"Umbrella", path = {"gfx/yank/suckyhats/terrorist_umbrella.png", "gfx/yank/suckyhats/counterterrorist_umbrella.png"}};
  31.     };
  32.  
  33.     ABOUT = {
  34.         name = "Cosmetics";
  35.         author = "_Yank";
  36.         version = "1b";
  37.         commands = {
  38.             {"vis", level = 1, func = "cosm.renderMenu", desc = "Bring up visuals menu."};
  39.             {"revis", level = 1, func = "cosm.reVis", desc = "Remove current visual."}
  40.         };
  41.     };
  42. } end
  43.  
  44. cosm.pi = {}
  45. for i = 1, tonumber(game("sv_maxplayers")) do cosm.pi[i] = {0, 0} end
  46.  
  47. addhook("menu","cosm.MENUCORE")
  48. function cosm.MENUCORE(id, title, button)
  49.     if title:sub(1, 7) == "Visuals" then
  50.         local page = tonumber(string.match(title, "(%d*)/"))
  51.         if button == 8 then cosm.renderMenu(id, page + 1) end
  52.         if button == 9 then cosm.renderMenu(id, page - 1) end
  53.         if button <= 6 and button > 0 then
  54.             local visual = ((page - 1) * 6) + button
  55.             if cosm.pi[id][2] ~= 0 then cosm.reVis(id) end
  56.             cosm.dress(id, visual)
  57.         end
  58.     end
  59. end
  60.  
  61. addhook("startround","cosm.RELOAD")
  62. function cosm.RELOAD()
  63.     for id = 1, tonumber(game("sv_maxplayers")) do
  64.         if player(id,"exists") and user[id].rank >= cosm.CONFIG.rank and player(id, "team") ~= 0 and cosm.pi[id][2] ~= 0 then cosm.dress(id, cosm.pi[id][2]) end
  65.     end
  66. end
  67.  
  68. if cosm.CONFIG.svact then
  69.     addhook("serveraction","cosm.TRIGGER")
  70.     function cosm.TRIGGER(id, act)
  71.         if user[id].rank >= cosm.CONFIG.rank then if act == 1 then cosm.renderMenu(id) elseif act == 2 then cosm.reVis(id) end end
  72.     end
  73. end
  74.  
  75. function cosm.dress(id, hat)
  76.     if type(cosm.SETUP[hat].path) == "string" then cosm.pi[id][1] = image(cosm.SETUP[hat].path, 1, 1, 200 + id)
  77.     else cosm.pi[id][1] = image(cosm.SETUP[hat].path[player(id,"team")], 1, 1, 200 + id) end
  78.     cosm.pi[id][2] = hat
  79. end
  80.  
  81. function cosm.renderMenu(id, page)
  82.     local page = page or 1
  83.     local pages = math.ceil(#cosm.SETUP / 6)
  84.     if page < 1 then page = pages end
  85.     if page > pages then page = 1 end
  86.     local menuString = "Visuals ("..page.."/"..pages..")"
  87.     for i = 6 * page - 5, 6 * page do if cosm.SETUP[i] then menuString = menuString ..", ".. cosm.SETUP[i][1] else menuString = menuString .."," end end
  88.     if page == pages then menuString = menuString ..",,First page" else menuString = menuString ..",,Next page" end
  89.     if page == 1 then menuString = menuString ..",Last page" else menuString = menuString ..",Previous page" end
  90.     menu(id, menuString)
  91. end
  92.  
  93. function cosm.reVis(id) freeimage(cosm.pi[id][1]) ; cosm.pi[id][2] = 0 end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement