Jump to content

ber

Members
  • Posts

    167
  • Joined

  • Last visited

  • Days Won

    1

ber last won the day on December 16 2020

ber had the most liked content!

3 Followers

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ber's Achievements

Busta

Busta (15/54)

25

Reputation

  1. Existe um script nativo no MTA que já faz isso, só digitar 'start headshot' no console (F8).
  2. Basicamente salvar uma tabela usada nos códigos lua diretamente no SQL dá ruim, o toJSON e fromJSON servem para fazer essa conversão. Aqui o exemplo de um sistema de inventário, onde quando o player sai do servidor, o inventário dele (que é uma tabela) é convertido usando o toJSON e depois hospedado no SQLite: function onQuit() local id_ = getElementData(source, "ID") local inv_ = toJSON(inventario[source]) executeSQLQuery("UPDATE inventario_players SET inv=? WHERE id=?", inv_, id_) end addEventHandler("onPlayerQuit", root, onQuit) E agora para pegar a tabela no SQLite quando o player logar no servidor, convertê-la e setar como o inventário do jogador: function onLogin() local id_ = getElementData(source, "ID") local data = executeSQLQuery("SELECT inv FROM inventario_players WHERE id=?", id_) inventario[source] = {} inventario[source] = fromJSON(data[1]["inv"]) end addEventHandler("onPlayerLogin", root, onLogin)
  3. Não sabia que exports no onClientRender era tão prejudicial assim. Então criar um servidor inteiro usando dgs ao invés de dx ou gui não é recomendado?
  4. addEventHandler("onResourceStop") for getElementsByType("vehicle") getElementPosition executeSQLQuery(INSERT/UPDATE) addEventHandler("onResourceStart") executeSQLQuery(SELECT) createVehicle Essas são as principais funções e eventos necessários para fazer o que deseja.
  5. Basicamente faça um for nessa tabela e procure o nome que contém as letras digitadas usando string.find
  6. Existe alguma vantagem, além de organização, em criar uma db SQLite exclusiva para cada script ao invés de utilizar a função executeSQLQuery e salvar os dados no registry.db?
  7. Adicionar em todo código funções useful (isMouseInPosition, countPlayersInRange, numberFormat, etc.) dá um trabalho e uma poluição no código. E se, ao invés de adicioná-las em cada código, inserir todas em um script separado e puxar elas através de export? Imagino que seja possível, mas gostaria de saber se isso afetaria negativamente o server em questão de desempenho ou é uma diferença praticamente nula? Essa diferença é maior caso seja uma function usada dentro de um onClientRender (numberFormat por exemplo), visto que ficará chamando o export a todo instante?
  8. comandos = {"test1", "test2", "test3", "test4"} for i, v in pairs(comandos) do addCommandHandler(v, funcaoTeste) end funcaoTeste(playerSource) outputChatBox("comando executado", playerSource) end
  9. local aba = "inicio" function render() if aba == "inicio" then [...] elseif aba == "player" then [...] end end function onClick(button, state) if isCursorOnElement(...) then aba = "player" end end addEventHandler("onClientClick", root, onClick) Aí um pequeno exemplo. Basicamente, você vai usar uma variável para guardar a página do painel que o player está atualmente, e fazer a mudança dela de acordo de onde o player clica, e no onClientRender basta usar um if para ver em qual página está, e dependendo da página é exibido um layout diferente no painel DX.
  10. São resources do meu próprio servidor, eu não os comercializo. E eu sou o único que tenho acesso à host, então se vazou algo foi por má fé da própria host, como já aconteceu algumas vezes na comunidade. E bem, se ainda sim isso continua sendo ilegal, estou disposto à correr este risco, pois não vou ficar 15 dias igual um desgraçado fazendo resources para um preguiçoso pagar uma merreca pra host, pegar o script e colocar no server dele como se nada tivesse acontecido.
  11. Tenho um sistema de recoil e infelizmente ele também é apenas horizontal, já joguei servidores de PUBG e não sei como mas eles conseguiram fazer um recoil vertical
  12. Sim, desta maneira você pega a vida ou nível de procurado do player atual e soma com o valor inserido depois.
  13. setPlayerWantedLevel(player, getPlayerWantedLevel(player) + 1)
  14. Basicamente você irá usar essas funções: guiCreateEdit guiGetText triggerServerEvent addAccount LogIn
  15. setAccountData onClientGUIChanged getAccount getAccountData Vai dar um trabalho porque vai usar muitos triggers, não sei se vale a pena...
×
×
  • Create New...