×

Langue

Fermer
Atelier 801
  • Forums
  • Dev Tracker
  • Connexion
    • English Français
      Português do Brasil Español
      Türkçe Polski
      Magyar Română
      العربية Skandinavisk
      Nederlands Deutsch
      Bahasa Indonesia Русский
      中文 Filipino
      Lietuvių kalba 日本語
      Suomi עברית
      Italiano Česky
      Hrvatski Slovensky
      Български Latviešu
      Estonian
  • Langue
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Script] storage
[Script] storage
Hydroper
« Citoyen »
1478532720000
    • Hydroper#0528
    • Profil
    • Derniers messages
    • Tribu
#1
  0
  • I
  • Doc.
  • Instalação
storage

Pacote para pré-processar uma parte da API usada para carregar e salvar:

  • dados individuais de jogadores
  • e arquivos.

Objetivos:

  • Substituir dados por valores lunáticos
  • Dinamicalizar os eventos
  • Funcionar em qualquer sala

Documentação

Pacote:

a dit :
table storage


  • Guias

    • Modos

      Existem 2 modos: funcional e virtual.

      O modo virtual não usa os métodos de armazenamento da API.
      Mas o modo funcional usa.

      O modo virtual é o padrão no cafofo, e pode ser desativado:

      Exemplo

      Code Lua

      1
      storage.setMode(0);


      O modo funcional não funciona no cafofo porque a API é bloqueada.

    • Dados

      Os dados de jogadores são interpretados como valores do Lua.

      Os tipos atualmente disponíveis são: number, boolean, table, string e nil.

      As tabelas nunca são referenciadas, mas imitadas (sem metatable).

      Os bytes de uma string são seguidos de uma coleção não fixa de bytes indicando quantos bytes existem nela.

    • Pré-carregamento

      Pré-carregando o valor de um jogador com 2 maneiras diferentes:

      *
      Usando data:load()

      Code Lua

      1
      2
      3
      4
      5
      data:load():next(function()
      print 'Sucesso';
      end, function()
      print 'Falha';
      end);

      *
      Usando data:preload()

      Code Lua

      1
      2
      3
      4
      5
      data:preload():next(function()
      print 'Sucesso';
      end, function()
      print 'Falha';
      end);


      O método data->load() carrega os dados do jogador.
      O método data->preload() só carrega os dados se não estiverem carregados.


  • Funções públicas

      setMode ( mode )


      Define o modo de armazenamento.


      Parâmetros:

      • (number) mode: Novo modo (0 = Funcional, 1 = Virtual)


      Retornos:

        ---


      linkEvents ()


      Linka os eventos requeridos do TFM.

      Retornos:

        ---



  • Classes públicas

      class Data


      Classe utilizada para carregar e salvar dados (ou em outras palavras, valor lunático) de um jogador.

      Construtor

        Data ( player )


        Constrói a classe Data.


        Parâmetros:

        • (string) player: Nome do jogador


        Retornos:

        • (Data) Uma instância de Data.




      Métodos públicos

      • get ()


        Devolve o valor atual do jogador.


        Excepções:

        • Caso os dados do jogador não estejam pré-carregados.


        Retornos:

        • (*) Indeterminado


      • load ()


        Carrega os dados do jogador.

        Retornos:

        • (Lazy) Instância de uma classe interna.


        Alternativa:

        • preload()


      • preload ()


        Pré-carrega os dados do jogador se necessário.

        Retornos:

        • (Lazy) Instância de uma classe interna.


        Alternativa:

        • load()


      • save ()


        Armazena o valor atual do jogador no módulo.


        Excepções:

        • Caso os dados do jogador não estejam pré-carregados.


        Retornos:

        • (boolean) Se começou à ser salvo ou não.


      • set ( value? )


        Define o valor atual do jogador.


        Parâmetros:

        • (*, opcional) value: O novo valor


        Retornos:

          ---




    • class File

      Incompleto.


  • Classes internas

      class Lazy


      A classe permite acumular funções conhecidas como callbacks;
      que depois são executadas de acordo com seu estado.

      Possíveis estados do Lazy: Na Cama, Resolvido e Rejeitado.


      Métodos públicos

      • catch ( onReject )


        Declara um callback para o estado Rejeitado.


        Parâmetros:

        • (function) onReject: Um callback


        Retornos:

        • (Lazy) O mesmo objeto (Lazy).


      • next ( onResolve, onReject? )


        Declara callbacks para os estados Resolvido e Rejeitado.


        Parâmetros:

        • (function) onResolve: Callback do estado Resolvido
        • (function, opcional) onReject: Callback do estado Rejeitado


        Retornos:

        • (Lazy) Objeto base.




  • Campos públicos

      table events


      (table) Uma tabela contendo funções para eventos: eventFileLoaded, eventFileSaved e eventPlayerDataLoaded


  • Constantes públicas

      string VERSION


      (string) Descreve a versão atual do pacote.



  • Instalação

    Códigos (incluem pequenos créditos):

      Código-fonte

      R.I.P

      Compresso

      R.I.P
      P.S.: as locals não foram mescladas.



    Cole um dos códigos acima dentro do seu código (recomendo colar no topo), depois linke os eventos manualmente:

    Atalho para linkar eventos

    Code Lua

    1
    storage.linkEvents();


    Se você ainda faz uso dos eventos eventFileLoaded, eventFileSaved ou eventPlayerDataLoaded então chame-os individualmente na tabela storage.events.

    Repositório no GitHub: https://github.com/hydroper/storage


    Dernière modification le 1485950820000
    Impressorahp
    « Citoyen »
    1478532840000
      • Impressorahp#2775
      • Profil
      • Derniers messages
      • Tribu
    #2
      0
    Interessante, quase entendi
    Mescouleur
    « Citoyen »
    1478595600000
      • Mescouleur#0000
      • Profil
      • Derniers messages
    #3
      0
    Boiei . . .
    Igortieni
    « Citoyen »
    1478605560000
      • Igortieni#0000
      • Profil
      • Derniers messages
      • Tribu
    #4
      0
    vai ser util
    Hydroper
    « Citoyen »
    1485950760000
      • Hydroper#0528
      • Profil
      • Derniers messages
      • Tribu
    #5
      0
    Para quem estava confuso, atualizei a documentação e inclusivemente o código (meu notebook nem estava ligando esses dias -.-)

    O que está faltando:

    • Terminar a classe File
    • Arranjar uma maneira apropriada de documentar o código automaticamente


    Dernière modification le 1485951840000
    Contistente
    « Citoyen »
    1486582020000
      • Contistente#0000
      • Profil
      • Derniers messages
      • Tribu
    #6
      0
    '--' não vejo utilidade, se a pessoa for dev é só usar saveFile/saveData
    Hydroper
    « Citoyen »
    1486597440000
      • Hydroper#0528
      • Profil
      • Derniers messages
      • Tribu
    #7
      0
    Contistente a dit :
    '--' não vejo utilidade, se a pessoa for dev é só usar saveFile/saveData

    Tem sim utilidade, mas infelizmente você não compreende o tópico :x

    P.S., o código mesmo refeito parece estar um pouco ilegível. Enfim, eu ainda estou refazendo o código novamente.
    Bloom
    « Héliaste »
    1535320560000
      • Bloom#6766
      • Profil
      • Derniers messages
    #8
      1
    Parabéns
    • Forums
    • /
    • Transformice
    • /
    • Modules
    • /
    • [Script] storage
    © Atelier801 2018

    Equipe Conditions Générales d'Utilisation Politique de Confidentialité Contact

    Version 1.27