Jump to content

Boechat

Members
  • Posts

    214
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Boechat

  1. Eai rapaziada, eu estava precisando de um código de wordWrap e o que está disponível na wiki não funcionou direito pro que eu precisei, ficou muito bugado não sei porque. Achei melhor criar um código com o mesmo retorno e vou disponibiliza-lo aqui, talvez possa ser útil pra mais alguém... A diferença é que não está removendo a cor do texto, caso queiram modifiquem aí e adicionem isso ao código: string.gsub(text, "#%x%x%x%x%x%x", "") Sei que ainda tem alguns detalhes que podem ser melhorados, mas está funcionando bem. Até então não encontrei nenhum bug, se alguém encontrar comente aí
  2. 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.
  3. 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?
  4. 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
  5. 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
  6. 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
  7. 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?
  8. 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.
  9. Só pra complementar a resposta setElementData(source, "moneysujo", -100000) na verdade era pra ser setElementData(source, "moneysujo", Sujo - 100000)
  10. Muito obrigado mesmo, cara! Você me deu um norte nessa questão, ajudou muito mesmo!
  11. 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!!!
  12. 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...
  13. 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?
  14. ah pdc, colocaram essa função nova no 1.5.8, não tava sabendo kkkk
  15. 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 )
  16. Deixe a função clientToggleRadio ( ) assim: function clientToggleRadio() if getPedOccupiedVehicle(localPlayer) then triggerServerEvent("onPlayerToggleRadio", getLocalPlayer()) end end
  17. 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.
  18. Manda o código aí, e dá um /debugscript 3 e veja se está aparecendo alguma mensagem de erro
  19. 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
  20. 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.
  21. 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)
  22. Parabéns, ótimo tutorial, muito útil e bem explicado! Muito obrigado pela contribuição pra comunidade!!!
  23. Para remover o cache talvez não seria mais fácil colocar cache = "false" no arquivo meta?
  24. Entendi, valeeu! Crie sim, vai ser de muita utilidade para a comunidade
×
×
  • Create New...