Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,987
  • Joined

  • Last visited

  • Days Won

    181

Everything posted by Lord Henry

  1. Ah mano, dai é problema do radar editado que não tem suporte pra áreas. Coloque outro.
  2. Me agradeça dando um Thanks no meu comentário que te ajudou. Só ir naquele botão de coração ali em baixo da minha resposta. Sim. Pra criar uma área no radar é só usar createRadarArea. Dai nos parâmetros vc informa a coordenada X e Y da área no mapa e seu tamanho X e tamanho Y, além de cor e transparência.
  3. Só você diminuir o número que vai depois do sy nessas partes aqui: dxDrawRectangle ( sx - 220, (sy-20)-(index*25), 200, 20, tocolor ( 0, 0, 0, v4 ) ) if ( v2 ) then dxDrawText ( "+ $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 0, 255, 0, v4+75 ), 1, 'default-bold' ) else dxDrawText ( "- $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 255, 0, 0, v4+75 ), 1, 'default-bold' ) end Onde está -20, coloque -320 e onde está -18 coloque -318 Quanto mais negativo o número, mais pra cima ele vai ficar. Espero ter ajudado. E seria interessante você deixar o fórum Português no seu favoritos, assim você não se esquece de postar na sessão correta.
  4. Você deveria dar mais detalhes, aqui você tem seu espaço para isso. Algumas correções: Esport não existe. Ou vc escreve em inglês "sport" ou você escreve em português "esporte". Painel de Login/registro é algo que todos os servers possuem. Isso não funcionou no marketing. Dizer que perdeu as texturas é desnecessário, não é bom ficar dizendo as suas falhas. Boa sorte com seu server.
  5. Tá, você não é capaz nem de responder minhas perguntas. Permita-me responder para você: R: Não, nem tentei traduzir e não entendi os erros. Mas agora que vi que o @Lord Henry traduziu e me disse oq significam, vou tentar arrumar. R: De acordo com a Wiki do getElementsByType, essa função retorna uma lista contendo todos os elementos do tipo declarado. No caso, retorna uma lista com todos os jogadores online no server. Isso significa que a variável players não é um jogador e sim uma lista de jogadores online. function AntiComando (source) -- source = player que executou o comando desta função. (/a) local players = getElementsByType ("player") -- players = uma lista de jogadores online. local playerrivalx, playerrivaly, playerrivalz = getElementPosition ( players ) -- ERRO: Não é possível encontrar a posição de uma lista, pois ela não é um elemento. local player1x, player1y, player1z = getElementPosition ( source ) -- player1x, player1y, player1z = Posição X, Y e Z do jogador que executou o comando /a local dist = getDistanceBetweenPoints3D ( playerrivalx, playerrivaly, playerrivalz, player1x, player1y, player1z ) -- ERRO: playerrivalx, playerrivaly, playerrivalz não existem, pois deu erro na linha 3. Portanto a variável dist também dará erro. if ( dist < 5 ) then -- ERRO: Não tem como comparar FALSE com 5. outputChatBox("#FFFFFFComando Não poder ser utilizado perto de um rival!", source, 255, 255, 255, true) elseif ( dist > 100 ) then -- ERRO: Não tem como comparar FALSE com 100. outputChatBox("#FFFFFFcomando utilizado com sucesso.!", source, 255, 255, 255, true) end end addCommandHandler ("a", AntiComando)
  6. Algo parece errado. Não existe nada ativando a função server-side. Desse modo, thePlayer não existe. @danilin você esqueceu de passar o valor de on_off pelo seu triggerClientEvent.
  7. E as minhas perguntas, consegue responder?
  8. Provavelmente você já manja de Lógica de Programação, então sugiro que baixe alguns resources básicos da comunidade MTA e estude a documentação das funções na Wiki MTA.
  9. Você já tentou traduzir e entender os erros que aparecem? DanilinS.lua:3: Bad argument 'getElementPosition' [Expected element at argument 1, got table] Argumento inválido no 'getElementPosition' [Esperava um elemento no argumento 1, mas recebeu uma tabela] DanilinS.lua:5: Bad argument 'getDistanceBetweenPoints3D' [Expected vector3 at argument 1, got boolean] Argumento inválido no 'getDistanceBetweenPoints3D' [Esperava um vector3 no argumento 1, mas recebeu valor booleano (false)] DanilinS.lua:6: Error: attempt to compare boolean with number Erro: Tentativa de comparar valor booleano com um número (comparação impossível) OBS: vector3 é uma matriz, que possui 3 valores numéricos (inteiros ou reais) que são coordenadas X, Y e Z respectivamente. Você pode declará-lo como uma table contendo esses 3 valores ou você pode declarar cada um dos 3 valores respectivamente. Isso significa que ele estava esperando coordenadas X, Y e Z no argumento 1, mas recebeu booleano. Também gostaria que vc me explicasse o que acontece na linha 2. A variável players recebe quais dados mesmo?
  10. Então teste lá. Quando conseguir deixar um Label com o tamanho da fonte proporcional na tela, dai me avise. Vocês estão fugindo do assunto do post, que era pra ser escala de Labels (textos) e indo para escala de elementos DX. Uma coisa funciona bem diferente da outra. Os elementos podem sim ser escalonados sem problemas de acordo com a resolução. Mas os textos não.
  11. @danilin Ele não pediu nada em DX. Ele só queria saber como alterar proporcionalmente o tamanho da fonte dos Labels (guiCreateLabel).
  12. Já tentei fazer isso também mas não rolou. O IP da minha casa é por sub-rede. A operadora de internet tem um IP da região e dentro deste IP tem outro IP pra cada residência. O problema é que preciso liberar as portas do IP principal também para funcionar, mas como ele é usado por toda a região, não tem como. Eu consigo liberar as portas e firewall aqui de casa mas precisaria fazer isso com o IP principal lá da provedora. Dai não tem como. Talvez via hamachi até seja possível fazer, mas não tentei por esse método. Os servidores e hosts que vc contrata possuem somente o IP principal, portanto eles tem as portas do IP principal aberta e vc conecta normalmente neles. Tanto é que a internet deles é geralmente melhor e mais estável.
  13. Pode ser alguns desses motivos: Uso de modificações no GTA SA Arquivos DLL corrompidos. Uso de hack de vida. Uso de Trainers em geral (bots)
  14. Deixe sempre um Thanks na resposta que lhe ajudou. Assim você agradece o usuário. Clique naquele ícone de coração que fica logo abaixo da resposta, no lado direito.
  15. Cara, esse negócio de ajustar escala de acordo com a resolução sempre vai bugar. Pois tem resoluções que o Aspect Ratio é 4:3 (800 x 600) e outras que são 16:9 (Padrão Full HD). Prefira fazer os painéis sempre com o mesmo tamanho e ir apenas setando a posição da janela no meio da tela usando a função útil centerWindow. function centerWindow (center_window) local screenW, screenH = guiGetScreenSize() local windowW, windowH = guiGetSize(center_window, false) local x, y = (screenW - windowW) /2,(screenH - windowH) /2 return guiSetPosition(center_window, x, y, false) end addEventHandler ("onClientResourceStart", getResourceRootElement(getThisResource()), function() theWindow = guiCreateWindow (0, 0, 300, 300, "Janela Qualquer", false) centerWindow (theWindow) guiWindowSetSizable (theWindow, false) label1 = guiCreateLabel(10, 20, 45, 20, "Teste 1", false, theWindow) label1 = guiCreateLabel(10, 40, 45, 20, "Teste 2", false, theWindow) end) Os elementos de texto GUI como os Labels, não possuem escala relativa. O parâmetro relative dele só serve para posição e tamanho do canvas dele. Mas o tamanho da fonte não muda a não ser que use guiCreateFont. Janela teste na resolução nativa de 1366 x 768: Janela teste na resolução de 800 x 600:
  16. Client-side: markerEntrar = createMarker (-716.23865, 1266.40942, 10.73082, "cylinder", 1, 0, 191, 255, 155) blip = createBlipAttachedTo (markerEntrar, 53, 3, 255, 0, 0, 255, 0, 5000) function aviso (hitElement) if hitElement == localPlayer then outputChatBox ("[INFO] #FFFFFFTrabalho de entregador de intorpecentes. Digite #00FF00/aceitar1 #FFFFFFpara iniciar.", 0, 255, 0, true) function aceitar (thePlayer) markerRandom = math.random (1, 3) outputChatBox ("[INFO] #FFFFFFEntregue os intorpecentes nos locais marcados em círculos #FFFF00amarelos #FFFFFFno mapa.", 0, 255, 0, true) triggerServerEvent ("giveMyVeh1", localPlayer) if (markerRandom == 1) then outputChatBox ("[INFO] #FFFFFFEntregue os intorpecentes em #00FF00Downtown.", 0, 255, 0, true) markerTrab = createMarker (-623.43188, 858.27588, 10.55048, "cylinder", 1, 0, 191, 255, 155) trabBlip = createBlipAttachedTo (markerTrab, 53, 3, 255, 0, 0, 255, 0, 5000) addEventHandler ("onClientMarkerHit", markerTrab, finish) elseif (markerRandom == 2) then outputChatBox ("[INFO] #FFFFFFEntregue os intorpecentes em #00FF00Little Haiti.", 0, 255, 0, true) markerTrab = createMarker (-863.37274, 108.24522, 9.33671, "cylinder", 1, 0, 191, 255, 155) trabBlip = createBlipAttachedTo (markerTrab, 53, 3, 255, 0, 0, 255, 0, 5000) addEventHandler ("onClientMarkerHit", markerTrab, finish) elseif (markerRandom == 3) then outputChatBox ("[INFO] #FFFFFFEntregue os intorpecentes em #00FF00Little Haiti.", 0, 255, 0, true) markerTrab = createMarker (-1139.22083, -111.46038, 11.40691, "cylinder", 1, 0, 191, 255, 155) trabBlip = createBlipAttachedTo (markerTrab, 53, 3, 255, 0, 0, 255, 0, 5000) addEventHandler ("onClientMarkerHit", markerTrab, finish) end removeCommandHandler ("aceitar1", aceitar) end addCommandHandler ("aceitar1", aceitar) end end addEventHandler ("onClientMarkerHit", markerEntrar, aviso) function finish (hitElement) if hitElement == localPlayer then local dinheiro = math.random(70, 300) triggerServerEvent ("giveMyMoney1", localPlayer, dinheiro) outputChatBox ("[INFO] #FFFFFFConcluído.", 0, 255, 0, true) removeEventHandler ("onClientMarkerHit", markerTrab, finish) destroyElement (trabBlip) trabBlip = nil destroyElement (markerTrab) markerTrab = nil end end Server-side: veh = {} function spawnMyVeh () local x,y,z = getElementPosition (client) veh[client] = createVehicle (499, x, y, z) warpPedIntoVehicle (client, veh[client]) end addEvent ("giveMyVeh1", true) addEventHandler ("giveMyVeh1", getRootElement(), spawnMyVeh) function setMyMoney (cash) givePlayerMoney (client, cash) if veh[client] then destroyElement (veh[client]) veh[client] = nil end end addEvent ("giveMyMoney1", true) addEventHandler ("giveMyMoney1", getRootElement(), setMyMoney)
  17. You need to add this resource in the Admin ACL Group
  18. if isObjectInACLGroup ("user."..accName, aclGetGroup ("MARINHA")) or isObjectInACLGroup ("user."..accName, aclGetGroup ("NOME2")) then Desse jeito aqui, vai permitir 2 ACL Groups simultaneamente. Se você quer fazer para vários grupos, dai vai precisar de uma table e um for para verificar cada um.
  19. Se você olhar na Wiki do guiLabelSetHorizontalAlign, verá que os parâmetros possíveis são somente "left", "center" e "right". Você não deve tentar traduzir a Wiki pois a programação não é feita em português.
  20. E como vai o job? Algum progresso? Vc tentou alguma das coisas que falamos? O que exatamente você não está conseguindo fazer nele?
  21. Existe a opção de editar. Mas ela só é visível por um curto período depois de postar, creio que até 5 minutos. Após esse tempo, não é mais possível editar. Ela aparece do lado da opção de Quote.
  22. Dai vc tem que saber inglês mano. Pra fazer qualquer coisa com informática tem que saber inglês básico pelo menos. Ali ele está dizendo que esperava um elemento no segundo argumento do addEventHandler, mas em vez disso recebeu nulo. addEventHandler ("argumento1", argumento2, argumento3) Aliás, programar sem saber inglês é extremamente difícil, na minha opinião. Pois vc não vai conseguir entender o que está fazendo nem conseguir estudar a Wiki.
  23. Isso é você que tem que responder antes de perguntar. Como vc espera programar algo se você não é capaz nem de olhar os erros de sintaxe no console? Testando seu script, de cara já veio esses erros: Warning: server.lua:17: Bad argument 'addCommandHandler' [Expected function at argument 2, got nil] Warning: server.lua:27: Bad argument 'addEventHandler' [Expected element at argument 2, got nil] Warning: server.lua:37: Bad argument 'addEventHandler' [Expected element at argument 2, got nil] Warning: server.lua:47: Bad argument 'addEventHandler' [Expected element at argument 2, got nil] Também já vi vários outros erros que não foram detectados pois não é erro de sintaxe e sim de lógica.
×
×
  • Create New...