Untitled

From Burly Treeshrew, 2 Weeks ago, written in Lua, viewed 14 times. This paste will go to meet its maker in 1 Second.
URL https://paste.godclan.hu/view/88d3f7d1 Embed
Download Paste or View Raw
  1. -- Invisible
  2. -- Author: Crys
  3.  
  4. local key = "I"
  5. local visible = false
  6. local toggled_objects = {}
  7.  
  8. function has_value(tab, val)
  9.     for index, value in ipairs(tab) do
  10.         if value == val then
  11.             return true
  12.         end
  13.     end
  14.  
  15.     return false
  16. end
  17.  
  18. local doubleSidedModels = {8171, 8172, 8355, 8356, 8357, 8661}
  19.  
  20. local datas = {
  21.     alpha = {
  22.         set = setElementAlpha,
  23.         get = getElementAlpha,
  24.         sources = {0},
  25.         target = 255
  26.     },
  27.     scale = {
  28.         set = setObjectScale,
  29.         get = getObjectScale,
  30.         sources = {0},
  31.         target = 1
  32.     },
  33.     interior = {
  34.         set = setElementInterior,
  35.         get = getElementInterior,
  36.         sources = {1, 2, 3},
  37.         target = 0
  38.     },
  39.         doubleside = {
  40.                 set = setElementDoubleSided,
  41.                 get = function(object)
  42.                 return not has_value(doubleSidedModels, getElementModel(object))end,  
  43.                 sources = {false},
  44.                 target = true
  45.   }
  46. }
  47.  
  48. function toggleObjects(message)
  49.         if not visible then
  50.                 for object, values in pairs(toggled_objects) do
  51.                         for key, data in pairs(datas) do
  52.                                 if values[key] ~= nil then
  53.                                         data.set(object, values[key])
  54.                                 end
  55.                         end
  56.                 end
  57.                 toggled_objects = {}
  58.                        
  59.                 if message then
  60.                         if getResourceState(getResourceFromName("godcore")) == "running" then
  61.                                 exports.godcore:showMessage("Invisible objects #FF6666disabled #E7D9B0\n  Invisible objects are now invisible", "invisible") --, r, g, b, br, bg, bb, 1, myFont)
  62.                         end
  63.                 end
  64.         else
  65.                 for _, object in pairs(getElementsByType"object") do
  66.                         local values = nil
  67.                         for key, data in pairs(datas) do
  68.                                 local value = data.get(object)
  69.                                 if has_value(data.sources, value) then
  70.                                         if values == nil then
  71.                                                 values = {}
  72.                                         end
  73.  
  74.                                         values[key] = value
  75.                                         data.set(object, data.target)
  76.                                 end
  77.                         end
  78.  
  79.                         if values ~= nil then
  80.                                 toggled_objects[object] = values
  81.                                 local data = nil
  82.                                 --if not has_value(datas.alpha) then  
  83.                                         --data.set(object, data.target)
  84.                                 --end
  85.                                 --ha a values nem tartalmaz datas.alpha kulcsot, akkor adja hozzá
  86.                         end
  87.                 end
  88.                 if message then
  89.                         if getResourceState(getResourceFromName("godcore")) == "running" then
  90.                                 exports.godcore:showMessage("Invisible objects #6AFF66enabled #E7D9B0\n  Invisible objects are now visible", "visible") --, r, g, b, br, bg, bb, 1, myFont)
  91.                         end
  92.                 end
  93.         end
  94. end
  95.  
  96. addEventHandler("onClientElementDestroy", root, function ()
  97.     toggled_objects[source] = nil
  98. end)
  99.  
  100.  
  101. addEventHandler("onClientResourceStart", resourceRoot, function ()
  102.     bindKey(key, "down", function ()
  103.         visible = not visible
  104.         toggleObjects(true)
  105.     end)
  106. end)
  107.  
  108. addEvent("onClientMapStarting", true)
  109. addEventHandler("onClientMapStarting", localPlayer, function ()
  110.     if visible then
  111.         toggleObjects(false)
  112.     end
  113.     exports.godcore:showMessage("Press #ff6666" .. key .. "#e7d9b0 to toggle invisible objects.", "visible")
  114. end)

Reply to "Untitled"

Here you can reply to the paste above