Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,008
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Primeiramente você precisa prestar atenção que thePlayer nem sempre será um jogador quando a função foi ativada pelo onMarkerHit. Ele pode ser qualquer elemento que colidiu no marker. Sendo assim, você precisa verificar se thePlayer é mesmo um player. Depois disso, aí sim você verifica se thePlayer está em um veículo. Pois se ele não for um player ou ped, dará erro. function PortaoDoor1Loja (thePlayer) if (getElementType(thePlayer) == "player") then -- Se o elemento thePlayer for um jogador, então: if not (getPedOccupiedVehicle(thePlayer)) then -- Se o thePlayer não está em um veículo, então: moveObject (Gate10, 200, 954.4, -1720.7, 12.6) -- Não é necessário utilizar números com tantos decimais para este objetivo. moveObject (Gate11, 200, 954.4, -1726.1, 12.6) else -- Se o thePlayer está em um veículo, então: outputChatBox ("Não é possível passar enquanto estiver em um veículo.", thePlayer, 255, 0, 0) end end end addCommandHandler ("open", PortaoDoor1Loja) addEventHandler ("onMarkerHit", markerlojacarros, PortaoDoor1Loja)
  2. Utilize GetAllElementData em um elemento para saber todas as elementDatas e seus valores que estão nele.
  3. local screen = Vector2 (guiGetScreenSize ()) -- Isso é igual a duas variáveis: screen.x, screen.y local resW, resH = 1280, 720 local x, y = (screen.x/resW), (screen.y/resH) -- Serve para fazer as posições dos DX serem responsivas. addEventHandler ("onClientRender", root, function () dxSetAspectRatioAdjustmentEnabled (true, 4/3) -- Corrige problemas de proporção. local size = screen.x/1280 -- Obtém o tamanho de acordo com a resolução X da tela. Resoluções maiores terão o size maior. dxDrawText("Teste Maroto", x*1095, y*40, x*1213, y*70, tocolor(255, 255, 255, 255), 0.9*size) -- Você pode mudar a posição, cor e também o valor antes do size para se adequar ao seu sistema. end)
  4. Textos não são responsivos, portanto a escala não funciona neles. Ou você cria uma HUD com tamanho fixo ou então fique testando cada resolução e mudando o tamanho da fonte em cada uma.
  5. Olá. Não tem como, o máximo que você consegue é anexar outro player dentro do hydra usando attachElements. Mas não vai ter animação de entrada no hydra, e ele não vai poder fazer nada.
  6. local scrollPos = guiScrollBarGetScrollPosition (source) -- Vai de 0 até 100 local volume1 = (scrollPos*4) + 200 -- Vai de 200 até 600 --[[ Se scrollPos for igual a 0: (0*4) + 200 (0) + 200 200 Se scrollPos for igual a 100: (100*4) + 200 (400) + 200 600 ]] guiSetText(distH,tostring(volume1))
  7. Olá. Utilize setAccountData e getAccountData.
  8. Mande uma print com a mensagem completa do erro.
  9. Assim que um grupo for aceito, use return para não verificar outros grupos, evitando spam. function setarTUDO (thePlayer, commandName, id, SetFomeSede) for _, group in ipairs(settudoacl) do if (isObjectInACLGroup("user."..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup(group))) then if (id) then if (tonumber(SetFomeSede)) then local playerID = tonumber(id) if (playerID) then local targetPlayer, targetPlayerName = getPlayerID(playerID) local fomesede = tonumber(SetFomeSede) if (targetPlayer) then if (commandName == settudo) then end -- exports["Script_Dxinfo"]:addBox(thePlayer, "success", "#ffffffFome e Sede de #25C740"..getPlayerName(targetPlayer).." #ffffffsetado para #25C740"..fomesede.."%") exports["Script_Dxinfo"]:addBox(targetPlayer, "info", "#ffffffO STAFF #25C740"..getPlayerName(thePlayer).." #ffffffalterou sua Fome e Sede para #25C740"..fomesede.."%") setElementData(targetPlayer, "hunger", fomesede) setElementData(targetPlayer, "sede", fomesede) return else exports["Script_Dxinfo"]:addBox(thePlayer, "error", "#ffffffO jogador não foi encontrado!") return end else exports["Script_Dxinfo"]:addBox(thePlayer, "error", "#ffffffUtilize : #ff0000/"..commandName.." #ffffff[ID] [Quantidade]") return end else exports["Script_Dxinfo"]:addBox(thePlayer, "error", "#ffffffUtilize : #ff0000/"..commandName.." #ffffff[ID] [Quantidade]") return end else exports["Script_Dxinfo"]:addBox(thePlayer, "error", "#ffffffUtilize : #ff0000/"..commandName.." #ffffff[ID] [Quantidade]") return end end end exports["Script_Dxinfo"]:addBox(thePlayer, "error", "#ffffffPermissão Negada!") end addCommandHandler(settudo, setarTUDO)
  10. Em vez de um evento, utilize um timer de 20 segundos. setTimer(function() db = dbConnect('sqlite', 'prisao.db') dbExec(db, 'Create table if not exists presos(login, tempo)') setTimer(function() for _, player in ipairs(getElementsByType('player')) do if getPlayerPreso(player) then local result = dbPoll(dbQuery(db, 'Select * from presos Where login = ?', getAccountName(getPlayerAccount(player))), - 1) if #result ~= 0 then setTimer(function(player) setPlayerPreso(player, result[1]['tempo']) end, 500, 1, player) end end end end, 500, 1) end, 20000, 0)
  11. Vá na pasta onde seu MTA está instalado (pasta do MTA)\MTA San Andreas 1.5\MTA\config e acesse o arquivo coreconfig.xml Nesse arquivo, procure o parâmetro <show_unsafe_resolutions> e mude de 0 para 1. Salve o arquivo e inicie o MTA.
  12. Normalmente isso deveria funcionar. -- Server-side addEventHandler ("onPlayerJoin", root, function() -- Ativa o evento "resetNewVoice" em todos os clientes quando algum jogador novo entrar no servidor. triggerClientEvent ("resetNewVoice", source) -- O jogador que acabou de entrar (source) será o source deste evento também. end) -- Client-side addEvent ("resetNewVoice", true) addEventHandler ("resetNewVoice", root, function() setSoundVolume (source, 30) -- Aumenta o volume do player que acabou de entrar no servidor. end)
  13. Faça backup dos seus mods e depois reinstale o servidor inteiro do 0. Apagando todos os mods e instalando somente os originais.
  14. Tópico movido para Programação em Lua, pois se trata de uma dúvida de programação de scripts e não do Cliente/Servidor de MTA.
  15. @estudande.lua Deixe seu script no formato adequado. Não cole direto no texto.
  16. Tente reinstalar os resources originais, principalmente o resource voice que fica na pasta [gameplay]
  17. Somente se você conseguir acessar remotamente o PC dele e enviar os arquivos pro PC do seu amigo.
  18. Já tentou restaurar seus controles ao padrão? Menu ESC > Opções > Teclas > Redefinir as configurações
  19. Utilize o botão <> do fórum para postar scripts. Não cole direto no texto.
  20. addCommandHandler isObjectInACLGroup getElementsByType givePlayerMoney
  21. De nada, se puder deixe um Thanks nas respostas que lhe ajudaram.
  22. @RochaScrAnalisei seus arquivos, aqui está o feedback: TXD mal otimizado. Texturas com resolução alta demais. (pode crashar em PCs com pouca memória de vídeo) Texturas grandes que são 1 cor sólida (poderiam ser texturas 2x2 pixels) Nome inválido de textura (_.png) Texturas com resolução que não é múltipla de 2. (2, 4, 8, 16, 32, 64, 128, 256, 512...) COL mal otimizado. Malha possui faces demais. (12.738) Malha complexa demais. Algumas faces falharam. DFF mal otimizado. Malha possui faces demais. (24.663) Muitos textos modelados que poderiam ser apenas texturas. Não entendi o propósito de usar uma textura de asfalto com alta resolução sendo que ela está mapeada como se fosse micro. Ficando sólida ao ser vista de longe. (veja imagem em anexo)
×
×
  • Create New...