Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,992
  • Joined

  • Last visited

  • Days Won

    183

Everything posted by Lord Henry

  1. Posição e tamanho da imagem declarados não fazem sentido. (Caso alguém queira saber como resolveu)
  2. Só aumentar com setSoundVolume no jogador.
  3. E vc já sabe lógica de programação?
  4. Lord Henry

    SCRIPT

    Solicitações de scripters pagos devem ser feitas na seção OffTopic.
  5. Não entendi nada. E desligue o Caps Lock.
  6. Se estiver se referindo a aquele setTimer, o source funcionou pq vc não usou função no setTimer.
  7. source não existe se for dentro de função do setTimer.
  8. Interessante que era só ler desde o começo.
  9. Ele não é o Danilin, hauahauah Pra obter 20% de um valor, é só multiplicar ele por 0.2
  10. Pq não usa seu próprio script corrigido? local skinmarker = createMarker (1565.1999511719, -1690.1999511719, 14.800000190735, 'cylinder', 2.0, 195, 107, 35, 202) function MarkerHit(markerHit,matchingDimension) local account = getAccountName (getPlayerAccount (source)) if isObjectInACLGroup ("user."..account, aclGetGroup ("Policia")) then setElementModel (source, 286) outputChatBox ("[PMERJ] Agora você está uniformizado para o trabalho!", source, 0, 255, 0, false) else outputChatBox ("Você não é um policial", source, 255, 0, 0, false) end end addEventHandler ("onPlayerMarkerHit", getRootElement(), MarkerHit)
  11. @gbmv33 Onde estiver player troque por source @Jonas^ seu código vai ativar em todos os markers do servidor.
  12. Crie outra função para remover, ela deverá ser tipo assim: function retirardavtr (police, _, name) if hasObjectPermissionTo (police, "function.Colocar") then local preso = getPlayerFromPartialName (name) if (preso) then if (preso == police) then return outputChatBox ("Você não pode se remover da viatura.", police, 190, 190, 190) end if (getElementData (preso, 'navtr')) then -- Prefira o uso de aspas duplas para strings com mais de 1 caractere. local px, py, pz = getElementPosition (police) local bx, by, bz = getElementPosition (preso) local dist = getDistanceBetweenPoints3D (px, py, pz, bx, by, bz) if (dist >= 3) then return outputChatBox ("Você precisa chegar mais perto para removê-lo.", police, 190, 190, 190) end setElementData (preso, 'navtr', false) removeEventHandler ('onPlayerCommand', preso, onCommand) local vtr = carros[police] setElementData (vtr, 'compreso', false) detachElements (preso, vtr) setElementFrozen (preso, false) toggleAllControls (preso, true) setPedAnimation (preso) else outputChatBox ("Este jogador não está preso.", police, 190, 190, 190) end else outputChatBox ("Jogador invalido.", police, 190, 190, 190) end end end addCommandHandler ("retirar", retirardavtr) Obs: Não testado. Percebo que vc está com alguns vícios de programação, tente evitá-los: Use aspas duplas " nas strings que possuem mais de um caractere. Aspas simples ' é melhor usado para strings que possuem somente 1 caractere. Evite usar códigos #hex onde for desnecessário. Se o seu outputChatBox usa ao todo somente 1 cor, declare a cor direto nos parâmetros RGB em vez do texto. Assim vc não precisa usar o parâmetro colorcoded. Como fiz acima. Evite condição negativa (If not). Se possível, faça-o como um else. Assim como fiz acima. Espero ter ajudado.
  13. Vc precisa ativar o recurso de voz do servidor e então fazer um script que transmita sua voz somente para determinado jogador, já que por padrão ele transmite a todos que estiverem próximos de vc.
  14. local lvl = getElementData(localPlayer, "player:level" ) if isCursorOnElement(sx/2 - 115, sy/2 + 165, 155, 23, x, y) then local texto = "teste0" if lvl > 10 and currentPanel == 1 then valor = 1 texto = "teste1" elseif lvl > 11 and currentPanel == 2 then valor = 2 texto = "teste2" elseif lvl > 12 and currentPanel == 3 then valor = 3 texto = "teste3" elseif lvl > 13 and currentPanel == 4 then valor = 4 texto = "teste4" elseif lvl > 14 and currentPanel == 4 then valor = 5 texto = "teste5" else outputChatBox("Nivel insuficiente para comprar "..texto, 255, 255, 255) end end
  15. Acho que ele quis dizer isso: if lvl > 10 and Panel == 1 then
  16. Se me permitem, eu faria um upgrade nesse script de congelar, ficaria assim: local m1 = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) -- Marker do Jonas^ Brothers addEventHandler ("onMarkerHit", m1, function (hitElement, matchingDimension) if hitElement and getElementType (hitElement) == "player" and matchingDimension then setElementFrozen (hitElement, true) toggleAllControls (hitElement, false) setTimer (function () setPedAnimation (hitElement, "int_house", "wash_up", 10000, true, false, false, false) setTimer (function () setElementFrozen (hitElement, false) toggleAllControls (hitElement, true) end, 10000, 1) end, 1000, 1) end end)
  17. Menu principal do MTA >>> Editor de Mapas
  18. Sim, acabei de testar colocando o setElementFrozen após 1 segundo de animação, ele realmente cancela a animação ao ser chamado, no caso, a animação durou só aquele 1 segundo antes do freeze.
  19. Então cara. Eu testei aqui. Solução: Do jeito que está, com setElementFrozen DEPOIS da animação, ele não funciona. Com setElementFrozen ANTES da animação, ele funciona. Aparentemente o setElementFrozen é capaz de cancelar animações. Quando vc anima o personagem na linha anterior, ao dar freeze na linha seguinte, cancela a animação. Trocando as linhas de lugar, corrige o problema. local m1 = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) -- Marker do Jonas^ substitua pelo seu. addEventHandler ("onMarkerHit", m1, function (hitElement, matchingDimension) setElementFrozen (hitElement, true) setPedAnimation (hitElement, "int_house", "wash_up", 10000, true, false, false, false) setTimer (setElementFrozen, 10000, 1, hitElement, false) end)
  20. Claro que está faltando. Vc não colocou o parâmetro de função para associar o ID do player nele. function ConfiscarArmas (player, commandName, playerid)
  21. Realmente há um bug e ele não funciona se for instantâneo. Criando um pequeno timer irá contornar esse bug. addEventHandler ("onElementModelChange", root, function (oldModel, newModel) if (getElementType (source) == "player") then -- Neste evento, source = elemento que mudou de modelo/skin. if not isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Console")) then -- Se o jogador que está tentando trocar de skin não for Console, então: if (newModel == 12) then -- Se o jogador está tentando pegar a skin de ID 12, então: outputChatBox ("Esta skin é privada! Você não pode usar ela.", source, 255, 30, 30) setTimer (function (thePlayer) -- source não existe dentro de timers, por isso passa ele por um parâmetro de função. setElementModel (thePlayer, 0) -- Seta skin 0 nele. (não funciona se for instantâneo, por isso o timer) end, 100, 1, source) end end end end)
  22. Coloque você mesmo na ACL A e tente novamente. Não sei se faz diferença, mas coloque o SERVER todo em letra minúscula.
  23. Preste atenção na linha 13. Vc está testando isso que vc está fazendo? Ou está fazendo de qualquer jeito achando que funciona?
×
×
  • Create New...