Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,990
  • Joined

  • Last visited

  • Days Won

    182

Everything posted by Lord Henry

  1. Claro que tem. Talvez ele mexeu no painel Admin e deu ruim. Ou então ele criou outro script que usa esse mesmo comando e está dando conflito.
  2. Você pode usar getGroundPosition para saber a altura do chão na coordenada que vc quer criar o veículo. Obs: Só funciona client-side.
  3. @MesaDowN sim. StopSound funciona também.
  4. Ele tem um painel de gerenciamento de blips. Nesse painel ele seleciona os tipos de blips que devem aparecer usando caixas de seleção. Ao desmarcar a caixa de Hospitais, somente os blips de hospitais devem sumir do mapa. Mas ele está com problemas para destruir os blips corretos.
  5. elementData é uma data temporária salva em um elemento. Quando esse elemento é destruído ou desconecta do servidor, sua data é perdida. Para datas permanentes, salve na conta do jogador com setAccountData.
  6. Não cara. Aí vc já está fazendo tentativa no escuro. Sem saber oq está fazendo. Pra quê o return?
  7. CEGUI é isso mesmo, você é limitado a usar este design. Se quer outro design, só fazendo em DX.
  8. getRealTime().timestamp guiCreateWindow guiCreateButton guiCreateLabel guiCreateRadioButton guiCreateEdit guiCreateGridList guiGridListAddColumn getElementsByType getPlayerName guiGridListAddRow addCommandHandler getPlayerAccount setAccountData getAccountData isObjectInACLGroup aclGroupAddObject aclGroupRemoveObject Boa sorte.
  9. Você pode simplesmente mudar a posição do blip quando detectar que ele já existe, em vez de destruí-lo. Com setElementPosition. if (isElement (blip3)) then -- Se o blip3 já existe, então: setElementPosition (blip3, x, y, z) else blip3 = createBlip (...) end
  10. Não entendi o motivo do loop. Se você tem apenas alguns blips (blip2, blip3) que estão salvos em variáveis. Pq não apenas dar destroyElement neles? Você só usaria loop se eles estivessem todos dentro da mesma table. Dai vc passa o loop pela table destruindo todos os blips.
  11. Você já tentou verificar se o blip já existe antes de criar outro?
  12. Use createBlip. Pois vc está apenas criando em uma posição fixa, sem anexar ele a alguma coisa. Seu painel então tem algumas caixas de seleção e opções de múltipla escolha. Tá. Esse script de criar os blips é server-side ou client-side? O blip deve aparecer pra outros jogadores ou só pro jogador que selecionou no painel?
  13. Você fez um painel de criar blips. Nesse painel, existe uma lista de coordenadas. O jogador pode escolher uma dessas coordenadas pra fazer o blip aparecer lá pelo mapa do F11. O problema é que ao selecionar um item da lista, ele cria outro blip no mapa em vez de substituir o blip que já existe. É isso que eu entendi. Corrija oq estiver errado.
  14. Não é só isso, cara. Tem que calcular o ângulo relativo do ped em relação a posição do veículo pra rotacionar ele em direção a porta antes de aplicar animação de andar pra frente. Depois detectar quando ele encosta na porta pra fazer animação dele puxando a maçaneta do carro e abrir a porta em si. Depois fazer a animação dele entrando no veículo e então quando a animação terminar, fazer animação dele puxando a porta de volta e fechar a porta do veículo em si e setar o ped dentro do veículo no assento correto finalmente.
  15. Não entendi oq vc quer fazer.
  16. Apenas uma otimização para evitar condição negativa: (e também corrigi umas coisinhas erradas) addCommandHandler ("pf", function (thePlayer, cmd, nick) if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (thePlayer)), aclGetGroup ("PF_CMD"))) then -- Se o jogador estiver na ACL "PF_CMD", então: if (not nick) then -- Aqui eu separei em 3 linhas apenas pra você não se perder na indentação. return outputChatBox ("ERRO! Informe um nick por gentileza!", thePlayer, 255, 0, 0) -- Se nenhum nick for informado, manda esse feedback e cancela a função. end local jogador = getPlayerFromPartialName (nick) if (jogador) then -- Se algum jogador com o nick informado for encontrado, então: if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (jogador)), aclGetGroup("PF"))) then -- Se o jogador estiver na ACL "PF", então: aclGroupRemoveObject (aclGetGroup("PF"), "user."..getAccountName (getPlayerAccount (jogador))) -- Remove o jogador da ACL "PF". outputChatBox ("Você removeu o jogador '"..string.gsub(getPlayerName (jogador), "#%x%x%x%x%x%x", "").."' do grupo da PF!", thePlayer, 0, 255, 0) outputChatBox ("O jogador '"..string.gsub(getPlayerName (thePlayer), "#%x%x%x%x%x%x", "").."' removeu você do grupo da PF.", jogador, 255, 0, 0) else -- Senão: (se o jogador não estiver na ACL da "PF", então:) aclGroupAddObject (aclGetGroup("PF"), "user."..getAccountName (getPlayerAccount (jogador))) -- Adiciona o jogador na ACL "PF". outputChatBox ("Você adicionou o jogador '"..string.gsub(getPlayerName (jogador), "#%x%x%x%x%x%x", "").."' ao grupo da PF!", thePlayer, 0, 255, 0) outputChatBox ("O jogador '"..string.gsub(getPlayerName (thePlayer), "#%x%x%x%x%x%x", "").."' adicionou você ao grupo da PF.", jogador, 0, 255, 0) end else -- Senão: (se nenhum jogador com esse nick for encontrado, então:) outputChatBox ("ERRO! Nenhum jogador com esse nick foi encontrado!", thePlayer, 255, 0, 0) end else -- Senão: (Se o jogador não estiver na ACL "PF_CMD", então:) outputChatBox ("Você não tem permissão!", thePlayer, 255, 0, 0) 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 Obs: É necessário que seu resource tenha permissão Admin.
  17. É possível sim. Mas é muita gambiarra e sinceramente não acho que vale a pena.
  18. Só desativar a original com SetPlayerHudComponentVisible
  19. Cuidado ae cara. Ele não é o Danilin. A não ser que vc conheça ele na RL e tenha dado esse apelido pra ele.
  20. Não. Eu falei pra usar o parâmetro attackerWeapon, mas vc inventou de usar getPlayerWeapon no cara que está levando dano. Além disso, o seu getElementData não faz sentido. function prender (attacker, attackerWeapon) local data = getElementData (attacker, "Polícia Militar") if (attackerWeapon == 3) then if (data) then outputChatBox ("Você prendeu o "..getPlayerName(source), attacker, 255, 255, 255) outputChatBox ("Você foi preso por "..getPlayerName(attacker), source, 255, 255, 255) end end end addEventHandler ("onPlayerDamage", root, prender)
  21. onPlayerDamage - Use o parâmetro do attackerWeapon para saber se foi com nightstick. E use getElementData no attacker pra ver se o cara que bateu era policial.
  22. Tenha em mente que nem sempre os objetos criados no mapa são criados por resources do tipo map. Se já deu restart em todos os mods mas o suposto mapa não sumiu, no seu lugar eu faria backup do servidor, deletava tudo dele e depois ia reinstalando os resources 1 por 1.
  23. Da próxima vez utilize o botão <> do fórum para postar códigos. Não cole direto no texto. E a linha 12 do Danilin_S.Lua está errada. Troque aquele source por player.
  24. Leia a descrição da função na Wiki. Está bem óbvio oq ela faz.
×
×
  • Create New...