Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,008
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Erro na linha 162. Se o veículo não possuir data de combustível, ele para de ler a função e nada acontece. Use essa: function kocsiindit() local veh = getPedOccupiedVehicle(localPlayer) local state = getVehicleEngineState ( veh ) if not state then m = true if getElementHealth(veh) >= 321 then --Verifica se o carro ta quebrado, se não estiver: m = true else m = false outputChatBox("#1066E7[BVH - Veiculo]: #FFFFFFParece que está com o motor fundido chame por um Mecânico /mecanicos!", 255, 255, 255, true) end if (getElementData(veh, "DNL:Combustivel")) then -- Verifica se o veículo tem dados de gasolina, se tiver: if getElementData(veh, "DNL:Combustivel") > 0 then --Verifica se o veiculo ta sem gasolina, se estiver com gasolina: m = true outputChatBox("#1066E7[BVH - Veiculo]: #FFFFFFVeiculo ligado!", 255, 255, 255, true) else m = false outputChatBox("#1066E7[BVH - Veiculo]: #FFFFFFO Veiculo está sem gasolina", 255, 255, 255, true) end else m = true outputChatBox("#1066E7[BVH - Veiculo]: #FFFFFFO Veiculo ligado. Este modelo não usa gasolina.", 255, 255, 255, true) end else m = false outputChatBox("#1066E7[BVH - Veiculo]: #FFFFFFVeiculo desligado!", 255, 255, 255, true) end triggerServerEvent("vehicleStart",localPlayer,localPlayer,veh,m) end
  2. A função unpack não funciona dessa maneira. Ela serve para "desempacotar" uma table em valores separados. Ex: Voltando ao seu problema, por favor evite de censurar a imagem do erro, pois assim não tem como saber qual função específica está gerando erro. Além disso, ninguém se importa com o nome do seu script. Você tem uma table com as coordenadas aleatórias onde o marker deve aparecer. Com o math.random vc seleciona uma dessas coordenadas e cria o marker nela. O unpack será usado para separar as coordenadas x, y, z em variáveis para poder criar o marker. Mas vale lembrar que não é obrigatório fazer com unpack, vou mostrar ambos os jeitos de ser feito: local arr = { {2455.423, -2079.331, 12.547}, -- Item 1 da table arr {2458.529, -2078.655, 12.547}, -- Item 2 da table arr {2462.126, -2078.502, 12.547}, -- E assim por diante. } function test () -- Exemplo com unpack: local x, y, z = unpack (arr[math.random (#arr)]) -- Desempacota um item aleatório da table arr. Atribuindo seus valores nas variáveis. createMarker (x, y, z, "cylinder", 1.5, 50, 100, 255, 100) end addCommandHandler ("teste", test) function test2 () -- Exemplo sem unpack: local indice = math.random (#arr) -- Gera um valor aleatório de 1 até 3 (pois 3 é o maior índice da table arr) [veja no próximo conteúdo oculto] local x = arr[indice][1] -- Atribui o primeiro valor do item aleatório no x. local y = arr[indice][2] -- Atribui o segundo valor do item aleatório no y. local z = arr[indice][3] -- Atribui o terceiro valor do item aleatório no z. -- Acima fiz basicamente o mesmo trabalho do unpack. createMarker (x, y, z, "cylinder", 1.5, 50, 100, 255, 100) end addCommandHandler ("testar", test2)
  3. Quando o player desloga, o timer dele continua mas o elemento do jogador não existe mais, gerando erro. Vc tem 2 opções: Não faça com setTimer. Adicione uma verificação no setTimer, que vai verificar se o player ainda existe, se não existir, cancela o timer com killTimer e cancela a função com um return.
  4. Tente isso: function verificarACL () local resourceName = getResourceName (resource) -- resource é uma variável predefinida pelo MTA, ela é = getThisResource() if not isObjectInACLGroup ("resource."..resourceName, aclGetGroup("Admin")) then outputDebugString (resourceName..": Adicione este resource na ACL Group 'Admin'") cancelEvent () end end addEventHandler ("onResourceStart", resourceRoot, verificarACL) -- Ativa essa função quando este resource for iniciado. -- resourceRoot também é predefinida pelo MTA, ela é = getResourceRootElement(getThisResource()) Predefined_variables_list Obs: É necessário estar com /debugscript 3 ativado para ver a mensagem.
  5. E mais uma coisa: Se o seu resource não tem permissão admin, ele não vai conseguir dar stopResource.
  6. Pra que usar a variável thisResource? É mais fácil usar direto o getThisResource() E está faltando evento ativador nessa sua função.
  7. Tem o createLight mas não sei se ele interage com objetos customizados.
  8. Eu usaria executeSQLQuery com banco de dados nativo do MTA. Não vejo vantagem em fazer externo com MySQL pois é um pouco mais complicado. E por estar aprendendo, o ideal é começar pelo mais fácil.
  9. Client function stopmusic() if (isElement (sound)) then stopSound(sound) end end addEvent ("pararsom", true) addEventHandler ("pararsom", root, stopmusic) addEventHandler ("onClientResourceStart", resourceRoot, function() setTimer (function() sound = playSound ("joinsound.mp3") end, 2000, 1) end) Server addEventHandler ("onPlayerLogin", root, function() triggerClientEvent (source, "pararsom", source) end)
  10. Ué. Já tentou estudar o realdriveby pra fazer igual?
  11. Utilize o botão <> do fórum para colar códigos. Não cole direto no texto.
  12. Utilize o botão <> do fórum para postar códigos. Não cole direto no texto.
  13. Troque os nomes dos eventos DNL:Pegar_Cargas, DNL:Pegar_Carro, DNL:Pegar_Uniforme(Sedex), DNL:Abrir_Correios e DNL:Fechar_Correios. Você deveria aprender a fazer scripts do 0 em vez de apenas modificar scripts de terceiros.
  14. Solicite suporte na página deles. Não temos relação com servidores específicos.
  15. Objetos customizados sempre tem draw distance menor. Somente os objetos nativos do cenário podem ser vistos a distância, pois possuem LOD models anexados.
  16. Claro que tem. Talvez ele mexeu no painel Admin e deu ruim. Ou então ele criou outro script que usa esse mesmo comando e está dando conflito.
  17. Você pode usar getGroundPosition para saber a altura do chão na coordenada que vc quer criar o veículo. Obs: Só funciona client-side.
  18. @MesaDowN sim. StopSound funciona também.
  19. Ele tem um painel de gerenciamento de blips. Nesse painel ele seleciona os tipos de blips que devem aparecer usando caixas de seleção. Ao desmarcar a caixa de Hospitais, somente os blips de hospitais devem sumir do mapa. Mas ele está com problemas para destruir os blips corretos.
  20. elementData é uma data temporária salva em um elemento. Quando esse elemento é destruído ou desconecta do servidor, sua data é perdida. Para datas permanentes, salve na conta do jogador com setAccountData.
  21. Não cara. Aí vc já está fazendo tentativa no escuro. Sem saber oq está fazendo. Pra quê o return?
  22. CEGUI é isso mesmo, você é limitado a usar este design. Se quer outro design, só fazendo em DX.
  23. getRealTime().timestamp guiCreateWindow guiCreateButton guiCreateLabel guiCreateRadioButton guiCreateEdit guiCreateGridList guiGridListAddColumn getElementsByType getPlayerName guiGridListAddRow addCommandHandler getPlayerAccount setAccountData getAccountData isObjectInACLGroup aclGroupAddObject aclGroupRemoveObject Boa sorte.
×
×
  • Create New...