Jump to content

[Duvida] AddEvent


Recommended Posts

Galera, gostaria de saber qual a diferença disso

  
addEventHandler( "nome", getRootElement(), 
    function( ) 
        -- codigo 
    end 
) 
  

para isso

  
function teste1() 
    -- codigo    
end 
addEvent("nome", true) 
addEventHandler("nome", getRootElement(), ...)           
  

Resumindo, a diferença entre usar addEventHandler no inicio e no final

Muito Obrigado!

Estou passando por lag no meu servidor e estou desesperado kk, não sei o que pode estar causando tanto lag e estou procurando em tudo!

Link to comment

este evento é um já existente no MTA, você pode encontrar ele no WIKI

por (onResourceStart) ou (onPlayerJoin) entre outros

addEventHandler( "nome", getRootElement(), 
    function( ) 
        -- codigo 
    end 
) 
  

e este evento ele é criado por você mesmo usando ServerSide e ClientSide

com o uso de ( triggerEvent )

function teste1() 
    -- codigo    
end 
addEvent("nome", true) 
addEventHandler("nome", getRootElement(), teste1 )           
  

de uma pesquisada no WIKI do MTA

https://wiki.multitheftauto.com/

Link to comment

sobre o suposto lag em seu servidor?

pode ser o seu provedor de hospedagem ou pode até mesmo o seu Micro

tente dar uma limpada no seu micro, pode ter programas indevidos excedendo o limite da sua CPU

como Skype, TeamSpeak, Viros "Robo" entre outros

tenho certeza que não é muito os scripts não viu, de uma olhada aii

Link to comment

Respondendo diretamente à sua pergunta: qual a diferença entre usar no começo e no final? Absolutamente nenhuma.

Quando você usa, em qualquer linguagem, function() codigo_da_funcao end (respeitando a sintaxe de cada linguagem, claro), isto é, uma função sem nome, chamamos-a de função anônima. Geralmente usamos function NomeFuncao(), certo? function() end é uma função anônima, uma função sem nome. Funções anônimas são usadas quando você usa o addEventHandler() no começo.

Só existe diferença entre as duas se você quer vincular uma função à mais de um evento (quando um jogador se cadastra e quando um jogador morre, por exemplo, chamar a função que spawna o player e lhe dá algumas armas). Usando função anônima, você precisaria reescrever a MESMA função duas vezes: uma para cada evento. Usando função comum, nomeada, você simplesmente chama o nome da função nos dois eventos.

Link to comment

Basicamente a função addEvent permite você criar eventos personalizados, que podem ser 'chamados' com a função triggerEvent ou triggerServer/ClientEvent.

A diferença entre os codigos que você postou é que o segundo vai funcionar e o primeiro não, pois o evento "nome" não existe nativamente nem foi adicionado, Você pode testar dessa maneira, se quiser:

addEventHandler( "nome", getRootElement(), 
    function( ) 
        print ( "executado" ) 
    end 
) 
  
triggerEvent ( "nome", resourceRoot ) 

e

function teste1() 
    print ( "executado" )    
end 
addEvent("nome", true) 
addEventHandler("nome", getRootElement(), teste1 )      
  
triggerEvent ( "nome", resourceRoot ) 

O Evento também será chamado em todos os resources que tiverem um addEventHandler ( "nome" ... ).

Link to comment
@n3wage, isso aii mano. só não entendi o que o Stanley falo ali em cima :?:?:?:?:?:?

eu não sei a minha reação se fico assustado ou se dou risada, desculpa ai Stanley vc ta aqui ohh heart-icon.png

Ele estava explicando a diferença entre usar addEventHandler antes ou depois da função, assim:

addEventHandler ( "nome", root, 
function() 
end ) 

e

function oi () 
end 
addEventHandler ( "nome", root, oi ) 

Só complementei falando sobre a função addEvent :P

Link to comment

Realmente, apenas queria saber a diferença ao usar addEventHandler no inicio e no final!

Peço desculpas se fiz um topico mal elaborado, estava muito chateado tentando achar o erro que estava causando lag no servidor, fiz o topico pensando em outras coisas e acabei por não explicar direito minha pergunta.

De qualquer forma, agradeço aos 3 que estão sempre me ajudando, muito Obrigado!!

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...