-- Invisible
-- Author: Crys
local key = "I"
local visible = false
local toggled_objects = {}
function has_value(tab, val)
for index, value in ipairs(tab) do
if value == val then
return true
end
end
return false
end
local doubleSidedModels = {8171, 8172, 8355, 8356, 8357, 8661}
local datas = {
alpha = {
set = setElementAlpha,
get = getElementAlpha,
sources = {0},
target = 255
},
scale = {
set = setObjectScale,
get = getObjectScale,
sources = {0},
target = 1
},
interior = {
set = setElementInterior,
get = getElementInterior,
sources = {1, 2, 3},
target = 0
},
doubleside = {
set = setElementDoubleSided,
get = function(object)
return not has_value(doubleSidedModels, getElementModel(object))end,
sources = {false},
target = true
}
}
function toggleObjects(message)
if not visible then
for object, values in pairs(toggled_objects) do
for key, data in pairs(datas) do
if values[key] ~= nil then
data.set(object, values[key])
end
end
end
toggled_objects = {}
if message then
if getResourceState(getResourceFromName("godcore")) == "running" then
exports.godcore:showMessage("Invisible objects #FF6666disabled #E7D9B0\n Invisible objects are now invisible", "invisible") --, r, g, b, br, bg, bb, 1, myFont)
end
end
else
for _, object in pairs(getElementsByType"object") do
local values = nil
for key, data in pairs(datas) do
local value = data.get(object)
if has_value(data.sources, value) then
if values == nil then
values = {}
end
values[key] = value
data.set(object, data.target)
end
end
if values ~= nil then
toggled_objects[object] = values
local data = nil
--if not has_value(datas.alpha) then
--data.set(object, data.target)
--end
--ha a values nem tartalmaz datas.alpha kulcsot, akkor adja hozzá
end
end
if message then
if getResourceState(getResourceFromName("godcore")) == "running" then
exports.godcore:showMessage("Invisible objects #6AFF66enabled #E7D9B0\n Invisible objects are now visible", "visible") --, r, g, b, br, bg, bb, 1, myFont)
end
end
end
end
addEventHandler("onClientElementDestroy", root, function ()
toggled_objects[source] = nil
end)
addEventHandler("onClientResourceStart", resourceRoot, function ()
bindKey(key, "down", function ()
visible = not visible
toggleObjects(true)
end)
end)
addEvent("onClientMapStarting", true)
addEventHandler("onClientMapStarting", localPlayer, function ()
if visible then
toggleObjects(false)
end
exports.godcore:showMessage("Press #ff6666" .. key .. "#e7d9b0 to toggle invisible objects.", "visible")
end)
{"text":"text","html5":"html","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"lua","bash":"sh","erlang":"erlang","go":"golang","c":"c_cpp","cpp":"c_cpp","diff":"diff","latex":"latex","sql":"sql","xml":"xml","0":"text","abap":"abap","actionscript":"actionscript","actionscript3":"actionscript","ada":"ada","apache":"apache_conf","applescript":"applescript","asm":"assembly_x86","autohotkey":"autohotkey","closure":"closure","cobol":"cobol","coffeescript":"coffee","cpp-winapi":"c_cpp","c_loadrunner":"c_cpp","c_mac":"c_cpp","c_winapi":"c_cpp","csharp":"csharp","d":"d","dart":"dart","dot":"dot","eiffel":"eiffel","fortran":"fortran","groovy":"groovy","haskell":"haskell","haxe":"haxe","ini":"ini","io":"io","java":"java","java5":"java","make":"makefile","matlab":"matlab","mysql":"mysql","objc":"objectivec","ocaml":"ocaml","pascal":"pascal","perl":"perl","perl6":"perl","postgresql":"pgsql","powershell":"powershell","prolog":"prolog","properties":"properties","rails":"ruby","rust":"rust","scala":"scala","scheme":"scheme","smarty":"smarty","tcl":"tcl","vala":"vala","vb":"vbscript","verilog":"verilog","vhdl":"vhdl","yaml":"yaml"}