Jump to content

[M]ister

Members
  • Content Count

    444
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by [M]ister

  1. O evento onMarketHit já está anexado ao marker (arrumar1), o que torna a verificação isElementWithinMarker desnecessária. Eficiencia, a vida de veículos vai de 0-1000 e não 0-100 (como dos peds), e o seu consertar, na realidade tá consertando todos os veículos
  2. function damagersgDayZPlayer(attacker, damagens) local victim = client outputChatBox("Ok",victim) outputChatBox("[INFO] Voce deu Dano de: "..damagens,attacker,255,0,0,true) end addEvent("damagersgDayZPlayer",true) addEventHandler("damagersgDayZPlayer",getRootElement(),damagersgDayZPlayer) victim = player que sofreu dano attacker = player que causou dano
  3. Você não usou guiGridListGetSelectedItem para identificar qual linha/coluna foi selecionada. Dica: Tente fazer tudo com gui que é mais fácil, e se der certo, você muda e coloca algumas frescuras de dx.
  4. "paida" = piada ?? Sim, complexo! Errado quem pensa o contrário... o código ali é Lua, não tem nada de outro mundo, mas a grandeza da codificação/ligações já o torna complexo. Ai já não sei, sugeri com base no perfil/dúvida. Na real tem muita gente que fica criando = (copiando/editando) uns painéis por ai, mas mal sabem lógica de programação... então se for o caso, não quer dizer nada.
  5. @Jonas^ O admin é um resource grande, com alguns trechos complexos e seus módulos todos interligados, certamente precisaria de um certo conhecimento para fazer corretamente essa “cópia”. @#DeltaSCR Sugiro que você pesquise por resources de mensagem privada, pois na comunidade/web existem vários. A lógica de um player escrever um texto em um painel, e chegar até outro player, utiliza-se: triggerClientEvent/triggerServerEvent
  6. Sim, é que ele duplicava os resources, porém os eventos e triggers como estavam iriam interferir em todos, ai se ele muda-se a música em um, ela alterava em outro também. É, o melhor seria adaptar o mesmo resource para suportar essas variações.
  7. Ele quer dois "ambientes" de DJ, no seu código no caso você permite vários markers para abrir o painel, porém a criação do som em um substituirá a de outro, porque não tratou no lado cliente.
  8. Esquecia de alterar aqui... nas linhas 10,24,29 do arquivo server-side, troque root por resourceRoot
  9. Teste lá, duplique os resources (não é o melhor jeito) e mude as posições, acho que agora os eventos/triggers de um não influenciarão no outro. Audio = {} local abrirpainel = createMarker(299.12530517578, -1816.7014160156, 4.3,"cylinder", 2, 0, 255, 0, 100) --- PRAIA function mostrarpainel(thePlayer) triggerClientEvent(thePlayer, "Dj", resourceRoot ) end addEventHandler("onMarkerHit", abrirpainel, mostrarpainel) addEvent ( "CrioDJ", true ) addEventHandler ( "CrioDJ", root, function ( Link ) if ( Link ) then if ( isElement ( Audio [ client ] ) ) then local x,
  10. Sim, eu também não sabia o real significado, só consegui pegar a referência com base no time de futebol Portuguesa que também é conhecida como Lusa, e nas minha aulas de Língua Portuguesa, sobre países lusófonos.
  11. Luso é uma referência à Portugal, só que no caso para relacionar PT/BR deveria ter colocado Luso-brasileiro. Mas como no nome consta "LusoRP PT/BR" acho que é ok a identificação. https://www.dicio.com.br/luso/ https://dicionario.priberam.org/luso-brasileiro
  12. Coloque um output teste antes de verificar se esta na ACL (linha 2). Notei também uma divergência do comando, antes era /arrastar agora está /puxar, está usando o /puxar né ?
  13. Na realidade seria: if not (alvo) then return outputChatBox("[Aviso] Jogador ' "..playerid.." ' não encontrado!", player,255,255,255) end Mas se o seu "alvo" existe, nem entraria nessa verificação. Então não é a causa de não funcionar.
  14. Certo, não apresenta mais erros, mas você está agindo de acordo com as verificações do script ? Está no grupo da ACL ComandosCorporacoes ? Essa função exportada de ID realmente funciona e retorna um player ? Está digitando um ID existente ? Ex: /arrastar 1 O player alvo possui o elementdata “Algemado” ? Você estava a uma distância menor ou igual a 6 unidades do player alvo ? Você estava em um veículo quando usou o comando ?
  15. Como chegou a tal conclusão ? certamente se tivesse usado o /debugscript 3 diversos erros apareceriam, você precisa executar o trecho para que os erros aparecessem: /arrastar Tem um trecho POO incorreto, troque por: if not (alvo) then return outputChatBox("[Aviso] Jogador ' "..alvo.name.." ' não encontrado!", player,255,255,255) end
  16. @brunob22 É válido o pensamento, mas ele precisa executar um trecho de código em tal tempo, e como você varia isso sem o setTimer ? Creio eu que tais soluções seriam menos eficientes ainda quanto ao simples uso do setTimer.
  17. function seguirComando(player, commandName, playerid) if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount (player)), aclGetGroup ("ComandosCorporacoes")) then if not (playerid) then return end local alvo = exports["ID_System"]:getPlayerID(tonumber(playerid)) if not (alvo) then return player:outputChatBox("[Aviso] Jogador ' "..alvo.name.." ' não encontrado!", player,255,255,255) end if getElementData(alvo,"Algemado") then alvox,alvoy,alvoz = getElementPosition (alvo) playerx,playery,playerz = getElementPosition (player) local dist = getDistanceBetweenP
  18. Se eu fosse você, adaptaria o script para ao invés de utilizar MySQL usar o SQLite do MTA Troque sua primeira linha por isso: dbhandler = dbConnect ("sqlite", "whitelist.db") Em relação ao seu arquivo database.sql, provavelmente existe a criação da tabela do whitelist, copie o código dele e rode com dbExec Exemplo: dbExec (dbhandler, "CREATE TABLE IF NOT EXISTS WHITELIST …") @LeeaF você deveria ter criado um tópico novo com sua dúvida, pois o assunto não se relaciona com o tutorial deste tópico.
  19. Dá para fazer esse teste aqui: https://nightly.mtasa.com/ports/ ou digitando openports no console do servidor.
  20. Então executará em outros horários além daquele 17:08 ? É possível também, mas creio que a codificação não será tão trivial quanto para apenas um horário definido. Pensando rapidamente aqui, eu criaria uma tabela com tais horários, percorreria e obteria o getTimestamp* para cada um deles, e com isso faria o cálculo dos milissegundos para criar os setTimers (cada um para um horário). *O trabalho seria verificar se o horário que você ativou o script já é maior, menor ou igual à tais horários definidos, e talvez até precisar verificar quantos dias possui no mês, se o ano é bissexto, para pod
  21. Painéis devem ser criados no lado cliente, o interpolateBetween pode ser utilizado em ambos pois não é uma função exclusivamente para fazer efeitos em painéis, basicamente a função serve para variar um valor x até um valor y. Ou seja, não vai ter como criar sua barra de progresso no lado servidor.
  22. Exato! Você quer executar uma ação quando for x horas ? Caso sim, mantenha o código no lado servidor, mas ao invés de ficar verificando a hora todo instante, basta calcular os milissegundos que possuem do momento que ativar o script até a hora/dia desejado, ai só criar o setTimer com tal valor. Talvez ajude: https://forum.mtasa.com/topic/76253-usando-timestamp/
  23. Exato, se não a referência utilizada seria da função cancelEvent original... rodando o malicioso antes, eu garanto isso: https://i.imgur.com/x0FE5Xq.png
  24. Como ficou a precedência de execução ? Declarou o script “malicioso” antes do outro no meta ? Cada resource fica em um “ambiente”, sendo assim, se tu usar o _G, ele não vai pegar funções/variáveis criadas por outros resources.
  25. Muito provavelmente getPlayerID recebe como argumento o player e retorna o ID, e ali você está passando a variável playerid, que inclusive nem foi declarada... era apenas trocar por thePlayer: local playerID = exports["[PRS]ID_System"]:getPlayerID(thePlayer) Mas como já mencionado pelo @Jonas^, como seu sistema de ID já armazena com setElementData, a chamada na função exportada pode ser evitada.
×
×
  • Create New...