-
Posts
3,981 -
Joined
-
Last visited
-
Days Won
181
Everything posted by Lord Henry
-
Pouca memória RAM.
-
@_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.
-
"OnPlayerTarget" em objeto com colisão em false
Lord Henry replied to Doongogar's topic in Programação em Lua
De nada. Não se esqueça de deixar um Thanks no comentário que te ajudou. -
"OnPlayerTarget" em objeto com colisão em false
Lord Henry replied to Doongogar's topic in Programação em Lua
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. -
fileCreate fileWrite fileClose
- 1 reply
-
- 1
-
Mirar com a sniper estando attach em um OBJ Bug!
Lord Henry replied to KiritoAguiar's topic in Programação em Lua
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. -
Trocar Nome De Armas Apenas Para Mensagem
Lord Henry replied to Doongogar's topic in Programação em Lua
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.- 1 reply
-
- 1
-
Cara, pode ser erro do MTA, se as vezes funciona e as vezes não. Se fosse erro do script, ele sempre falharia.
-
ENVIAR MENSSAGEM VIA COMANDO PARA TODOS DA ACL!
Lord Henry replied to LeonardoSs's topic in Programação em Lua
@LeonardoSsComece por aqui: addCommandHandler getPlayersInACLGroup (função útil, inclua o código-fonte dela no seu script para funcionar) outputChatBox -
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")
- 1 reply
-
- 1
-
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
-
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, }, },
-
Como posso por uma foto .png com shader
Lord Henry replied to I dont know's topic in Programação em Lua
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. -
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.
-
@Lima_Nós não oferecemos scripts prontos. Tente programar o seu próprio e assim poderemos lhe ajudar respondendo dúvidas.
-
Crie o veículo dentro de uma tabela, juntamente com as características dele. Espero ter ajudado. Preencha o resto da tabela você mesmo.
-
mensagem caso jogador não tenha money suficiente
Lord Henry replied to Doongogar's topic in Programação em Lua
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) -
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.
-
Como posso por uma foto .png com shader
Lord Henry replied to I dont know's topic in Programação em Lua
Não seria mais fácil vc apenas mudar o TXD do objeto com a textura nova? -
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.
-
mensagem caso jogador não tenha money suficiente
Lord Henry replied to Doongogar's topic in Programação em Lua
Primeiramente, correção de indentação. Você deve considerar o function do setTimer como um escopo novo, então tudo que estiver depois do setTimer deve ter +1 recuo. Outra coisa, depois da variável (local pagou = ...) não se adiciona +1 recuo, só depois de funções e condições. setTimer(function(thePlayer2) setPedAnimation(thePlayer2, nil) toggleAllControls(thePlayer, true) local pagou = takePlayerMoney(thePlayer2, 30000) if pagou then local recebeu = giveWeapon(thePlayer2, 30, 300) if recebeu then outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer2, 0, 255, 0, true) end end end, 4000, 1, thePlayer) Segundamente, respondendo sua dúvida: Adicione um else antes daquele end que pertence ao if getPlayerMoney... Dai dentro desse else, coloque um outputChatBox do erro. -
@DaddyMTAÉ obrigatório incluir o IP do servidor na sua divulgação.
-
erro setpedanimation e takeplayermoney
Lord Henry replied to Doongogar's topic in Programação em Lua
Faltou atribuir valor no parâmetro de função do setTimer. Vc atribui o valor depois do tempo do timer. function FabricarAK(thePlayer) if isElementWithinMarker(thePlayer, markerAk47) then if getPlayerMoney(thePlayer) >= 3000 then setElementPosition(thePlayer, 1050.2840039062, -305.37005615234, 72.99308013916) setElementRotation(thePlayer, 0, 0, 270) setPedAnimation(thePlayer, "INT_HOUSE", "wash_up", -1, true, false, false) setTimer(function(thePlayer2) -- Não pode ser igual ao parâmetro da outra função. setPedAnimation(thePlayer2, nil) local retirou = takePlayerMoney(thePlayer2) if retirou then giveWeapon(thePlayer2, 30, 300) end end, 3000, 1, thePlayer) -- Valor do parâmetro de função definido aqui, thePlayer2 recebe o valor que estiver em thePlayer. end end end addCommandHandler("ak47", FabricarAK) E na próxima vez indente seu código adequadamente. Somente noobs não sabem indentar código.