-
Posts
4,006 -
Joined
-
Last visited
-
Days Won
184
Everything posted by Lord Henry
-
Ajuda Especificar o Player no Lado Server
Lord Henry replied to kevincouto6's topic in Programação em Lua
O problema provavelmente está no lado cliente. Aquela função ali que tem o draw e também o triggerServerEvent está sendo executada em todos os clientes. Portanto aquele trigger também está indo pra todos. -
Ajuda Especificar o Player no Lado Server
Lord Henry replied to kevincouto6's topic in Programação em Lua
Não se usa localPlayer no lado server. E também não falei pra mudar a linha 2 nem linha 1, pq vc mudou? -
Ajuda Especificar o Player no Lado Server
Lord Henry replied to kevincouto6's topic in Programação em Lua
Cara, era pra fazer no lado server. -
Ajuda Especificar o Player no Lado Server
Lord Henry replied to kevincouto6's topic in Programação em Lua
Já tentou substituir thePlayer por client nas linhas 3, 5, 6 e 7? O que acontece se fizer isso? -
Selecione toda a tabela, coloque todos os registros da tabela em um resultado e conte o número de registros que estão nesse resultado. -- connection é a conexão previamente estabelecida com o banco de dados usando dbConnect. local qh = dbQuery (connection, "SELECT * FROM table_name") -- table_name é o nome da tabela, não do banco de dados. local result = dbPoll (qh, -1) local rows = #result rows é a quantidade de linhas da tabela. (não testado) Já que vc está trabalhando com MySQL, entendo que vc já tenha conhecimento com bancos de dados.
-
O @OverKILL se referiu a esse <> aqui: Sempre use esse botão quando for colar código em vez de colar direto no texto.
-
Tá. Pra começar está faltando um evento ativador nessa sua função. Ela não está sendo chamada em lugar nenhum, apenas está ali sem utilidade. Eu faria com o evento onClientPlayerWeaponSwitch, que ativa a função toda vez que você troca o slot da arma na mão. Esse evento tem 2 parâmetros de função: previousSlot, currentSlot. Esses parâmetros são respectivamente o slot que vc estava usando e o slot que vc está usando agora, depois que trocou de arma. Cada slot representa um tipo de arma, vc pode ver isso em Weapons. Exemplo: function showWeaponName (previousSlot, currentSlot) local weaponName = "Hand" -- Mão (soco) if getPedWeapon (getLocalPlayer(), currentSlot) == 38 then -- Se a arma que o jogador está usando agora é a minigun, então: weaponName = "Minigun" elseif getPedWeapon (getLocalPlayer(), currentSlot) == 30 then -- Se a arma que o jogador está usando agora é a ak-47, então: weaponName = "AK-47" end outputChatBox ("Você está usando uma "..weaponName) -- Mostra isso ao jogador sempre que ele troca de slot. end addEventHandler ("onClientPlayerWeaponSwitch", getRootElement(), showWeaponName)
-
Não entendi a linha 4. Não tem lógica nisso.
-
Ele buga se vc indentar de jeitos diferentes. Em algumas linhas vc usou tabulação e outras usou espaços. No fórum cada tabulação vale 8 espaços, quando na real deveria ser 4.
-
@OverKILL indentação cara... Sempre poste código devidamente indentado.
-
Aqui está sua função, boa sorte: isObjectInACLGroup E aqui está um exemplo: function verify (thePlayer, cmd) if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (thePlayer)), aclGetGroup ("Admin")) then -- No lugar de Admin, coloque o nome da ACL Group que terá acesso. outputChatBox ("Acesso permitido.", thePlayer) else outputChatBox ("Acesso negado.", thePlayer) end end addCommandHandler ("eae", verify)
-
[AJUDA]Login/Contas
Lord Henry replied to UltimaterSCR's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Sim, precisa desligar pra poder atualizá-los. O ACL.xml dá pra fazer com ele online usando a função mencionada pelo nosso colega acima. Mas como vc já vai precisar desligar pra fazer as outras coisas, dai já mexa no ACL.xml também. Na host também existe um Console. Geralmente vc pode acessar pelo site da host, na área do cliente. Se não tiver, entre em contato com o suporte da sua host solicitando acesso ao Console do servidor. (aquela janela preta que parece um Prompt de Comando) Sim, eu que fiz. E deu extremo trabalho mesmo. -
[Ajuda] Obter a index referente à batida da música
Lord Henry replied to androksi's topic in Programação em Lua
Orrax, que fod@. -
@asrzk Boa. Mas faltou dizer como desativar o giroflex padrão (as luzes). Isso aí só desabilita o som da sirene.
-
Teste e descubra. Não tenha medo de testar. Se der ruim dai poste os erros e vamos lhe ajudar a corrigi-los.
-
bool dxDrawImage (float posX, float posY, float width, float height, mixed image) bool dxDrawImage (420, 220, 64, 64, 0 ERRO, 0 ERRO, 64 ERRO, 64 ERRO, "images/icone_colete" ERRO) Marquei os parâmetros errados.
-
Assim: -- theMarker é a variável local onde vc vai colocar o marker. Dai no script vc usa essa variável. local theMarker = createMarker (cordX, cordY, cordZ, "cylinder", tamanho, red, green, blue, alpha) -- Coloque as coordenadas ali nos campos cordX, cordY e cordZ. -- No tamanho pode ser qualquer valor numérico, por padrão é 4. -- Em red, green, blue e alpha são as cores e transparência do marker, pode ser de 0 até 255. Por exemplo: 255, 255, 0, 150 fará um marker amarelo semi-transparente. addEventHandler ("onClientMarkerHit" , theMarker, function (thePlayer, matchingDimension) -- Parâmetros da função, thePlayer = jogador que colidiu no marker | matchingDimension = true, se o jogador está na mesma dimensão que o marker, false se não estiver. if thePlayer == localPlayer and matchingDimension and (not getElementData (localPlayer, "prison")) then -- Se o jogador que colidiu é o localPlayer (este cliente) e ele está na mesma dimensão que o marker e ele não está com status de preso, então: if not isInColExport () then -- O resto aqui é o seu script, não entendi... guiSetVisible(Window_VS, not guiGetVisible(Window_VS)) guiSetVisible (Window_CHK, false) playSound(":EQPsons/open.wav") showCursor(guiGetVisible(Window_VS)) vehsa = getElementData(localPlayer,"spawnedcars") or {} vehs = "" for ind,veh in ipairs(vehsa) do if vehs ~= "" then vehs = vehs..", "..veh.."" else vehs = vehs..""..veh.."" end end end end end) -- O theMarker que aparece depois do "onClientMarkerHit" é o marker que vc criou antes, essa função só funciona se colidir naquele marker.
-
[AJUDA]Login/Contas
Lord Henry replied to UltimaterSCR's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
-------------------------3 parte---------------------- As funções dele envolvem salvar dados. Vc poderia sim usá-lo para salvar dinheiro 0 nas contas. Mas vc teria que reprogramar o sistema para adicionar um comando que faça isso. E sim, esse mod funciona obrigatoriamente com banco de dados. Ou salvando no banco de dados nativo ou salvando em um banco de dados criado por ele mesmo. Teria que abrir o código dele pra ver isso. A principio ele salva no banco de dados internal.db. -
[AJUDA]Login/Contas
Lord Henry replied to UltimaterSCR's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Vamos por partes. Nesse caso, por se tratar de apenas 40 contas. Dá pra editá-las manualmente acessando o banco de dados internal.db usando o programa gratuito DB Browser For SQLite e setando a grana das contas uma por uma em 0. Ou se preferir fazer via código, vc vai precisar obter todas elas com getAccounts e verificar todas elas através de um loop for que vai setar a data da grana em 0 em cada uma das contas. OU Você pode simplesmente deletar todas as contas, em vez de ir setando grana 0, delete cada conta com removeAccount. Mas eu particularmente acho mais fácil acessar o banco de dados pra fazer isso do que programar um script temporário só pra fazer isso. ------------------2 parte-------------------- Já vi um mod de concessionária que funcionava assim também, com banco de dados MySQL criado pelo próprio resource. Mas eu sempre tive problemas pois toda vez que o servidor era desligado, todos os carros eram perdidos. Por isso acabei recriando outra concessionária que salva tudo no banco de dados nativo do MTA em SQLite no registry.db e lá ele não perde os dados. Verifique se o seu mod funciona corretamente, caso contrário os jogadores perderão os veículos após quedas do servidor. Que eu saiba, mods de painel de login geralmente não criam bancos de dados (existem raras exceções). Eles geralmente salvam no banco de dados nativo do MTA por meio da função addAccount. Elas ficam salvas no internal.db, as senhas são criptografadas, então nem mesmo o dono do servidor consegue saber. Ele só vai ver um código serial no lugar da senha. Nunca testei se deletar o banco de dados inteiro causa alguma falha no servidor, sempre que eu preciso fazer alguma alteração, acesso ele por meio do programa que citei anteriormente. E quando preciso deletar uma conta específica, faço por meio de comando no painel Admin. (parecendo um Hacker) Não tenho certeza, mas eu ACHO que o servidor recria o banco de dados ao iniciar, caso ele não exista. Não esqueça de verificar no arquivo ACL.xml (abra com notepad++) se alguma das contas está lá. Se tiver, delete a linha que ela aparece. Contas que não existem podem dar erros nas ACL. -
Amigo, vc já leu a Wiki do createMarker? Vc cria o marker e coloca ele numa variável. Depois vc usa essa variável no script. Nesse caso, na variável marker.
-
Cara, recomendo que estude inglês. Tudo na área da tecnologia precisa de inglês. Ou vc faz curso em uma escola de idiomas (tipo Wizard, CCAA, etc) ou vc baixa o app do Duolingo e aprende jogando.
-
[Ajuda] Obter a index referente à batida da música
Lord Henry replied to androksi's topic in Programação em Lua
Não creio que seja possível fazer isso. Pelo menos não por métodos comuns. Programadores experientes já tentaram fazer isso pra sincronizar luzes do cinema com o áudio do vídeo mas não conseguiram. Vc está tentando algo que somente gênios poderiam conseguir. -------------------------- Fui procurar na Wiki e encontrei isto: https://wiki.multitheftauto.com/wiki/GetSoundBPM Batidas por minuto, é isso que vc queria? -
Reviveu malandramente este tópico inocente...
-
Regra número 2: Nunca delete seu código, deixe como comentário. Só delete se tiver certeza de que nunca vai usar nada daquilo ou então já sabe como fazer algo melhor. A regra 1 era usar dxDrawImageSection mesmo ahuahauahauh.