Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,984
  • Joined

  • Last visited

  • Days Won

    181

Everything posted by Lord Henry

  1. Olá, na próxima vez utilize o botão <> do fórum para postar códigos. Não cole direto no texto.
  2. Abaixo da mensagem do usuário, no canto >>> Tem um ícone de coração cinza. Clique ali e selecione o "Thanks".
  3. Proteger legalmente é perda de tempo, ainda mais se tratando no Brasil que é uma terra sem leis. Proteja compilando seus resources e fazendo a melhor proteção possível (sem violar as regras). Uma vez vazado, já era. Mesmo que vc processe, a justiça vai rir da sua cara.
  4. Ele apenas disse que moveu este tópico para a seção portuguesa. É pra vc tomar cuidado na próxima vez que for criar um tópico em português para colocar na área correta.
  5. @_SAXI_Você precisa escrever em português pois este tópico está na seção Portuguesa. You need to write in portuguese because this thread is in the Portuguese section.
  6. De nada. Não se esqueça de deixar um Thanks no comentário que te ajudou.
  7. Crie um marker (createMarker) invisível ao redor do objeto e maior que ele. Assim o jogador sempre irá colidir no marker independente se o objeto tem colisão ou não. Dai o sistema funciona usando onPlayerMarkerHit em vez de onPlayerTarget.
  8. Isso é bug do próprio GTA SA. Você poderia tentar "atualizar" a rotação do attachElement ao mexer no mouse dentro de um onClientRender, mas seria gambiarra e não tenho certeza se funcionaria.
  9. Coloque isso antes do outputChatBox: if (weapName == "knife") then weapName = "faca" end Se for fazer com várias armas, implemente uma tabela. E indente seu código.
  10. Cara, pode ser erro do MTA, se as vezes funciona e as vezes não. Se fosse erro do script, ele sempre falharia.
  11. @LeonardoSsComece por aqui: addCommandHandler getPlayersInACLGroup (função útil, inclua o código-fonte dela no seu script para funcionar) outputChatBox
  12. A função setElementData sempre retornará um valor booleano. (true se ela funcionou e false se não funcionou) Por esse motivo a variável recebeu sempre será booleana. Se você quer apenas obter o novo valor do elementData do jogador, basta fazer assim: setElementData(thePlayer, "droga", getElementData(thePlayer, "droga") + 1) local recebeu = getElementData(thePlayer, "droga")
  13. A tabela vehHandling não existe fora daquele escopo do for onde ela foi criada, pois ela está numa variável local. Remova o for dela lá em baixo e coloque dentro do for principal, que cria os veículos. Faça assim: for i,v in pairs (vehAutos) do -- Para cada item da tabela vehAutos, faça: local vehInfos = v["Veh"] -- Obtém a tabela "Veh" do item. local vehSirens = v["Sirens"] -- Obtém a tabela "Sirens" do item. local vehHandling = v["Handling"] -- Obtém a tabela "Handling" do item. local ID, posX, posY, posZ, rotX, rotY, rotZ, r1, g1, b1, r2, g2, b2, r3, g3, b3, farolR, farolG, farolB = unpack(vehInfos) -- Obtém os dados da tabela vehInfos, separando em cada variável. vehAutos[i]["Viatura"] = createVehicle(ID, posX, posY, posZ, rotX, rotY, rotZ) -- Cria a viatura e armazena ela na tabela. removeVehicleSirens(vehAutos[i]["Viatura"]) -- Remove a sirene original, caso tenha. setVehicleColor(vehAutos[i]["Viatura"], r1, g1, b1, r2, g2, b2, r3, g3, b3) -- Define as cores da viatura. setVehicleHeadLightColor(vehAutos[i]["Viatura"], farolR, farolG, farolB) -- Define a cor do farol da viatura. setElementData(vehAutos[i]["Viatura"], "Descaracterizada", true) -- Define essa data na viatura. -- setElementFrozen(vehAutos[i]["Viatura"], false) -- Descongela a viatura (desnecessário, mas está aqui caso queira) for ii,vv in ipairs (vehSirens) do -- Para cada item da tabela vehSirens, faça: if (ii == 1) then -- Se é o primeiro item, então: local quantasSirenes, tipoSirenes, flag360, flagCheckLos, piscarAleatorio, semSom = unpack(vv) -- Obtém os dados da tabela que está no primeiro item, separando em cada variável. addVehicleSirens(vehAutos[i]["Viatura"], quantasSirenes, tipoSirenes, flag360, flagCheckLos, piscarAleatorio, semSom) else -- Se não for o primeiro item, então: local sirenePoint, posX, posY, posZ, r, g, b, a, aMinDia = unpack(vv) -- Obtém os dados da tabela do item, separando em cada variável. setVehicleSirens(vehAutos[i]["Viatura"], sirenePoint, posX, posY, posZ, r, g, b, a, aMinDia) end end for handling, value in pairs (vehHandling) do -- Para cada item da tabela vehHandling, faça: setVehicleHandling (vehAutos[i]["Viatura"], handling, value) -- Aplica a handling e seu respectivo valor no veículo. end end
  14. Ali em baixo do ["Viatura"] crie um ["Handling"] para cada veículo. E dentro deste vc coloca a tabela da handling do veículo. Dai no script vc chama essa parte da tabela da mesma maneira que os outros foram. Assim: local vehAutos = { [1] = { -- Infos da viatura 1. ["Veh"] = {587, 1595.05, -1711.64, 5.6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255}, -- ID, posX, posY, posZ, rotX, rotY, rotZ, r1, g1, b1, r2, g2, b2, r3, g3, b3, farolR, farolG, farolB. (cor 4 da lataria não existe) ["Sirens"] = { -- Cada sirene separada numa sub-tabela. [1] = {6, 2, true, false, true, true}, -- (addVehicleSirens) quantasSirenes, tipoSirenes, flag360, flagCheckLos, piscarAleatorio, semSom. [2] = {1, -0.85, 2.4, 0, 255, 0, 0, 255, 255}, -- (setVehicleSirens) sirenePoint, posX, posY, posZ, r, g, b, a, aMinDia. [3] = {2, 0.85, 2.4, 0, 0, 55, 255, 255, 255}, [4] = {3, -0.7, -2.1, 0, 255, 0, 0, 255, 255}, [5] = {4, 0.7, -2.1, 0, 255, 0, 0, 255, 255}, [6] = {5, -0.5, -0.35, 0.63, 255, 0, 0, 255, 255}, [7] = {6, 0.5, -0.35, 0.63, 0, 0, 255, 255, 255}, }, ["Viatura"] = false, -- Onde o veículo (elemento) ficará armazenado. ["Handling"] = { -- (setVehicleHandling) ["maxVelocity"] = 230, ["engineAcceleration"] = 18, ["engineInertia"] = 60, ["driveType"] = "rwd", ["steeringLock"] = 40, ["collisionDamageMultiplier"] = 0.45, ["mass"] = 1500, ["turnMass"] = 3500, ["dragCoeff"] = 0.8, ["centerOfMass"] = { [1]=0, [2]=-0.3, [3]=-0.15 }, ["suspensionForceLevel"] = 1, ["suspensionDamping"] = 0.2, ["suspensionUpperLimit"] = 0.28, ["suspensionLowerLimit"] = -0.1, ["tractionMultiplier"] = 0.8, ["tractionLoss"] = 1, ["tractionBias"] = 0.5, ["brakeDeceleration"] = 7, ["brakeBias"] = 0.7, }, },
  15. Por shaders eu n sei se é possível fazer isso que vc quer, uma vez que a textura original precisa ter transparência para aceitar uma nova textura também transparente. Posso estar equivocado, mas sempre que tentei colocar textura transparente no lugar de uma opaca, ele preencheu a transparência da nova textura com preto.
  16. Você deve trancar o veículo imediatamente após ele ser criado. Se o jogador vier com uma serra elétrica sem tentar entrar no veículo, ele consegue arrancar a porta do veículo caso ele não esteja trancado. Sempre que o motorista sair do veículo ou alguém sem permissão tentar entrar como motorista, tranque novamente. Sobre a handling, sim é melhor setar pelo server-side e do que no client-side. E você já está fazendo certo em usar tabelas para guardar as informações dos handlings.
  17. @Lima_Nós não oferecemos scripts prontos. Tente programar o seu próprio e assim poderemos lhe ajudar respondendo dúvidas.
  18. Crie o veículo dentro de uma tabela, juntamente com as características dele. Espero ter ajudado. Preencha o resto da tabela você mesmo.
  19. Não precisa passar thePlayer por parâmetro, só se fosse um source. setTimer(function() setPedAnimation(thePlayer, nil) toggleAllControls(thePlayer, true) local pagou = takePlayerMoney(thePlayer, 30000) if pagou then local recebeu = giveWeapon(thePlayer, 30, 300) if recebeu then outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer, 0, 255, 0, true) end end end, 4000, 1)
  20. Não utilize o comando para ativar a função igual o nome do evento. E o esquema de clicar não está no código que vc mostrou.
  21. Não seria mais fácil vc apenas mudar o TXD do objeto com a textura nova?
  22. La nos arquivos .map dos seus mods de mapas, defina a dimensão dos objetos como -1, fazendo com que ele apareça em todas as dimensões.
×
×
  • Create New...