Jump to content

Iniciante - Script de verificar elemento e desligar o carro.


Recommended Posts

Posted

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.

Posted

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
  • Moderators
Posted

Ou troque o evento "onPlayerVehicleEnter" por "onVehicleEnter". Dai o primeiro parâmetro segue sendo o jogador.

  • Thanks 1

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted (edited)

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
  • Moderators
Posted

Sim, abra um novo tópico.

  • Thanks 1

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

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...