Ir para conteúdo

Explicando a discussão sobre o desempenho do Script [Completo] [Debate]


!Afonso

Posts Recomendados

Eu comecei minha jornada no desenvolvimento de servidores de Minecraft com o Skript, lá em 2015, mas percebi que se eu podia aprender Skript, por que não aprender Java e ter "algo a mais" no currículo(pensando no futuro, é logico)...

Foi ai que um velho amigo meu, @Karamujo, ele me incentivou a começar o desenvolvimento de plugins(eu comecei antes de conhecer ele, mas ele me ajudou e MUITO) e de lá pra cá só veio progresso, atrás de progresso. Fiquei cerca de 2 anos desenvolvendo Bukkit e agora migrei para o desenvolvimento Android e vou te falar uma coisa... COMPENSA!

 

Em relação ao tópico, li alguns trechos(é muito texto)... mas no final de tudo, o Java é uma opção melhor. Parabéns!

Link para o comentário
Compartilhar em outros sites

Boa explicação e, um bom tópico. Mas o que o Alex disse é melhor aprender mesmo o JAVA e fazer algo sem perigos algum. Mas se caso você gosta e opta pelo skript, vá em frente. 
Lembrando que é minha opinião.


Eu mesmo opto por usar um plugin do que Skripts, pois conheço mais como funciona os plugins. E algumas pessoas me disseram que ele laga muito o servidor, mas não sei se é verdade.

Link para o comentário
Compartilhar em outros sites

Em 11/06/2017 em 03:51, !Afonso disse:

Olá, sou o Afonso e hoje vim para explicar algumas coisas do Skript.

 

Comparar uma linguagem de programação padrão que é usado em várias plataformas para construir qualquer pedaço de software para uma linguagem de script para um jogo particular. Se você quer saber qual o mais poderoso, sem dúvidas é o Java sem discussão, se skript é prático, é de se debater.

 

Agora, se tudo que você quer fazer são scripts que ficam completamente no âmbito do Minecraft e não precisam implementar qualquer coisa fora do que as ferramentas atuais fornece com Skript, use-o. Um script poderá muito bem substituir um plugin, porém se você sabe java é bem melhor usar um plugin, mas não há nada de errado em usar script.

Minha única queixa com script é a implementação real. A documentação e a própria linguagem é escorregadia, mas quando você olha pra fonte em Java é interpretada. Usar um script grande ou pequeno não faz a mínima diferença se estiver programado certo, mas tenha em mente que:
- Seu código será difícil de organizar devido à linguagem não ter nenhum modelo OOP
- Seu código será radicalmente mais lento do que escrever com a mesma funcionalidade em Java.

Se você quer usar script para nada intensivo, e que não precisem de uma estrutura OOP vá em frente e use Script, caso contrário é melhor olhar para o Java (ou Lua através Lukkit ou Python através de um dos vários carregadores Python plug-in).

Para qualquer um que argumenta que skript não tem sérios problemas de desempenho, o melhor que tem para melhorar sua situação está a serialização de código skript em expressões representadas por objetos em Java (então tecnicamente há uma certa quantidade de processamento que acontece de antemão, mas está longe de ser ideal.) Após este processo, você está executando um script que se traduz em toneladas e toneladas de chamadas para estas expressões, cada uma representada por seus próprios objetos. Isso é ridículo quando comparado com a sobrecarga de opcodes em bytecode Java.

Vamos comparar isso a um nível muito baixo. Trabalhando com variáveis primitivas no nível de bytecode em Java é quase (se não tão rápido) como o código nativo C/C++.

bipush 5
istore_0

 

Duas instruções que são tratadas muito rapidamente pela JVM e o compilador JIT.

Apenas para criar alguma medida sobre esta lacuna, eu vou mostrar como LuaJ (que compila fonte Lua para bytecode Java) faria isso:

 

aload_0

new #2; //class org/luaj/vm2/LuaValue

invokespecial #3; //Method LuaValue."<init>"

Este é apenas para instanciar um objeto, e faz um monte no fundo (alocar uma quantia de memória para a classe, usando invokespecial, etc.)

Há mais depois desta se a variável é global: o valor é então adicionado à tabela de globals (ou a mesa para o escopo atual se é uma variável local) o que geraria 40 linhas de bytecode, lotes de hashing e outras coisas acontecendo.

Esta é uma enorme quantidade de processamento para declarar uma única variável . Este é com uma biblioteca comumente usado, poderoso chamado LuaJ. 

 
Skript vai uma magnitude pior do que isso. Uma vez que não instrumento ou gerar qualquer coisa no nível de bytecode, cada operação em si vai se traduzir em uma chamada de uma das expressões no contexto atual que skript-lo funcionando em - assim instanciar algo teria que ser feito através de um objeto de expressão , no topo de instanciar uma classe para o tipo skript abstrato. 
 
Ele não pára por aí. Coisas ridículas como laços que se possam traduzir em um único Goto opcode em LuaJ ou Java está realmente envolvido em suas próprias expressões e são executadas por eles também, que referenciar uma lista de execuções que têm de ser iterado, chamando aquelas subjacentes expressões bem - uma quantidade ridícula de sobrecarga para programação simples, fundamental. 

Se você quer aprender programação também recomendo java antes de script. Ajuda no longo prazo, ganhar experiência de uma linguagem de programação. Acostume-se a sintaxe de praticamente todas as línguas. O que quero dizer é quando você aprender uma linguagem de programação (como Java) não é difícil de aprender outra.

Se você sabe como usar Skript, você pode conseguir muito semelhantes, se não exatamente os mesmos resultados a partir de quando você desenvolver um plugin em java. Skript vem com algumas limitações óbvias, no entanto, eu imagino que essas limitações sendo questões bastante complexas. E se eles são complexos, eles vão ser complexa em java, bem como, o que significa que você provavelmente não vai usar esse tipo de funções por alguns anos de qualquer maneira. Assim, apesar de tudo, eu acredito que se você não está disposto a dedicar tempo para aprender uma linguagem como java ou você só vai estar usando suas habilidades para criação de plugins para o seu servidor, acredito que skript será o ajuste perfeito para você(não pra tudo). Claro que seus projetos não estão indo para ser perfeito na primeira vez e aqueles projetos são provavelmente a vez que você encontrou ser de baixa qualidade e inútil.
 
Skript é basicamente um DSL interpretado. Skript não é apenas para tarefas simples. Você pode fazer pleno direito modos de jogo, minigames e toda uma série de características diferentes. 
Skript - Extremamente fácil de usar e desenvolvimento é rápido, mas seus usos são limitados; completa API torneira / bukkit não pode ser acessado significado há certas coisas que não pode fazer. 
 
Java: Útil no 'mundo real', mais apoio e ajuda disponível, mais APIs, mas muito, o desenvolvimento muito mais lento.  Eu acredito que é uma linguagem de script fortemente subestimado com grande potencial para aqueles que são novos para a programação. 
Skript é certamente uma forma legal e simples de ir sobre a implementação de novas funcionalidades, mas é longe de ser tão poderoso como Java. Em Java, você pode escrever muito bem o que você quer (única limitação é o que a linguagem não pode fazer). Criando, por exemplo, uma representação estilo REST do seu servidor é muito menos trabalho em Java do que em Skript (provavelmente?) - tudo que você precisa são algumas bibliotecas e você está pronto para ir! Em Skript, você está limitado a tudo o que vem com Skript ou um add-on. Deseja estender o conjunto de recursos de Skript com um add-on? You'l precisa saber Java para fazer isso! 
 
Java Prós:
rico em recursos
Muito poderoso
documentação Superb (a maioria das bibliotecas e os javadocs núcleo API)
IDEs são extremamente úteis
gerenciamento de dependência (Maven / Gradle)
Java Contras:
Pode demorar um pouco para se acostumar com
Compilar, correção de bug, recompilar ...
Skript Prós:
design simples que não impõe muitos limites (em relevância para Minecraft jogo)
documentação de alta qualidade
On-the-fly roteiro recarregando
Crescente número de add-ons
Skript Contras:
Precisa de add-ons para ir além do escopo do mecanismo de script principal. não existem add-ons para suas necessidades? Acho que eu deveria usar Java para fazer um ...
Não há IDEs (que eu sei de um plugin Texto Sublime, mas eu não chamaria isso de um IDE)

Também não devemos esquecer os outros motores de script, como Denizen e CommandHelper! : 3
 
Conclusão: Quer usar script? Use-o sem problemas, porém use os scripts certos. Uma pessoa que começou com essa discussão toda (MrPower) reclamou que os scripts ferraram o servidor dele, eu sigo comigo "parece que o jogo virou não é mesmo?", porque eu dizia que os scripts dele de evento estavam programados de uma forma que lagaria e ninguém nem sabia que eu existia. Cara, se você quer aprender uma linguagem vá aprender Java, script é muito bom para ser usado, tem os add-ons para muitas precisões.. Eu mesmo já tive servidores com scripts e deram muito certo, o bom é mesclar.

Quem for comentar algo abaixo/quiser implementar algo aqui me mande um MP vou colocar com o devido crédito, porém vou analisar antes. Também pode ser um debate,  diga seus questionamentos abaixo. Se vocês gostaram do tópico deixem um
curtir e é isso.

 

Você sabia que linguagem funcional é melhor do que lang OOP ?

Link para o comentário
Compartilhar em outros sites

Em 11/06/2017 em 03:51, !Afonso disse:

Olá, sou o Afonso e hoje vim para explicar algumas coisas do Skript.

 

Comparar uma linguagem de programação padrão que é usado em várias plataformas para construir qualquer pedaço de software para uma linguagem de script para um jogo particular. Se você quer saber qual o mais poderoso, sem dúvidas é o Java sem discussão, se skript é prático, é de se debater.

 

Agora, se tudo que você quer fazer são scripts que ficam completamente no âmbito do Minecraft e não precisam implementar qualquer coisa fora do que as ferramentas atuais fornece com Skript, use-o. Um script poderá muito bem substituir um plugin, porém se você sabe java é bem melhor usar um plugin, mas não há nada de errado em usar script.

Minha única queixa com script é a implementação real. A documentação e a própria linguagem é escorregadia, mas quando você olha pra fonte em Java é interpretada. Usar um script grande ou pequeno não faz a mínima diferença se estiver programado certo, mas tenha em mente que:
- Seu código será difícil de organizar devido à linguagem não ter nenhum modelo OOP
- Seu código será radicalmente mais lento do que escrever com a mesma funcionalidade em Java.

Se você quer usar script para nada intensivo, e que não precisem de uma estrutura OOP vá em frente e use Script, caso contrário é melhor olhar para o Java (ou Lua através Lukkit ou Python através de um dos vários carregadores Python plug-in).

Para qualquer um que argumenta que skript não tem sérios problemas de desempenho, o melhor que tem para melhorar sua situação está a serialização de código skript em expressões representadas por objetos em Java (então tecnicamente há uma certa quantidade de processamento que acontece de antemão, mas está longe de ser ideal.) Após este processo, você está executando um script que se traduz em toneladas e toneladas de chamadas para estas expressões, cada uma representada por seus próprios objetos. Isso é ridículo quando comparado com a sobrecarga de opcodes em bytecode Java.

Vamos comparar isso a um nível muito baixo. Trabalhando com variáveis primitivas no nível de bytecode em Java é quase (se não tão rápido) como o código nativo C/C++.

bipush 5
istore_0

 

Duas instruções que são tratadas muito rapidamente pela JVM e o compilador JIT.

Apenas para criar alguma medida sobre esta lacuna, eu vou mostrar como LuaJ (que compila fonte Lua para bytecode Java) faria isso:

 

aload_0

new #2; //class org/luaj/vm2/LuaValue

invokespecial #3; //Method LuaValue."<init>"

Este é apenas para instanciar um objeto, e faz um monte no fundo (alocar uma quantia de memória para a classe, usando invokespecial, etc.)

Há mais depois desta se a variável é global: o valor é então adicionado à tabela de globals (ou a mesa para o escopo atual se é uma variável local) o que geraria 40 linhas de bytecode, lotes de hashing e outras coisas acontecendo.

Esta é uma enorme quantidade de processamento para declarar uma única variável . Este é com uma biblioteca comumente usado, poderoso chamado LuaJ. 

 
Skript vai uma magnitude pior do que isso. Uma vez que não instrumento ou gerar qualquer coisa no nível de bytecode, cada operação em si vai se traduzir em uma chamada de uma das expressões no contexto atual que skript-lo funcionando em - assim instanciar algo teria que ser feito através de um objeto de expressão , no topo de instanciar uma classe para o tipo skript abstrato. 
 
Ele não pára por aí. Coisas ridículas como laços que se possam traduzir em um único Goto opcode em LuaJ ou Java está realmente envolvido em suas próprias expressões e são executadas por eles também, que referenciar uma lista de execuções que têm de ser iterado, chamando aquelas subjacentes expressões bem - uma quantidade ridícula de sobrecarga para programação simples, fundamental. 

Se você quer aprender programação também recomendo java antes de script. Ajuda no longo prazo, ganhar experiência de uma linguagem de programação. Acostume-se a sintaxe de praticamente todas as línguas. O que quero dizer é quando você aprender uma linguagem de programação (como Java) não é difícil de aprender outra.

Se você sabe como usar Skript, você pode conseguir muito semelhantes, se não exatamente os mesmos resultados a partir de quando você desenvolver um plugin em java. Skript vem com algumas limitações óbvias, no entanto, eu imagino que essas limitações sendo questões bastante complexas. E se eles são complexos, eles vão ser complexa em java, bem como, o que significa que você provavelmente não vai usar esse tipo de funções por alguns anos de qualquer maneira. Assim, apesar de tudo, eu acredito que se você não está disposto a dedicar tempo para aprender uma linguagem como java ou você só vai estar usando suas habilidades para criação de plugins para o seu servidor, acredito que skript será o ajuste perfeito para você(não pra tudo). Claro que seus projetos não estão indo para ser perfeito na primeira vez e aqueles projetos são provavelmente a vez que você encontrou ser de baixa qualidade e inútil.
 
Skript é basicamente um DSL interpretado. Skript não é apenas para tarefas simples. Você pode fazer pleno direito modos de jogo, minigames e toda uma série de características diferentes. 
Skript - Extremamente fácil de usar e desenvolvimento é rápido, mas seus usos são limitados; completa API torneira / bukkit não pode ser acessado significado há certas coisas que não pode fazer. 
 
Java: Útil no 'mundo real', mais apoio e ajuda disponível, mais APIs, mas muito, o desenvolvimento muito mais lento.  Eu acredito que é uma linguagem de script fortemente subestimado com grande potencial para aqueles que são novos para a programação. 
Skript é certamente uma forma legal e simples de ir sobre a implementação de novas funcionalidades, mas é longe de ser tão poderoso como Java. Em Java, você pode escrever muito bem o que você quer (única limitação é o que a linguagem não pode fazer). Criando, por exemplo, uma representação estilo REST do seu servidor é muito menos trabalho em Java do que em Skript (provavelmente?) - tudo que você precisa são algumas bibliotecas e você está pronto para ir! Em Skript, você está limitado a tudo o que vem com Skript ou um add-on. Deseja estender o conjunto de recursos de Skript com um add-on? You'l precisa saber Java para fazer isso! 
 
Java Prós:
rico em recursos
Muito poderoso
documentação Superb (a maioria das bibliotecas e os javadocs núcleo API)
IDEs são extremamente úteis
gerenciamento de dependência (Maven / Gradle)
Java Contras:
Pode demorar um pouco para se acostumar com
Compilar, correção de bug, recompilar ...
Skript Prós:
design simples que não impõe muitos limites (em relevância para Minecraft jogo)
documentação de alta qualidade
On-the-fly roteiro recarregando
Crescente número de add-ons
Skript Contras:
Precisa de add-ons para ir além do escopo do mecanismo de script principal. não existem add-ons para suas necessidades? Acho que eu deveria usar Java para fazer um ...
Não há IDEs (que eu sei de um plugin Texto Sublime, mas eu não chamaria isso de um IDE)

Também não devemos esquecer os outros motores de script, como Denizen e CommandHelper! : 3
 
Conclusão: Quer usar script? Use-o sem problemas, porém use os scripts certos. Uma pessoa que começou com essa discussão toda (MrPower) reclamou que os scripts ferraram o servidor dele, eu sigo comigo "parece que o jogo virou não é mesmo?", porque eu dizia que os scripts dele de evento estavam programados de uma forma que lagaria e ninguém nem sabia que eu existia. Cara, se você quer aprender uma linguagem vá aprender Java, script é muito bom para ser usado, tem os add-ons para muitas precisões.. Eu mesmo já tive servidores com scripts e deram muito certo, o bom é mesclar.

Quem for comentar algo abaixo/quiser implementar algo aqui me mande um MP vou colocar com o devido crédito, porém vou analisar antes. Também pode ser um debate,  diga seus questionamentos abaixo. Se vocês gostaram do tópico deixem um
curtir e é isso.

 

Você sabia que linguagem funcional é melhor do que lang OOP ?

Link para o comentário
Compartilhar em outros sites

Em 11/06/2017 em 03:51, !Afonso disse:

Olá, sou o Afonso e hoje vim para explicar algumas coisas do Skript.

 

Comparar uma linguagem de programação padrão que é usado em várias plataformas para construir qualquer pedaço de software para uma linguagem de script para um jogo particular. Se você quer saber qual o mais poderoso, sem dúvidas é o Java sem discussão, se skript é prático, é de se debater.

 

Agora, se tudo que você quer fazer são scripts que ficam completamente no âmbito do Minecraft e não precisam implementar qualquer coisa fora do que as ferramentas atuais fornece com Skript, use-o. Um script poderá muito bem substituir um plugin, porém se você sabe java é bem melhor usar um plugin, mas não há nada de errado em usar script.

Minha única queixa com script é a implementação real. A documentação e a própria linguagem é escorregadia, mas quando você olha pra fonte em Java é interpretada. Usar um script grande ou pequeno não faz a mínima diferença se estiver programado certo, mas tenha em mente que:
- Seu código será difícil de organizar devido à linguagem não ter nenhum modelo OOP
- Seu código será radicalmente mais lento do que escrever com a mesma funcionalidade em Java.

Se você quer usar script para nada intensivo, e que não precisem de uma estrutura OOP vá em frente e use Script, caso contrário é melhor olhar para o Java (ou Lua através Lukkit ou Python através de um dos vários carregadores Python plug-in).

Para qualquer um que argumenta que skript não tem sérios problemas de desempenho, o melhor que tem para melhorar sua situação está a serialização de código skript em expressões representadas por objetos em Java (então tecnicamente há uma certa quantidade de processamento que acontece de antemão, mas está longe de ser ideal.) Após este processo, você está executando um script que se traduz em toneladas e toneladas de chamadas para estas expressões, cada uma representada por seus próprios objetos. Isso é ridículo quando comparado com a sobrecarga de opcodes em bytecode Java.

Vamos comparar isso a um nível muito baixo. Trabalhando com variáveis primitivas no nível de bytecode em Java é quase (se não tão rápido) como o código nativo C/C++.

bipush 5
istore_0

 

Duas instruções que são tratadas muito rapidamente pela JVM e o compilador JIT.

Apenas para criar alguma medida sobre esta lacuna, eu vou mostrar como LuaJ (que compila fonte Lua para bytecode Java) faria isso:

 

aload_0

new #2; //class org/luaj/vm2/LuaValue

invokespecial #3; //Method LuaValue."<init>"

Este é apenas para instanciar um objeto, e faz um monte no fundo (alocar uma quantia de memória para a classe, usando invokespecial, etc.)

Há mais depois desta se a variável é global: o valor é então adicionado à tabela de globals (ou a mesa para o escopo atual se é uma variável local) o que geraria 40 linhas de bytecode, lotes de hashing e outras coisas acontecendo.

Esta é uma enorme quantidade de processamento para declarar uma única variável . Este é com uma biblioteca comumente usado, poderoso chamado LuaJ. 

 
Skript vai uma magnitude pior do que isso. Uma vez que não instrumento ou gerar qualquer coisa no nível de bytecode, cada operação em si vai se traduzir em uma chamada de uma das expressões no contexto atual que skript-lo funcionando em - assim instanciar algo teria que ser feito através de um objeto de expressão , no topo de instanciar uma classe para o tipo skript abstrato. 
 
Ele não pára por aí. Coisas ridículas como laços que se possam traduzir em um único Goto opcode em LuaJ ou Java está realmente envolvido em suas próprias expressões e são executadas por eles também, que referenciar uma lista de execuções que têm de ser iterado, chamando aquelas subjacentes expressões bem - uma quantidade ridícula de sobrecarga para programação simples, fundamental. 

Se você quer aprender programação também recomendo java antes de script. Ajuda no longo prazo, ganhar experiência de uma linguagem de programação. Acostume-se a sintaxe de praticamente todas as línguas. O que quero dizer é quando você aprender uma linguagem de programação (como Java) não é difícil de aprender outra.

Se você sabe como usar Skript, você pode conseguir muito semelhantes, se não exatamente os mesmos resultados a partir de quando você desenvolver um plugin em java. Skript vem com algumas limitações óbvias, no entanto, eu imagino que essas limitações sendo questões bastante complexas. E se eles são complexos, eles vão ser complexa em java, bem como, o que significa que você provavelmente não vai usar esse tipo de funções por alguns anos de qualquer maneira. Assim, apesar de tudo, eu acredito que se você não está disposto a dedicar tempo para aprender uma linguagem como java ou você só vai estar usando suas habilidades para criação de plugins para o seu servidor, acredito que skript será o ajuste perfeito para você(não pra tudo). Claro que seus projetos não estão indo para ser perfeito na primeira vez e aqueles projetos são provavelmente a vez que você encontrou ser de baixa qualidade e inútil.
 
Skript é basicamente um DSL interpretado. Skript não é apenas para tarefas simples. Você pode fazer pleno direito modos de jogo, minigames e toda uma série de características diferentes. 
Skript - Extremamente fácil de usar e desenvolvimento é rápido, mas seus usos são limitados; completa API torneira / bukkit não pode ser acessado significado há certas coisas que não pode fazer. 
 
Java: Útil no 'mundo real', mais apoio e ajuda disponível, mais APIs, mas muito, o desenvolvimento muito mais lento.  Eu acredito que é uma linguagem de script fortemente subestimado com grande potencial para aqueles que são novos para a programação. 
Skript é certamente uma forma legal e simples de ir sobre a implementação de novas funcionalidades, mas é longe de ser tão poderoso como Java. Em Java, você pode escrever muito bem o que você quer (única limitação é o que a linguagem não pode fazer). Criando, por exemplo, uma representação estilo REST do seu servidor é muito menos trabalho em Java do que em Skript (provavelmente?) - tudo que você precisa são algumas bibliotecas e você está pronto para ir! Em Skript, você está limitado a tudo o que vem com Skript ou um add-on. Deseja estender o conjunto de recursos de Skript com um add-on? You'l precisa saber Java para fazer isso! 
 
Java Prós:
rico em recursos
Muito poderoso
documentação Superb (a maioria das bibliotecas e os javadocs núcleo API)
IDEs são extremamente úteis
gerenciamento de dependência (Maven / Gradle)
Java Contras:
Pode demorar um pouco para se acostumar com
Compilar, correção de bug, recompilar ...
Skript Prós:
design simples que não impõe muitos limites (em relevância para Minecraft jogo)
documentação de alta qualidade
On-the-fly roteiro recarregando
Crescente número de add-ons
Skript Contras:
Precisa de add-ons para ir além do escopo do mecanismo de script principal. não existem add-ons para suas necessidades? Acho que eu deveria usar Java para fazer um ...
Não há IDEs (que eu sei de um plugin Texto Sublime, mas eu não chamaria isso de um IDE)

Também não devemos esquecer os outros motores de script, como Denizen e CommandHelper! : 3
 
Conclusão: Quer usar script? Use-o sem problemas, porém use os scripts certos. Uma pessoa que começou com essa discussão toda (MrPower) reclamou que os scripts ferraram o servidor dele, eu sigo comigo "parece que o jogo virou não é mesmo?", porque eu dizia que os scripts dele de evento estavam programados de uma forma que lagaria e ninguém nem sabia que eu existia. Cara, se você quer aprender uma linguagem vá aprender Java, script é muito bom para ser usado, tem os add-ons para muitas precisões.. Eu mesmo já tive servidores com scripts e deram muito certo, o bom é mesclar.

Quem for comentar algo abaixo/quiser implementar algo aqui me mande um MP vou colocar com o devido crédito, porém vou analisar antes. Também pode ser um debate,  diga seus questionamentos abaixo. Se vocês gostaram do tópico deixem um
curtir e é isso.

 

Você sabia que linguagem funcional é melhor do que lang OOP ?

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...