Jonas^
Members-
Posts
1,016 -
Joined
-
Last visited
-
Days Won
9
Everything posted by Jonas^
-
Você mesmo deu as respostas pra suas dúvidas. Ao invés de createLight é mais fácil usar AddVehicleSirens https://wiki.multitheftauto.com/wiki/AddVehicleSirens https://wiki.multitheftauto.com/wiki/BindKey
-
OnVehicleEnter Check the driver's seat and allow only those in the acl to drive the vehicle. Example: addEventHandler ("onVehicleEnter", root, function (thePlayer, seat, jacked) if not isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup ("ACL_NAME")) then if seat == 0 then removePedFromVehicle (thePlayer) outputChatBox ("SEAT: "..seat, thePlayer, 0, 220, 0) end end end) @Pedro001
-
Postou no local indevido. Na wiki tinha um exemplo basicamente pronto era só adaptar do seu gosto. Faça assim: local timerGetAdmins = 10 addEventHandler ("onResourceStart", resourceRoot, function () timerAdmins = setTimer (function () admins = "" for _, v in ipairs (getElementsByType ("player")) do local accountname = "" if (isGuestAccount(getPlayerAccount(v)) == false) then if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount(v)), aclGetGroup ("Admin")) then if (admins == "") then admins = getPlayerName(v) else admins = admins .. ", " .. getPlayerName(v) end end end end outputChatBox ("Admins Online: #FFFFFF"..tostring(admins), root, 0, 233, 0, true) end, 60000 * timerGetAdmins, 0) end) @adrian enigma
-
No GTA:SA por padrão é somente em certos veículos que funcionam esses spoilers, já tentou colocar no sultan ou elegy por exemplo?
-
Pra longos periodos assim é válido declarar uma variável pra controlar o timer, assim é mais fácil e rápido de fazer alterações sem precisar calcular x segundos. Exemplo: NPCS = { {2164.52686, -1000.97644, 62.79298}, -- x, y, z {2199.82104, -1010.65930, 61.88739} }, local r = math.random(1, #NPCS) local Ped_VICIADO = createPed(240, NPCS[r][1], NPCS[r][2], NPCS[r][3]) local timerTotal = 5 timer = setTimer(function () if Ped_VICIADO then local nr = math.random(1, #NPCS) setElementPosition(Ped_VICIADO, NPCS[nr][1], NPCS[nr][2], NPCS[nr][3]) end end, 60000 * timerTotal, 0) -- 60000 = 1 minuto x var timerTotal = 5 minutos.
-
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Não, como disse antes pode variar de empresa pra empresa, eu pago 35 por mês em uma VPS, mas tem host de 10 reais. -
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Estranho, adquira uma host pra abrir seu servidor, vai por mim é melhor, fica 24 horas online, você não gasta energia com PC ligado 24 horas. -
Seu código tem problemas nas output's e tem argumentos errados, onde era pra ser thePlayer tem player de resto esta certo, e eu faria a verificação por ACL primeiro.
-
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Eu acho que eu passo pelo mesmo problema também, é complicado mas é mais seguro obviamente neste caso nossa opção é adquirir planos de VPS/Host, mas de qualquer forma é complicado deixar um PC 24 horas ligado pra ficar rodando o servidor, tirando o fato que precisa de 1 conexão extremamente boa pra todos baixarem o servidor com uma boa velocidade e ter uma conexão estável. -
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Vale a pena tentar De nada. -
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Sim é pago, vária de empresa pra empresa. -
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Pelo visto o problema ainda é no roteador, verifique se realmente as portas foram abertas, caso não der a alternativa sera você adquirir uma host/vps para hospedar seu servidor, que é o ideal, pois pra aguentar diversos jogadores simultâneos você precisa de uma conexão muito boa e de uma máquina potente, dai você usa o localhost para testes. -
O meta esta correto e o código também pois eu testei aqui.
-
Mostre o meta pra mim ver. O meta deve ser desta forma: <meta> <script src="client.lua" type="client" cache="false"/> </meta>
-
Eu testei aqui e funcionou normalmente.
-
Sem código fica complicado deduzir o problema, já olhou o /debugscript 3 apresenta algum erro relacionado a este código?
-
Fiz uns testes aqui e vi que parece que o código do Lord esta com problema na hora de setar na conta do jogador o tempo total fiz um comando pra testar se quiser testar ai também: addCommandHandler ("checkt", function (thePlayer, cmd) local tempoEmprego = getAccountData (getPlayerAccount (thePlayer), "periodo.Total") if tempoEmprego >= 15 then -- Se o jogador estiver logado a 15 ou mais segundos então: outputChatBox ("Você jogou "..getAccountData (getPlayerAccount (thePlayer), "periodo.Total").." e agora esta trabalhando neste emprego.", thePlayer, 0, 255, 0) else outputChatBox ("Você ainda não jogou 15 segundos", thePlayer, 230, 30, 30) end end) Dai eu setei manualmente na db o valor 1 e executou normal. @Lord Henry Na verdade é só adicionar o evento onPlayerQuit pra salvar também quando o jogador quitar.
-
getAccountData com os minutos ou segundos que o cara tem que estar logado pra poder pegar o emprego. function EntregadorDeJornal () local Level = getElementData ( source, "Level" ) or 0 if Level >= 0 then if getAccountData (getPlayerAccount (source), "periodo.Total", 1) -- Se o jogador estiver logado a 1 segundo então: -- Código do emprego else --Senão: outputChatBox ("Você precisa estar logado x segundos para poder pegar este emprego.", source, 230, 30, 30) end end end
-
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Sim nos 2, procure no youtube como permitir conexão no firewall a uma porta tcp e udp. -
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Ok, neste caso é normal acontecer isso a resolução é simples, você deve acessar as configurações do seu roteador e liberar as portas 22005 e 22003, procure no youtube alguma vídeo aula exemplo de pesquisa: Como abrir portas do roteador TP-LINK. No caso você iria informar a marca do seu roteador e o modelo se for possível eles se encontram na maioria das vezes na parte de baixo do roteador. -
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Tá, primeiro me responda uma pergunta. Seu servidor você esta abrindo diretamente no seu computador ou em uma VPS/HOST? -
[Ajuda] Entrar no server
Jonas^ replied to SrSampaio32112321's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Permita conexões nessas portas no firewall do windows, se você tem VPS as portas por padrão já vem abertas, estranho isso. -
Mostre a função AbrirPainel
-
Você deve estar esquecendo dos argumentos da função, olhe este exemplo aqui: addCommandHandler ("dargrana", function (player, cmd, nick, value) if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount (player)), aclGetGroup ("Admin")) then -- Se o jogador for admin, então: if not nick then return outputChatBox ("Informe o nome de um jogador.", player, 255, 30, 30) end -- Se nenhum nick for informado então, retorna e nada acontece. local playerName = getPlayerFromPartialName (nick) if not playerName then return outputChatBox ("Jogador com este nick não foi encontrado.", player, 255, 30, 30) end -- Se o jogador não for encontrado então, retorna e nada acontece. if not value then return outputChatBox ("Informe a quantia de dinheiro que deseja dar ao jogador.", player, 255, 30, 30) end -- Se o valor não for informado então, retorna e nada acontece. if givePlayerMoney (playerName, value) then -- Seta o dinheiro na conta do jogador informado pelo comando. outputChatBox ("Você deu "..tostring(value).."$ para o jogador "..string.gsub(getPlayerName (playerName), "#%x%x%x%x%x%x", "")..".", player, 0, 255, 0) outputChatBox ("Você recebeu "..tostring(value).."$ do administrador '"..string.gsub(getPlayerName (player), "#%x%x%x%x%x%x", "")..".", playerName, 0, 255, 0) else -- Senão: (a principio nunca deve entrar nesse escopo, se entrar tem algo errado, pois foi informado o nick, valor correto.) outputChatBox ("Ocorreu um erro ao setar o dinhero no jogador.", player, 255, 30, 30) end end end) function getPlayerFromPartialName (name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find (name, 1, true) then return player end end end end
-
Você deve usar a função: function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end Esta função não é nativa do MTA, se você preferir usar uma nativa use: GetPlayerFromName OBS: Eu usaria a primeira pois a função nativa do MTA você precisa escrever o nick do player completo que você deseja dar o dinheiro, já a primeira você apenas digita as letras iniciais que ela já puxa o jogador. Se tiver alguma dúvida deixe aqui em baixo que te auxilio.