MatheusNs Posted April 24, 2020 Share Posted April 24, 2020 Fala galera! Em meus estudos em programação, para ser mais específico MTA. Me deparei com a seguinte situação: Este código simples de verificar o nome do carro ao entrar não funciona (Dá erro de boolean value) function vei(player) nome = getVehicleName(player) outputChatBox("O nome do veículo atual é: "..nome) end addEventHandler("onVehicleEnter", getRootElement(), vei) Estava fazendo algumas pesquisas e vi que esse sim funciona. function vei(player) nome = getVehicleName(player) outputChatBox("O nome do veículo atual é: "..nome) end addEventHandler("onPlayerVehicleEnter", getRootElement(), vei) Esse também funciona function vei(player) carro = getPedOccupiedVehicle(player) nome = getVehicleName(carro) outputChatBox("O nome do veículo atual é: "..nome) end addEventHandler("onVehicleEnter", getRootElement(), vei) Mais uma vez, sou iniciante... Mas tenho essas dúvidas que gostaria de esclarecer para evoluir. Acredito que estou me perdendo muito no que usar dentro de "function ()"... Também peco para saber qual a diferença entre type: server/client/shared (Sei que no MTA explica mas na hora de aplicar tenho dificuldade, até agora uso mais o type: server) Também acredito que erro muito em passar os parâmetros para os métodos, como getVehicleName devo indicar o parâmetro: theVehicle Alguma dica ou exemplo para eu não me embananar mais nessas questões? Estou praticando todos os dias para ver se entra na cabeça! Obrigado galera. Link to comment
_Ace Posted April 24, 2020 Share Posted April 24, 2020 a dica principal é primeiro ver se o evento ou método é clientside ou serverside/shared, resumindo os 3 tipos: client/shared/server: client: os scripts clientside são baixados no pc do player, e executados na grande maioria das vezes sem sincronia com os outros, exemplo: setVehicleComponentVisible para esconder componentes do carro, só é visível para o player que solicitou, para ser visto por todos, precisaria de triggers e funções server para sincronizar/ser visível para outros shared: são funções que funcionam tanto em serverside quanto clientside, createObject é um exemplo, a versão client cria um objeto visível só para o player que requisitou, a server é visivel pra todos (em uso normal), as vezes a versão client tem parâmetros diferentes da server, exemplo o setPlayerMoney server: aqui o resultado do método/evento fica visível/disponível pra todos no server, a não ser que vc especifique que seja pra um player ou mais específicos, exemplo: outputChatBox veja no artigo da wiki nos 2 eventos, um tem como primeiro parametro o player, e o outro o veiculo, vc deve ter se confundido com a palavra player que na verdade poderia ser qualquer coisa, os parâmetros vc pode usar qualquer palavra, exemplo server: function vei() outputChatBox("O nome do veículo atual é: "..getVehicleName(source))--o source desse evento é o veiculo que o player entrou (wiki) end addEventHandler("onVehicleEnter", getRootElement(), vei) --outro exemplo: function vei(carroqueentrou) outputChatBox("O nome do veículo atual é: "..getVehicleName(carroqueentrou))--primeiro parametro = o carro que entraram, pode ser qualquer nome end addEventHandler("onPlayerVehicleEnter", getRootElement(), vei) a dica tbm é lembrar que quando é evento, cada um tem seus parâmetros, e vc tbm pode usar o source de cada evento, e quanto usar comandos, tbm muda de server pra client (addCommandHandler) 1 Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now