Jonas^
Members-
Posts
1,016 -
Joined
-
Last visited
-
Days Won
9
Everything posted by Jonas^
-
Mta Travando = Me ajude
Jonas^ replied to OrNoT's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Oi, bom isso é um problema um pouco simples de resolver, na verdade só é simples se você tentou alterar algum arquivo do MTA, por exemplo os arquivos de imagem GUI, que alteram a cor etc. Bom, vamos lá, vou listar passos para você seguir e tentar resolver o seu problema, isso já aconteceu comigo e fiz exatamente isto: 1° - Desinstale o MTA por completo da sua máquina, ( Faça backup dos arquivos dos servidores antes ). 2° - Abra o seu navegador e acesse o site do MTA e baixe a versão mais recente do MTA. 3° - Antes de instalar a versão nova do MTA em seu computador, verifique seu GTA, entre nele offline mesmo, verifique se há travamentos etc. 4° - Caso o passo acima estiver tudo certo, prossiga fazendo o seguinte, entre no site do CCleaner e baixe a versão mais recente do software. 5° - Instale o programa sitado acima e faça uma varredura no seu sistema ( Incluindo os registros ). 6° - Agora instale a versão baixada do MTA e verifique se o problema continuar me avise. 7° - Caso o passo número 3° apresente uma falha, faça download de um novo GTA, ( Remova completamente o GTA antigo do seu computador ) e instale este ou qualquer outro que você queira baixar. Downloads: CCleaner: Clique Aqui MTA: Clique Aqui GTA San Andreas: Clique Aqui -
Vlw pessoal por sanar as minhas dúvidas
-
Não esta sendo exportada, já resolvi o problema, esta função não estava sendo utilizada pelo script então não faria diferença em deixar ou remover. mas eu optei por remover, por questão de um código limpo.
-
Olá pessoal, gostaria de tirar algumas dúvidas relacionadas a tabelas, não só a tabelas, mas como definições exemplos: Ex 01: Isso é: local infoMsgs = { A mesma coisa que isto: infoMsgs = { Fiz alguns testes, e a funciona ambos, gostaria de saber a diferença ( se tem ) entre local e somente a palavra definida na tabela outro exemplo de definição: Isto é: message = message:gsub("#%x%x%x%x%x%x","") A mesma coisa que isto: local message = message:gsub("#%x%x%x%x%x%x","") Ambos funcionam também, alguém pode me explicar ?
-
Eu faria assim: outputChatBox("[INFO] - #FFFFFFO Jogador #0BA317"..name:gsub("#%x%x%x%x%x%x","").." #FFFFFFEnviou #0BA317R$: "..amount, playerMoney, 11, 163, 23, true ) Isso enviara:
- 9 replies
-
- br
- brasileiro
-
(and 3 more)
Tagged with:
-
Você deveria organizar este código, as suas output estão cheia de cores, por exemplo: o começo você usou a cor #HEX #FFFFFF sendo que você poderia ter definido 255, 255 , 255, assim evitando usar uma #hex de cara e utilizando os 2 parâmetros, desta forma você esta usando: outputChatBox("#ffffff♦ #FF7F00- #ffffff「 #FF7F00INFO #ffffff」 - #ffffffO Jogador "..name.." #FFFFFFEnviou #00FF00R$ : "..amount, playerMoney, 255, 0, 0, true) Poderia utilizar assim: outputChatBox("♦ #FF7F00- #ffffff「 #FF7F00INFO #ffffff」 - #ffffffO Jogador "..name:gsub("#%x%x%x%x%x%x","").." #FFFFFFEnviou #00FF00R$ : "..amount, playerMoney, 255, 255, 255, true) OBS: Fiz uma adição a mais, quando um jogador estiver com cor no nick e enviar dinheiro para alguém a cor vai ser a que você definiu e não a que o jogador usar no nick. Siga o exemplo e faça nos demais outputChatBox
- 9 replies
-
- br
- brasileiro
-
(and 3 more)
Tagged with:
-
Use a ferramenta do fórum lua code para facilitar, não é necessário enviar link de download. Se seu script tiver os 2 lados CLIENT-SIDE e SERVER-SIDE Poste ambos separados para facilitar. Segue a screenshot abaixo:
- 9 replies
-
- br
- brasileiro
-
(and 3 more)
Tagged with:
-
Vlw estava precisando desta função ;D
-
Olá pessoal, fiz um script simples para alterar skins, gostaria de saber como posso fazer uma verificação nesta função para que se o jogador já estiver clicado e a skin ter alterado e ele clicar de novo no mesmo botão enviar uma output avisando que ele já esta com tal skin ! Código: function skinv1 () setPedSkin ( source, 73 ) outputChatBox( "Teste skin1", source, 243, 219, 4, true ) end addEvent("Skin1",true) addEventHandler ( "Skin1", getRootElement(), skinv1 )
-
Pse não faço a mínima idéia do que pode ser já revisei tudo dentro do txd nada de errado
-
Qual comando você quer bloquear? Talvez com esta função você consiga fazer isto: GetDistanceBetweenPoints3D Mas, você quer fazer a verificação do jogador rival como? por team? OBS: Da próxima vez crie tópico na área correta - Programação em Lua
-
Tem alguma forma de fazer o evento não executar quando o jogador entrar e somente quando sair? então: A textura só sera ativada se o jogador usar o comando /ativartexturas e destruida quando o jogador sair do servidor, sera que isso pode ser uma solução? o que não estou entendendo é: Oque esta causando esse BUG OBS: Testei aqui desabilitando o evento do onPlayerJoin, mas não tive sucesso na hora do jogador desconectar ele destroy a textura, porém se entrar em outro servidor ou entrar de novo no meu ele continuar mostrando a textura, mesmo destruindo a txd.
-
Obrigado, esta parte do script que eu não estava conseguindo entender: addEventHandler ("onPlayerJoin", getRootElement(), function () triggerClientEvent (source, "iniciarTexturas", source) -- Executa o evento "iniciarTexturas" do client.lua somente no jogador que entrou. end) addEventHandler ("onPlayerQuit", getRootElement(), function () triggerClientEvent (source, "desativarTexturas", source) -- Executa o evento "desativarTexturas" do client.lua somente no jogador que saiu. end) Eu testei aqui, porém percebi uma bug: Quando um jogador entra no servidor aparece a mensagem que executou realmente o evento, aparece '' Texturas ativadas '' mas, a textura não aparece, apenas se o jogador digitar /desativartexturas e /ativartexturas
-
Teria como você fazer um exemplo comentado para mim entender cada parte?
-
Não entendi a parte de desativar e ativar como vou fazer pra ativar e desativar com o onplayerjoin e onplayerquit
-
Não entendi muito bem, vou usar o evento onPlayerJoin/onPlayerQuit no lado client?
-
Olá pessoal, bom eu fiz um script de textura para meu servidor, porém ele contém um bug, se um jogador entrar no meu servidor, e ir em outro servidor a minha textura ira aparecer para ele lá. ou se o jogador entrar no servidor de alguém primeiro e não tiver a textura lá, e entrar no meu ele não consegue ver as texturas, a não ser que eu de restart na resource código: CLIENT-SIDE addEventHandler('onClientResourceStart', resourceRoot, function () txd = engineLoadTXD ("Textura/texture.txd") engineImportTXD (txd, 14853) end)
-
Vlw aí pela ajuda, pensei que fosse um erro da função!
-
Entendi, então se eu não usar ceil ele vai entregar o valor arredondado para cima de qualquer forma? Então meu código ficou assim: kd = math.round( tonumber(kd), 2 ) Para kd = math.round( tonumber(kd), 2, "floor" ) SERVER-SIDE ratio = tostring( math.round( tonumber(ratio), 2 ) ) Para ratio = tostring( math.round( tonumber(ratio), 2, "floor" ) ) Esta parte do SERVER-SIDE é um comando que ao jogador digitar puxa os dados dele, inclusive o ratio então tem o redutor no lado server também. Perfeito agora ele esta arredondando certinho o valor:
-
Sim claro, é client-side, mas só uma pergunta, esse '' floor '' o que significa? percebi que somente este floor faz a diferença, queria saber o que ele faz, sobre a função estar diferente, tinha um warning nela, assim do jeito que ela esta corrige esse warning
-
Em relação a parte do script, eu testei na sua tabela de testes de rank e nele também contém o erro, segue a print abaixo: Parte em que a função é chamada: CLIENT-SIDE function scoreInfo (accounts, kills, deaths, ratio) guiSetVisible (scoreWindow, true) guiSetVisible (closeGrid, true) showCursor (true) if accounts then for i, v in ipairs (accounts) do guiGridListAddRow (scoreGrid, accounts[i], kills[i], deaths[i], math.round(tonumber(ratio[i]), 2)) end end end addEvent ("showRank", true) addEventHandler ("showRank", getRootElement(), scoreInfo) SERVE-SIDE function recebeKills () local data = getAccounts () local accTable = {} local killsTable = {} local deathsTable = {} local killDeath = {} local kill = 0 local death = 0 if not data[1] then triggerClientEvent (client, "showScores", client) return end for i, acc in ipairs (data) do table.insert (accTable, getAccountName (data[i])) if not getAccountData (data[i], "kills") then table.insert (killsTable, "0") kill = 0 else table.insert (killsTable, tostring (getAccountData (data[i], "kills"))) kill = tonumber (getAccountData (data[i], "kills")) end if not getAccountData (data[i], "deaths") then table.insert (deathsTable, "0") death = 0 else table.insert (deathsTable, tostring (getAccountData (data[i], "deaths"))) death = tonumber (getAccountData (data[i], "deaths")) end local ratio = kill / death if death == 0 and kill == 0 then -- Se ambos os valores forem 0, deixa o ratio em 0 também. table.insert (killDeath, 0) elseif kill ~= 0 and death == 0 then -- Se death for 0 mas kill não, deixa o ratio como desconhecido, pois não é possível dividir algo por 0. table.insert (killDeath, "?") else -- Se nenhum valor for 0, faz a divisão normalmente e aplica o REDUTOR DECIMAL. table.insert (killDeath, ratio) end end triggerClientEvent (client, "showRank", client, accTable, killsTable, deathsTable, killDeath) end addEvent ("getRank", true) addEventHandler ("getRank", getRootElement(), recebeKills) Função: function math.round(number, decimals, method) if number and type(number) == "number" then decimals = decimals or 0 local factor = 10 ^ decimals if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor else return tonumber(("%."..decimals.."f"):format(number)) end end return 0 end Você não acha que isso pode ser uma falha desta função?
-
Olá, bom eu tenho um sistema de rank, e nele tem o redutor de casas decimais fazendo uma divisão de kills pelas deaths alguns resultados ele aumenta o valor em 1 na última casa como mostra a print abaixo. Como podemos ver o jogador 1° da lista tem Kills: 12158 Deaths: 7869 Valor inteiro da divisão: 1.545050197 Então o K/D deveria ser: 1.54 Mas, o redutor seta como 1.55 OBS: O redutor esta definido para contar apenas 3 casas ou seja seria as 3 primeiras da divisão Alguém sabe me dizer se isso é uma falha? ou é normal com valores alto o redutor aplicar 1 kdr na última casa a mais em cada jogador. Na real isso só acontece com números grandes de kills e deaths no exemplo abaixo setei kills e deaths em mim e ele deu o valor exato da divisão. Como pode ver ele da o valor exato quando não é números muito grande: Valor inteiro da divisão: 2.6513157895 OBS: As vezes ele seta 1 na última casa até em divisão de números pequenos. 403 ÷ 152 = 2.65 valor exato reduzido pelo script
-
MTA com som mas eu não ouço.
Jonas^ replied to Netus+'s topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Oi, bom tente baixar alguns programas para atualização de drivers, um exemplo é o Driver Booster tente atualizar os drivers da sua máquina para ver, as vezes é um problema de driver. -
Bom, se quiser pode usar este exemplo também, este exemplo é o mesmo que o do @Lord Henry porém com output avisando sobre desativar/ativar a textura: addCommandHandler ("ativartexturas", function () txd = engineLoadTXD ("Diretorio da textura") engineImportTXD (txd, id da textura que ira modificar) outputChatBox ( "Texturas ativadas !", 0, 255, 0 ) end) addCommandHandler ("desativartexturas", function () if isElement (txd) then destroyElement (txd) txd = nil outputChatBox ( "Texturas desativadas !", 255, 0, 0 ) end end) Tem alguma forma de fazer as texturas ficarem sempre desativada para os jogadores que entrarem? e só ativar se tal jogador quiser que a textura apareça para ele usando o comando /ativartexturas e uma verificação neste comando ? por exemplo: Se tiver ativada as texturas envia: '' As texturas já estão ativadas '' Eu imaginei fazer com xml salvando o valor true e false, mas não achei viável queria saber se tem outra forma
-
Olá pessoal, bom eu peguei um exemplo aqui apenas para demonstração da minha dúvida, no caso é como se fosse um chat secundário porém ele não faz parte do onPlayerChat ou seja , se eu mutar este jogador ele continua falando nesse chat sem problemas, gostaria de saber como posso adicionar o onPlayerChat na função, Exemplo: function adminChat ( thePlayer, commandName, ... ) local text = table.concat ( { ... }, " " ) local playerName = getPlayerName ( thePlayer ) -- if msgtype == 0 then -- Se a mensagem for pelo /say (tecla T) for _, player in ipairs ( getElementsByType ( "player" ) ) do local account = getAccountName ( getPlayerAccount ( player ) ) if ( isObjectInACLGroup ( "user.".. account, aclGetGroup ( "Console" ) ) ) then outputChatBox ( "#FF0000[DONO] #FFFFFF".. playerName .." : #FF0000".. text, player, 255, 255, 255, true ) end if ( isObjectInACLGroup ( "user.".. account, aclGetGroup ( "Admin" ) ) ) then outputChatBox ( "#FF0000[ADM] #FFFFFF".. playerName .." : #FF0000".. text, player, 255, 255, 255, true ) end end end addCommandHandler ( "ac", adminChat, true ) Lembrando, eu só quero que ele faça parte do onPlayerChat nada mais, continue o mesmo comando /ac mensagem, a tecla t, não tem nada ver com este chat. Na verdade irei usar uma binkey client-side puxando o comando para ser mais fácil dos jogadores digitar, o meu chat é diferente desse, mas é um exemplo bom e eu conseguirei entender. OBS: Já tentei desta forma: addEventHandler( "onPlayerChat", getRootElement(), adminChat ) Não funcionou e mesmo que funcionasse gostaria que ele continuasse com o comando também, mesmo usando a bindkey pra puxar o comando. Bindkey: bindKey("m", "down", "chatbox", "adminChat")