Jump to content

Iniciante - Script de verificar elemento e desligar o carro.


Recommended Posts

Fala galera, como vão? 

Sou novo aqui no MTA e estou seguindo algumas dicas de praticar e estudar o Wiki-MTA.

 

Como não tenho ninguém para me ensinar, estou tentando fazer um script que, ao verificar que o player não tem CNH desligue o carro.

Meu código está assim:

 

function obtercnh(player) -- Ele obtem CNH ao entrar no marker
    if getElementData(player, "cnh") == false then
        setElementData(player, "cnh", true)
        outputChatBox("Você obteve sua CNH!")
    end 
end
addEventHandler("onMarkerHit", mCnh, obtercnh)

function jogarFora(player) -- Ele joga a CNH fora
    if getElementData(player, "cnh") == true then
        setElementData(player, "cnh", false)
        outputChatBox("Você jogou sua CNH fora!")
    else
        outputChatBox("Você não tem CNH para jogar fora!")
    end
end
addCommandHandler("jogar", jogarFora)

function desligarCarro(player) -- Deveria desligar o carro que o player está caso ele não tenha CNH
    if getElementData(player, "cnh") == false then
        playerVehicle = getPedOccupiedVehicle(player)
        setVehicleEngineState(playerVehicle, false)
    end
end
addEventHandler("onPlayerVehicleEnter" , getRootElement (), desligarCarro)

Alguém consegue me ajudar por gentileza? 

 

Obs: Sou iniciante então deve ser algo bem simples mas estou a 2 dias e não consigo saber o que é pois não dá erro... Desculpem e obrigado.

Link to comment

de uma olhada em https://wiki.multitheftauto.com/wiki/OnPlayerVehicleEnter

veja que o primeiro argumento ali onde vc deixou 'player' é na verdade o veiculo que foi entrado, pra acessar o player use source pra esse evento, isso tbm ta especificado na wiki, outro detalhe que sugiro adicionar é fazer a checagem só pro banco do motorista, senão quem entrar de passageiro sem cnh vai desligar o carro..

function desligarCarro(carro,assento)
    if not getElementData(source, "cnh") and assento==0 then--se nao tiver elementdata cnh e estiver no banco do motorista (assento 0)
        setVehicleEngineState(carro, false)
    end
end
addEventHandler("onPlayerVehicleEnter" , getRootElement (), desligarCarro)

 

  • Thanks 1
Link to comment

Galera, muito obrigado pela ajuda! Estou muito feliz em ver as coisas andando. 

 

Grato pela ajuda de vocês! 

 

Como que eu sei o que usar no "()"? Por exemplo source no lugar de "player"? 

 

Devo abrir um novo tópico para isto?

Outra coisa, na linha: 

if not getElementData(source, "cnh") and assento==0 then--se nao tiver elementdata cnh e estiver no banco do motorista (assento 0)

Como que o sistema sabe que "assento" é a posição do player no carro? 

Edited by MatheusNs
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...