Jump to content

Boechat

Members
  • Posts

    213
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Boechat

  1. Outra forma também seria usando a função útil getNearestVehicle, que retorna o veículo mais próximo da pessoa dentro de um raio e usar o attachElements para fixar o player no veículo.
  2. Tá 1000 de distancia no getWorldFromScreenPosition, talvez esteja funcionando mas o item está indo parar lá na puta que pariu e vc n tá conseguindo ver. Está aparecendo algum erro no debugscript?
  3. Crie um marker com attachElements no carro e faça uma lógica pro comando só funcionar dentro desse marker e quando der o comando faça o que você já vez de colocar o attachElements no player e no carro
  4. createBlip cria um blip fixo no mapa createBlipAttachedTo cria um blip fixado em algum elemento, que é o que você precisa usar para criar um blip que acompanhe o ônibus
  5. Criar o ônibus Criar um blip preso no ônibus Criar os marker da rota do ônibus onClientMarkerHit para chamar a função quando colidir no marker
  6. Crie uma variável para saber em qual aba você está e coloque uma condição quando o player clicar para comprar para saber em qual aba ele está. Vamos supor que tem 2 abas e é na aba 1 que deve comprar o veículo: local aba if isCursorOnElement (POSIÇÃO DA ABA 1 ) then aba = 'Aba1' elseif isCursorOnElement (POSIÇÃO DA ABA 2 ) then aba = 'Aba2' end if isCursorOnElement (POSIÇÃO DO BOTÃO DE COMPRAR ) and aba == 'Aba1' then EXECUTA A FUNÇÃO DE COMPRAR end Deu pra entender?
  7. Seu script tem vários erros. 1° porque você está usando 2x o getPedOccupiedVehicle(source)? 2° todo o seu código só vai rodar se o source não estiver em um veículo ( if not isPedInVehicle ( source ) then ), não faz sentido já que o veículo que o marker vai ser anexado é o veículo em que o source está. Marker_Van = {} function Pegar_Caixa_trabLixeiro (source) local Veiculo = getPedOccupiedVehicle(source) if isElement(Veiculo) and getElementModel (Veiculo) == 408 then Marker_Van[source] = createMarker ( 0, 0, 0, "cylinder", 1.2, 16, 111, 231, 90) attachElements ( Marker_Van[source], Veiculo, 0, -4.5, -1.2 ) setElementVisibleTo ( Marker_Van[source], source, true ) end end Obs: desse jeito só vai criar o marker se o source estiver dentro do carro.
  8. Só pra complementar a resposta setElementData(source, "moneysujo", -100000) na verdade era pra ser setElementData(source, "moneysujo", Sujo - 100000)
  9. Muito obrigado mesmo, cara! Você me deu um norte nessa questão, ajudou muito mesmo!
  10. Boa noite a todos, já faz um tempo que eu venho estudando programação de scripts para MTA e tudo mais e me apareceu uma oportunidade de venda de script. Isso não é o meu foco, mas já que apareceu essa oportunidade de descolar uns trocado, quero prover um bom serviço para o cliente. Quem é mais experiente nessa área de venda de script, pode me dar uns conselhos? Por exemplo: - Até onde o devo me prolongar o suporte com o script? - Média de preços. Sei que varia muito de acordo com o trabalho, mas se puder me dar uma média de valores de um script simples, mediano e um mais trabalhoso, só pra eu me basear - Depois de vendido, o comprador pode divulgar o script? Há um modo de proteger o script sem ser compilando? Ou qualquer outra coisa que sirva de ajuda nessa questão de venda de script. @Lord Henry sei que você mantém uma planilha de scripters confiáveis, tenho certeza que entende sobre isso, se puder dar uma força pra eu não vacilar em nenhum ponto com o cliente eu agradeço muito!!!
  11. Quando a pessoa está algemada ou caída provavelmente ela tem um ElementData nela, né? Não sei exatamente qual, isso você tem que ver no seu script, mas vamos supor que seja "Algemado" e "Caido", ok? function quitPlayer ( ) if getElementData (source, 'Algemado') or getElementData (source, 'Caido') then banPlayer ( source, true, false, false, nil, 'Quitou quando não devia', 3600 ) --Toma ban de 1 hora, 3600 segundos. end end addEventHandler ( "onPlayerQuit", root, quitPlayer ) Você pode ver o que significa cada parâmetro aqui: banPlayer Edit: Eu não tinha lido a parte que era pra dar ban com outro script de banimento kkkkk mas o amigo acima aí já respondeu também...
  12. Acho que nessa parte: ... if isElementVisibleTo ( Blip_Marcar, source ) then setElementVisibleTo ( Blip_Marcar, source, true ) triggerClientEvent(source, "addNotification", root, " #ffffffSeu Local de Trabalho foi Desmarcado do Mapa") else ... Na verdade o setElementVisibleTo deveria ter um false no 3° argumento, não?
  13. ah pdc, colocaram essa função nova no 1.5.8, não tava sabendo kkkk
  14. Até onde eu sei, não tem como. O que eu recomendo fazer é colocar download="false" no arquivo meta para que o arquivo não baixe automaticamente Por exemplo: <file src="biz.txd" download="false"/> <file src="biz.dff" download="false"/> e depois usar o downloadFile para baixar o arquivo e o evento onClientFileDownloadComplete para realizar uma ação assim que o arquivo é baixado (pode usar isso para criar uma interface gráfica para mostrar o progresso do download dos seus arquivos) Por exemplo: downloadFile ("biz.dff") downloadFile ("txd.dff") function onDownloadFinish ( file, success ) if ( success ) then outputChatBox ('O arquivo '..file..' foi baixado com sucesso.') else outputChatBox ('Erro ao baixar o arquivo '..file) end end addEventHandler ( "onClientFileDownloadComplete", root, onDownloadFinish )
  15. Deixe a função clientToggleRadio ( ) assim: function clientToggleRadio() if getPedOccupiedVehicle(localPlayer) then triggerServerEvent("onPlayerToggleRadio", getLocalPlayer()) end end
  16. Você pode criar uma variável contadora e usá-la como índice, quando iniciar o trajeto seta a variável como 1 e a medida que for passando pelos maker, incrementa +1 e cria o novo marker.
  17. Manda o código aí, e dá um /debugscript 3 e veja se está aparecendo alguma mensagem de erro
  18. Esse evento só está mostrando a mensagem para ativar a rádio, não é aí que está ativando de fato. Com certeza tem um bindKey configurando a tecla "R" na função que de fato ativa a rádio, procure ela por ela e use getPedOccupiedVehicle para verificar se o jogar está ocupando um veículo. Exemplo: if getPedOccupiedVehicle ( localPlayer ) ~= false then TODO O CÓDIGO DE ATIVAR A RÁDIO end
  19. Seria algo assim: function clientKey (button, press) if button == 'F1' or button == 'F2' then cancelEvent () end end addEventHandler("onClientKey", root, clientKey) Esse código faz com que cancele a ação de apertar no botão. Se você colocar o and state == "down" só vai cancelar o evento quando apertar o botão, mas quando soltar (state == "up") ainda vai ativar.
  20. Testa aí e veja se vai dar certo: local comandosBloqueados = {'almoto1', 'alpack1', 'almoney1', 'alm41'} --Adicione aqui os comandos que deseja bloquear function onCommand (cmd) for i, comandoBloq in ipairs (comandosBloqueados) do if comandoBloq == cmd then cancelEvent () end end end addEventHandler("onPlayerCommand",root, onCommand)
  21. Parabéns, ótimo tutorial, muito útil e bem explicado! Muito obrigado pela contribuição pra comunidade!!!
  22. Para remover o cache talvez não seria mais fácil colocar cache = "false" no arquivo meta?
  23. Entendi, valeeu! Crie sim, vai ser de muita utilidade para a comunidade
  24. Muito bom, parabéns!!! Eu fiquei com uma dúvida, aonde você coloca o nome da função que você deseja usar no discord? O nome da função de exemplo é discordGiveMoney (), imagino que seja no lugar do testeProcedure(), certo? E outra, só uma recomendação mesmo, você poderia postar isso em Tutoriais em Geral para que mais pessoas possam ter acesso a essa informação... Caso você não queira, posso eu mesmo postar dando os devidos créditos?
×
×
  • Create New...