Apollo_Raptor Posted January 16, 2023 Share Posted January 16, 2023 Qual a diferença de eu fazer: bindKey("backspace", "down", function() if open_panel == true then removeEventHandler("onClientRender", getRootElement(), panel) end end) para: function fecharPainel () if open_panel == true then removeEventHandler("onClientRender", getRootElement(), panel) end end bindKey("backspace", "down", fecharPainel) ou para: local function fecharPainel () if open_panel == true then removeEventHandler("onClientRender", getRootElement(), panel) end end bindKey("backspace", "down", fecharPainel) Quem tiver bom coração me ajuda ai que são coisas que para a maioria das pessoas parece ser besta mais pra mim é uma coisa difícil Link to comment
Other Languages Moderators Lord Henry Posted January 16, 2023 Other Languages Moderators Share Posted January 16, 2023 A primeira forma é mais direta, você não declara o nome da função. É mais fácil, porém você não vai conseguir dar unbind depois, pois não terá o nome da função para desbindar. Ideal para quando você quer dar binds permanentes, que não serão desbindadas depois. Essa forma também não permite que você chame por outras formas, por exemplo via comando. A segunda forma resolve todas as limitações da primeira, porém você precisa declarar um nome para a função. Normalmente essa é a forma mais usada. A terceira forma com função local é usada somente por usuários avançados em situações específicas. Funções locais não funcionam fora de seu escopo, porém são um pouco mais leves do que as funções globais, pois elas são apagadas da memória depois que o programa sai do escopo em que elas foram criadas. Também são mais difíceis de hackear com scripts de terceiros que reescrevem sua função. Eu particularmente uso mais a primeira e segunda forma. 1 Link to comment
Recommended Posts