Lord Henry

Members
  • Content Count

    1,759
  • Joined

  • Last visited

  • Days Won

    43

Lord Henry last won the day on April 17

Lord Henry had the most liked content!

Community Reputation

678 MTA Ambassador

About Lord Henry

  • Rank
    Loc
  • Birthday 16/01/1996

Details

  • Gang
    Rockstar South
  • Location
    Brazil
  • Occupation
    Game Developer
  • Interests
    Resource Development, Gamer, Map Design, Staff Management, MTA Forum Portuguese Section Helper

Recent Profile Visitors

4,210 profile views
  1. Lord Henry

    [DUVIDA]Vip

    @#DeltaSCR Vc quis dizer server-side
  2. Lord Henry

    Editar chat "t"

    @Gabriel63495 Use este botão em vez de colar código direto no texto.
  3. Lord Henry

    [Duvida] getElementHealth trailer

    Editei o comentário acima.
  4. Lord Henry

    [Duvida] getElementHealth trailer

    Isso não faz sentido! Aquele terceiro print faz exatamente a mesma coisa que no seu script, ele pega a vida da carga e mostra no debug. Não tem como dar erro na sua comparação por valor booleano. Edit: NOOSSAAA! Descobri! No seu script vc fez assim: if not getElementHealth( Carga_Disel ) <= 350 then -- Se (não número) é menor ou igual a 350, então: -- QUE É O MESMO QUE: Se (false) é menor ou igual a 350, então: ERRO -- Mas vc quis dizer: if not (getElementHealth (Carga_Disel) <= 350) then -- Se (vida da carga NÃO É menor ou igual a 350), então: -- Que seguindo uma lógica mais otimizada de acordo com as boas práticas de programação, pode ser escrita como: if (getElementHealth (Carga_Disel) > 350) then -- Se (vida da carga é maior que 350), então: Faça assim: if getElementHealth (Carga_Disel) > 350 then
  5. Lord Henry

    Discord para discutir sobre MTA, 100% brasileiro.

    Prefiro o Discord Oficial do MTA e ir na sala Português. https://mtasa.com/discord
  6. Lord Henry

    [Duvida] getElementHealth trailer

    Hum... Parece ser um elemento mesmo. Não era pra gerar erro. Troque a linha do print por esses: print ("É elemento: "..tostring(isElement (Carga_Disel))) print ("Tipo de elemento: "..tostring(getElementType (Carga_Disel))) print ("Vida do elemento: "..tostring(getElementHealth (Carga_Disel)))
  7. Lord Henry

    Questão- Como retirar o chat

    O T é um chat global, não local. A não ser que vc tenha um script que altere isso. Nesse caso, delete o script de chat modificado. Se estiver usando o chat global nativo do MTA, faça como já foi mencionado pelo nosso colega @Jonas^
  8. Lord Henry

    Ajuda sobre inventario

    @#Delta vai dar erro na linha 4.
  9. Lord Henry

    [Duvida] getElementHealth trailer

    Antes da linha if not getElementHealth( Carga_Disel ) <= 350 then Coloque isso e nos diga o que aparece. print ("Carga_Disel: "..tostring(Carga_Disel))
  10. Faça os DX com um tamanho fixo. Depois pegue a resolução do jogador com guiGetScreenSize e subtraia pelo tamanho fixo do DX.
  11. Lord Henry

    Salvamento

    ---------------------------- SALVAR function onPlayerQuitOrResStop (prevAcc, _) if eventName == "onResourceStop" then for i, player in ipairs(getElementsByType("player")) do savePlayerData (player) end elseif eventName == "onPlayerQuit" then savePlayerData (source) elseif eventName == "onPlayerLogout" then -- Neste caso, só é possível salvar na conta que o jogador estava logado por meio do parâmetro de função. Se usar getPlayerAccount agora, vai retornar conta Guest. savePlayerData (source, prevAcc) end end addEventHandler ("onResourceStop", resourceRoot, onPlayerQuitOrResStop) addEventHandler ("onPlayerQuit", getRootElement(), onPlayerQuitOrResStop) addEventHandler ("onPlayerLogout", getRootElement(), onPlayerQuitOrResStop) function loadMyData (_, currAcc) if eventName == "onResourceStart" then -- Foi esperto usar isso para aproveitar a mesma função para eventos diferentes. for i, player in ipairs(getElementsByType("player")) do loadPlayerData (player) end elseif eventName == "onPlayerLogin" then loadPlayerData (source, currAcc) end end addEventHandler ("onResourceStart", resourceRoot, loadMyData) -- Não se usa nome de função igual nome de evento, por isso troquei. addEventHandler ("onPlayerLogin", getRootElement(), loadMyData) -- Recomenda-se colocar os eventos logo após as funções que eles vão ativar, para facilitar a leitura. function savePlayerData (p, acc) local playeraccount = false -- Cria a variável local. if acc then playeraccount = acc -- playerAccount = conta que o jogador ESTAVA logado. Esta variável ainda é local, aqui apenas foi atribuido valor a ela. else playeraccount = getPlayerAccount (p) end if (playeraccount) and not isGuestAccount (playeraccount) then --local trabalhotr = playerTraficante[p] or "n/a" local ax = playerAx[p] local coca = playerCoca[p] local bagulho = playerBagulho[p] local IngAx1 = playerIngAx1[p] local IngAx2 = playerIngAx2 [p] local IngCoca1 = playerIngCoca1 [p] local IngCoca2 = playerIngCoca2 [p] local IngCoca3 = playerIngCoca3 [p] local sementes = playerSementes [p] setAccountData (playeraccount, "droga.ax", ax) setAccountData (playeraccount, "droga.coca", coca) setAccountData (playeraccount, "droga.maconha", bagulho) setAccountData (playeraccount, "droga.ingax1", IngAx1) setAccountData (playeraccount, "droga.ingax2", IngAx2) setAccountData (playeraccount, "droga.ingcoca1", IngCoca1) setAccountData (playeraccount, "droga.ingcoca2", IngCoca2) setAccountData (playeraccount, "droga.ingcoca3", IngCoca3) setAccountData (playeraccount, "droga.sementes", sementes) end end function loadPlayerData (p, acc) local playeraccount = false if acc then playeraccount = acc else playeraccount = getPlayerAccount (p) end if (playeraccount) and not isGuestAccount (playeraccount) then local ax = getAccountData (playeraccount, "droga.ax") -- Não precisa do 'or false' pois a função getAccountData já retornará false caso a data não exista. local coca = getAccountData (playeraccount, "droga.coca") local bagulho = getAccountData (playeraccount, "droga.maconha") local IngAx1 = getAccountData (playeraccount, "droga.ingax1") local IngAx2 = getAccountData (playeraccount, "droga.ingax2") local IngCoca1 = getAccountData (playeraccount, "droga.ingcoca1") local IngCoca2 = getAccountData (playeraccount, "droga.ingcoca2") local IngCoca3 = getAccountData (playeraccount, "droga.ingcoca3") local sementes = getAccountData (playeraccount, "droga.sementes") if (ax) then setElementData (p, "droga.ax", ax) end -- Passa todas as accountDatas para elementData (isso pesa bastante no servidor, tenha certeza do que está fazendo.) if (coca) then setElementData (p, "droga.coca", coca) end -- Está correto em manter datas parecidas com um índice separado pelo ponto. if (bagulho) then setElementData (p, "droga.maconha", bagulho) end if (IngAx1) then setElementData (p, "droga.ingax1", IngAx1) end if (IngAx2) then setElementData (p, "droga.ingax2", IngAx2) end if (IngCoca1) then setElementData (p, "droga.ingcoca1", IngCoca1) end if (IngCoca2) then setElementData (p, "droga.ingcoca2", IngCoca2) end if (IngCoca3) then setElementData (p, "droga.ingcoca3", IngCoca3) end if (sementes) then setElementData (p, "droga.sementes", sementes) end end end Não testado. Se tiver erros, mostre o /debugscript 3
  12. Lord Henry

    Lista Relatório [Add Item]

    Depende muito da forma com que vc está tratando os dados. Vc apaga essa lista ao sair do baú? Ou é uma lista permanente? Eu usaria tables. Cada table iria salvar os itens de cada baú. Fica bem difícil opinar quando não se faz ideia alguma de como o sistema funciona.
  13. Lord Henry

    A number Value Erro

    Tá muito bonito vc resolvendo os problemas pra ele, mas seria interessante vc também explicar o motivo do erro. Senão ele só vai copiar e n vai entender o que estava errado.
  14. Lord Henry

    [Duvida] getElementHealth trailer

    A variável Carga_Diesel está com erro. Mas sim, é possível checar a vida de uma carga anexada ao caminhão. Mande a parte do código onde vc declara a variável Carga_Diesel.
  15. Lord Henry

    [Duvida] getElementHealth trailer

    Carga_Diesel não é um elemento válido para ter vida. Sendo assim, getElementHealth retornou false. E não tem como comparar booleano com número.