Ir para conteúdo

gpedro

Héroi
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Obrigado
    gpedro recebeu reputação de joaopedrodepaiva em (Resolvido) Erro Gesior ACC   
    Vá em C:\xampp\php, abra o arquivo php.ini
    procure por error_reporting


    o que tiver lá, mude para

    após isso, reinicie o apache.
  2. Curtir
    gpedro recebeu reputação de TheusFragaxD em (Resolvido) Erro Tradução ou sei lá o que   
    rs, bem melhor.
    pode trancar o tópico.
  3. Gostei
    gpedro recebeu reputação de cs007 em (Resolvido) Erro Gesior ACC   
    Vá em C:\xampp\php, abra o arquivo php.ini
    procure por error_reporting


    o que tiver lá, mude para

    após isso, reinicie o apache.
  4. Curtir
    gpedro deu reputação a Cat em Sobre o Comércio   
    Não vou votar, não espero que alguém concorde mas estes são os motivos:
     O fórum tem cada vez mais áreas separadas. Cada vez mais confuso e menos prático.  O pessoal da equipe do TK, na minha observação, estão visivelmente e frequentemente afastados do fórum, aparecendo e mostrando atividade apenas quando ocorre algum acontecimento que cria a oportunidade desses membros da equipe mostrarem que tem um cargo. E geralmente, o único interesse da equipe em melhorar o fórum aparece quando envolve R$. Não é a toa que atualmente o único foco e interesse de vocês é nas seções Comercio e Classificados. O que vem depois? A seção Videos de OTSERV, pague e ganhe um video destacado para atrair membros pro seu Ot?  Sobe os classificados: Por que não melhorar a seção de formação de equipes? Não estamos mais em 2011, lembro-me desta época onde postávamos um tópico lá e muitas respostas apareciam, as pessoas queriam desenvolver, trocar ideias, etc... Ficaria muito mais prático moldar a seção atual, sem precisar dividir a seção. Ora, se eu publico em um tópico de formação que estou a procura de um projeto e apenas essa informação, posso divulgar meus valores através do contato exterior que eu fizer com o membro que procura. Fica inútil a existência dessas duas áreas, quando poderia ser apenas uma. Acho legal os novos apps da invision, e gosto da capacidade do pessoal da equipe aqui de saber lidar com eles. Mas eu acho que estão exagerando. Mercado, Clube, Classificados, seja o que for. A equipe tem que se decidir se vão querer se tornar um site de classificados e venda ou continuar como uma comunidade de Open Tibia. Por que eu to vendo que estão tentando fazer os dois, mas só estão dando atenção pra parte de classificados e venda.  
    Até agora só vi gente concordando com as ideias da equipe, eu também gostei de muita coisa, mas penso que não é benéfica pra comunidade.
  5. Curtir
    gpedro recebeu reputação de Mr.Greatz em Reset System with sources   
    Testado: MySQL & SQLite
    Distro: TFS 0.4_SVN & TFS 0.3.6

    MySQL

    ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INTEGER not null default 0 Adicionando nas sources player.h procure por: uint32_t level; logo abaixo, adicione: uint32_t resets; iologindata.cpp procure por query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`," substitua por: query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `resets`, " procure por player->level = std::max((uint32_t)1, (uint32_t)result->getDataInt("level")); logo abaixo adicione: player->resets = (uint32_t)result->getDataInt("resets"); procure por query << "`maglevel` = " << player->magLevel << ", "; logo abaixo adicione: query << "`resets` = " << player->resets << ", "; players.cpp procure por: s << " (Level " << level << ")"; substitua por: s << " (Level " << level << ") [Reset " << resets << "]"; players.h procure por: void setPromotionLevel(uint32_t pLevel); logo abaixo adicione: uint32_t getResets() { return resets;} void setResets(int32_t amount) { resets += amount; if (resets < 0) {resets = 0;} } luascript.cpp para 0.3.6 static int32_t luaDoPlayerSetIdleTime(lua_State* L); logo abaixo adicione: static int32_t luaGetResets(lua_State* L); static int32_t luaSetResets(lua_State* L); talkactions.xml <talkaction words="!rank;/rank" event="script" value="ranks.lua"/> <talkaction words="!reset;/reset" script="reset.lua"/> ranks.lua
    Créditos: Dark Skyllen, Marcryzius, Mock, Kydrai, Cykotitan, gpedro*.
    * adaptação para 0.4
  6. Curtir
    gpedro recebeu reputação de Blackcyber em [Tutorial] Alterando o valor mb maximo para importar database   
    Resaltando: o método utilizado no tópico acima, não é recomendado. Porque pode causar problemas de sobrecarregamento dos serviços, pelo fato do arquivo ser grande e ser trafegado pela internet.

    Para isso, existe o mysql console, onde você pode executar as mesmas operações em local.

    Linux
    apenas acesse o terminal.


    Windows xampp
    Iniciar > Executar > cmd,
    Digite os comandos abaixo.


    lembrando que:
    bancodedados
    É o nome do seu banco de dados, criado no phpmyadmin.
    arquivo.sql
    É o banco de dados importado.

  7. Gostei
    gpedro recebeu reputação de GOD Vitor em Bug Reports   
    Bug Records
    OU SIMPLESMENTE BUGPROGRESS
     
    Este sistema foi criado para auxiliar os criadores de servidores a gerenciar os problemas e bugs encontrados no servidor ou site. O objetivo desta página, é que você tenha uma gestão interna de progressos dos bugs, se já foi corrigido, esta sendo corrigido ou ainda não foi corrigido. A página é somente interna, somente para os administradores do site, porque se fosse aberto ao público e houvesse um bug grave de NPC, clone items, eles iriam visualizar a proveitar.
     
     

     
     
     
    VAMOS lá!
     
    Instalação em 5 passos
    Download  
    bugreport by gpedro.zip  
    Execute Z_BUG_LOGS.SQL em seu banco de dados Extraia BUGRECORDS.PHP E A PASTA IMAGES para a pasta www Abra o INDEX.PHP, procure por CHARACTERS.PHP e após o break; adicione: case 'bugrecords': $topic = 'Bug Records'; $subtopic = 'bugrecords'; include('bugrecords.php'); break  
    Se divirtam e aproveitem~  
    OBSERVAÇÕES: ESTE SISTEMA DEVE SER DISTRIBUÍDO GRATUITAMENTE. CASO FOR POSTAR EM OUTROS FORUMS, PEDIR AUTORIZAÇÃO DE DISTRIBUIÇÃO PARA MIM.
  8. Gostei
    gpedro recebeu reputação de HaragOT em Gesior ACC (Last Version) - Última Versão   
    Pelo meu conhecimento, descordo do destaque desse tópico. Ele é uma ótima versão com small fixes e alguns features... O correto seria postar um tópico com o link direto para o repositório do gesior-aac, que são poucos que sabem que o gesior não parou de ser atualizado.
  9. Gostei
    gpedro recebeu reputação de tirso em [Resolvido] Tibia .dat e spr que funcione em Item editor 8.60   
    Para cada .otb tem uma versão, você tem que ver qual a versão do seu .otb.
    O programa otitemseditor tem uma versão dele para cada tipo de versão. Se me lembro bem, a 8.60 é o otitemseditor 0.3.9

  10. Gostei
    gpedro recebeu reputação de tiroleivi em Bug Reports   
    Bug Records
    OU SIMPLESMENTE BUGPROGRESS
     
    Este sistema foi criado para auxiliar os criadores de servidores a gerenciar os problemas e bugs encontrados no servidor ou site. O objetivo desta página, é que você tenha uma gestão interna de progressos dos bugs, se já foi corrigido, esta sendo corrigido ou ainda não foi corrigido. A página é somente interna, somente para os administradores do site, porque se fosse aberto ao público e houvesse um bug grave de NPC, clone items, eles iriam visualizar a proveitar.
     
     

     
     
     
    VAMOS lá!
     
    Instalação em 5 passos
    Download  
    bugreport by gpedro.zip  
    Execute Z_BUG_LOGS.SQL em seu banco de dados Extraia BUGRECORDS.PHP E A PASTA IMAGES para a pasta www Abra o INDEX.PHP, procure por CHARACTERS.PHP e após o break; adicione: case 'bugrecords': $topic = 'Bug Records'; $subtopic = 'bugrecords'; include('bugrecords.php'); break  
    Se divirtam e aproveitem~  
    OBSERVAÇÕES: ESTE SISTEMA DEVE SER DISTRIBUÍDO GRATUITAMENTE. CASO FOR POSTAR EM OUTROS FORUMS, PEDIR AUTORIZAÇÃO DE DISTRIBUIÇÃO PARA MIM.
  11. Gostei
    gpedro recebeu reputação de jaraguahot em (Resolvido) [Ajuda] Erro no Gesior (não achei em lugar nenhum)   
    Gabrielbuosi

    Execute isso em seu banco de dados.

    ALTER TABLE `guilds` ADD `logo_gfx_name` VARCHAR( 255 ) NOT NULL DEFAULT ""; Gabrielbuosi Execute isso em seu banco de dados. CREATE TABLE `z_news_tickers` ( `date` int(11) NOT NULL default '1', `author` int(11) NOT NULL, `image_id` int(3) NOT NULL default '0', `text` text NOT NULL, `hide_ticker` tinyint(1) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; God Myth e jcfsn Execute isso em seu banco de dados. ALTER TABLE z_forum ADD icon_id int(3) NOT NULL DEFAULT '1'
  12. Gostei
    gpedro recebeu reputação de igorbn em (Resolvido) Erro Gesior ACC   
    Vá em C:\xampp\php, abra o arquivo php.ini
    procure por error_reporting


    o que tiver lá, mude para

    após isso, reinicie o apache.
  13. Gostei
    gpedro deu reputação a otmanager em OTManager - Gerencie seu OTServ na WEB!   
    E ai galera do TibiaKing, tudo tranquilo rapazes e meninas? Hoje apresento-lhes um projeto incrível que nossa equipe vêm trabalhando por cerca de 2 meses com muita dedicação.
     
    O que é?
     
    A OTManager é um projeto que surgiu depois de verificar a necessidade que os administradores tinham em possuir em suas mãos uma interface mais simples e intuitiva para gerenciarem seu servidor.
    Por isto, criamos a OTManager, um software de Gestão, muito poderoso, que funciona totalmente em WEB.
     
    Vatangens
     
    As vantagens do painel está em conseguir administrar seu servidor de qualquer lugar do mundo, em qualquer computador com internet. Fazendo apenas o login em seu painel, você pode facilmente criar, monitorar sua hospedagem, acompanhar os resultados de seu servidor e ainda visualizar o log do console em tempo real.

    Chega de conversa, vamos as fotos...
     

     

     
    Confira a DEMO online -> clique aqui
     
    Seleção para Testadores
     
    Quer receber 3 dias de TRIAL para testar nossa plataforma? Basta responder ao nosso questionário e nós faremos uma seleção. Além disso você estará concorrendo automaticamente a 1 mês grátis de nosso plano padrão.
     
    Questionário -> clique aqui
     
    O feedback de vocês é imprescindível, por isto não deixe de comentar a respeito de nosso projeto, não levará muito do seu tempo e  críticas são sempre bem-vindas.
     
  14. Gostei
    gpedro recebeu reputação de Di..D.e.i em (Resolvido) Erro Gesior ACC   
    Vá em C:\xampp\php, abra o arquivo php.ini
    procure por error_reporting


    o que tiver lá, mude para

    após isso, reinicie o apache.
  15. Gostei
    gpedro recebeu reputação de July198 em (Resolvido) Erro Gesior ACC   
    Vá em C:\xampp\php, abra o arquivo php.ini
    procure por error_reporting


    o que tiver lá, mude para

    após isso, reinicie o apache.
  16. Gostei
    gpedro recebeu reputação de Hoad em Como criar um site para seu servidor!   
    executem isso no banco de dados


    ALTER TABLE `accounts` ADD `vip_time` INT( 11 ) NOT NULL DEFAULT '0';
  17. Gostei
    gpedro recebeu reputação de Mdcrf em [Gesior2012] Painel de Acessos.   
    Se quiser monitoramento de quem acessa seu site, utilize algum Analytics. Em relação ao ataque, acho pouco provável... pode ser se seja uma ataque distribuído e você acabará não sabendo quem é o agente causador.
     
    Para manter uma alta disponiblidade, eu recomendaria utilizar Cloudflare... porque mesmo se o site estiver offline, o Cloudflare mostra o cache do site.
  18. Gostei
    gpedro recebeu reputação de JonatasLucasf em removido   
    yo, muito bom e útil. Apenas fique atento a performance e segurança.
    * performance a cada vez que você acessa a página inicial, é realizado a consulta. Seria realmente necessário mostrar o valor do momento do acesso? pois o excesso de consultas pode causar sérios problemas de performance. segurança você está utilizando drivers nativos, o que foi descontinuado desde o PHP 5.6 (se não me engano). Seria mais aconselhável migrar para PDO. No SQL de alterar name e group_id é possível injetar um código malicioso onde deixem todos os players com o mesmo grupo.  
    outros pontos a considerar é a reutilização de código e automatização de alguns processos. No PHP é possível identificar qual sistema operacional está sendo utilizado no servidor automaticamente, ser precisar definir uma variável manualmente. Sobre a reutilização de código, quando você cria as páginas, acaba havendo uma duplicação de código, que seria o layout. Acho que seria melhor a utilização de alguma template engine para evitar isso. ((:
     
    mas veja tudo o que eu disse como uma crítica construtiva para melhorar o seu sistema que me parece ser muito bom e com potencial auto. Quando trabalhei no grupo ekz, onde mantia o globalots (easywar e globalwar), tinhamos algumas ferramentas internas dentro do ModernAAC... depois irei reunir algumas ferramentas úteis para vocÊ adicionar elas ao seu manager.
     
    parabéns pelo trabalho.
     
  19. Gostei
    gpedro recebeu reputação de Bluetooth em Reset System with sources   
    Testado: MySQL & SQLite
    Distro: TFS 0.4_SVN & TFS 0.3.6

    MySQL

    ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INTEGER not null default 0 Adicionando nas sources player.h procure por: uint32_t level; logo abaixo, adicione: uint32_t resets; iologindata.cpp procure por query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`," substitua por: query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `resets`, " procure por player->level = std::max((uint32_t)1, (uint32_t)result->getDataInt("level")); logo abaixo adicione: player->resets = (uint32_t)result->getDataInt("resets"); procure por query << "`maglevel` = " << player->magLevel << ", "; logo abaixo adicione: query << "`resets` = " << player->resets << ", "; players.cpp procure por: s << " (Level " << level << ")"; substitua por: s << " (Level " << level << ") [Reset " << resets << "]"; players.h procure por: void setPromotionLevel(uint32_t pLevel); logo abaixo adicione: uint32_t getResets() { return resets;} void setResets(int32_t amount) { resets += amount; if (resets < 0) {resets = 0;} } luascript.cpp para 0.3.6 static int32_t luaDoPlayerSetIdleTime(lua_State* L); logo abaixo adicione: static int32_t luaGetResets(lua_State* L); static int32_t luaSetResets(lua_State* L); talkactions.xml <talkaction words="!rank;/rank" event="script" value="ranks.lua"/> <talkaction words="!reset;/reset" script="reset.lua"/> ranks.lua
    Créditos: Dark Skyllen, Marcryzius, Mock, Kydrai, Cykotitan, gpedro*.
    * adaptação para 0.4
  20. Gostei
    gpedro recebeu reputação de Elwyn em [C] Checar acesso com criptografia simples   
    antes de dar minhas considerações esqueçam a palavra encriptar e codificado. é um termo horrível para tentar se expressar, a melhor definição é algoritmos para esconder o real conteúdo.
     
     
    nem sempre é possível realizar a operação reversa. se eu te dar um hash você consegue fazer o inverso sabendo o algoritmo que foi utilizado? Existe sim algoritmo de criptografia de mão única, eles são trabalhosas de fazer a operação inversa, mas existe sim. Também tem a TrapDoor que são aquelas que normalmente tem uma outra chave para de fator executar o processo reverso, quando possível. Leia sobre RSA e me diga o que ela é.
     
     
    Criptografia é um algoritmo para esconder o real texto através de cálculos macabros. O algoritmo que seu código utiliza, pelo que eu entendi, ele só pegar o char code e decrementa dois números do original.
    void DCript(char p[20]) { int i; for(i=0; p[i] != '\0'; i++) p[i] = p[i]-2; }  
     
    O que aconteceu com o MD5, SHA1 não foi simplesmente fazer o processo reverso e sim mapeá-la. Ai que é que está a sacada. O Crackstation, serviço que fornece online password hash crack, simplesmente foram criptografando praticamente de A-Z, 0-9, caracteres especiais e todas as combinações entre eles e indexaram o hash. dai quando tu joga lá no site, ele olha no se eles tem aquele hash. O MD5 por ser mais velho, já mapearam bem mais.
     
     
  21. Gostei
    gpedro recebeu reputação de AndreAzevedo em (Resolvido) Erro Gesior ACC   
    Vá em C:\xampp\php, abra o arquivo php.ini
    procure por error_reporting


    o que tiver lá, mude para

    após isso, reinicie o apache.
  22. Gostei
    gpedro recebeu reputação de Bluetooth em Bug Reports   
    Bug Records
    OU SIMPLESMENTE BUGPROGRESS
     
    Este sistema foi criado para auxiliar os criadores de servidores a gerenciar os problemas e bugs encontrados no servidor ou site. O objetivo desta página, é que você tenha uma gestão interna de progressos dos bugs, se já foi corrigido, esta sendo corrigido ou ainda não foi corrigido. A página é somente interna, somente para os administradores do site, porque se fosse aberto ao público e houvesse um bug grave de NPC, clone items, eles iriam visualizar a proveitar.
     
     

     
     
     
    VAMOS lá!
     
    Instalação em 5 passos
    Download  
    bugreport by gpedro.zip  
    Execute Z_BUG_LOGS.SQL em seu banco de dados Extraia BUGRECORDS.PHP E A PASTA IMAGES para a pasta www Abra o INDEX.PHP, procure por CHARACTERS.PHP e após o break; adicione: case 'bugrecords': $topic = 'Bug Records'; $subtopic = 'bugrecords'; include('bugrecords.php'); break  
    Se divirtam e aproveitem~  
    OBSERVAÇÕES: ESTE SISTEMA DEVE SER DISTRIBUÍDO GRATUITAMENTE. CASO FOR POSTAR EM OUTROS FORUMS, PEDIR AUTORIZAÇÃO DE DISTRIBUIÇÃO PARA MIM.
  23. Gostei
    gpedro deu reputação a Nightz em Instalando, usando e entendendo o Screen   
    Olá cidadãos do TibiaKing!
     
    Neste tutorial de hoje vou ensinar a instalar e utilizar o Screen. Mas antes disso, vou explicar o que é e para que serve.
     
    O Screen (ou GNU Screen) é é um software livre multiplexador de terminal de linha de comando desenvolvido pelo Projeto GNU. Permite que o usuário acesse múltiplas sessões separadas de terminal a partir de uma mesma janela ou mesmo remotamente. É muito útil para manipular vários programas em uma mesma janela ou mesmo para manter processos em execução de fundo. [Wikipedia]
     
    Ou seja, reusmidamente, o Screen é um software que permite você rodar várias áreas de trabalhos com vários processos executando.
     
    E porque preciso de utilizar isso no meu servidor de OTServer?
    Simples! Quando for abrir o servidor utilizando o comando ./theforgottenserver &, ao fechar o SSH, o servidor continua rorando, certo? Mas você não pode mais ver os logs que o executável gera em tempo real no linux. Porém.. se você abrir o servidor dentro de uma área de trabalho do Screen, isso é possível! Sem contar com várias outras vantagens como maior estabilidade e possibilidade de continuar trabalhando no SSH sem interromper o servidor ou ter que abrir outra janela!
     
    Bom.. agora que já expliquei sobre o Screen.. Vamos ao tutorial!
     
    1. Instalando o Screen:
     
    1.1. Abra o terminal SSH do seu servidor.
     
    1.2. Ao logar no servidor, rode o seguinte comando para instalar o Screen:
     
    -> Servidores Ubuntu/Debian:
    apt-get install screen -> Servidores CentOS:
    yum install screen 1.3. Pronto, Screen instalado! Simples, não?
     
     
    Agora vamos a utilização!
     
     
    2. Utilizando o Screen:
     
    2.1. Abra o terminal SSH do seu servidor.
     
    2.2. Para criar uma nova área de trabalho do Screen, utilize o comando:
    screen -S NomeDaScreen -> Por exemplo:
    screen -S rodarServidor 2.3. Assim que o comando acima for executado, voce já estará em uma nova área de trabalho. Caso queira deixar algo rodando nela em segundo plano, basta rodar o que for rodar normalmente e sair da Screen sem fechar a área de trabalho.
     
    -> Por exemplo:
    screen -S TFS nightz@servidor:~$ cd /home/otserv nightz@servidor:/home/otserv$ ./theforgottenserver & 2.4. Depois que o comando já estiver rodando, basta pressionar as teclas CONTROL, A e D (Ctrl  A + D). Ao "minimizar" a área de trabalho, o Screen vai exibir uma frase informando que "deu tudo certo".
     
    -> Por exemplo:
    screen -S tst nightz@servidor:~$ [detached from 13077.tst] 2.5. Para entrar novamente na Screen, basta utilizar o comando abaixo:
    screen -r -x NomeDaScreen -> Por exemplo:
    screen -r -x tst 2.6. Mas e se eu esquecer o nome da Screen? Calma.. Para listar todas as Screens em execução, utilize o seguinte comando:
    screen -ls -> Por exemplo:
    nightz@server:$ screen -ls There is a screen on:     13077.tst    (10-06-2014 08:55:37)    (Detached) 1 Socket in /var/run/screen/S-476175. nightz@server:$ * De azul, temos o nome das Screens (neste caso, da Screen) em execução.
     
    2.7. E para fechar uma Screen, ao em vez de minimizá-la, como faço? Simples! Utilize o comando abaixo após acessar a Screen que deseja fechar:
    exit Pronto!
     
    3. Correção de problemas:
     
    Aqui em baixo, vou postando soluções de possíveis problemas do Screen, a medida que forem sendo reportados. Até hoje, o único problema por qual já passei foi a pasta do Screen perder permissão, fazendo com que eu não consiga ver as Screens em aberto, mas esse problema só não permite que a mesma seja resumida, as Screens todas continuaram funcionando normalmente.
    + Problema: Directory '/var/run/screen' must have mode 777. + Solução: chmod 777 /var/run/screen. Façam bom proveito!
     
    (Esse tutorial foi completamente escrito por mim. Qualquer cópia deve ser previamente autorizada e conter os devidos créditos.)
  24. Gostei
    gpedro recebeu reputação de Biinhow em Correção Clonar items NPC usando ElfBot   
    Se você já teve um servidor, já sabe como que é isso. Por falha humana, em todos npcs esquecerem de definir um valor minimo para os itens agrupáveis ser vendido, com isso se você coloca-se no elfbot auto buyitems IDdoITEM 0 ele iria comprar e não pagar nada. Para os que não corrigiram pelos NPCS tambem há como corrigir pelas sources.

    npc.cpp

    if(NpcState* npcState = getState(player, true)) { npcState->amount = amount; npcState->subType = count; npcState->itemId = itemId; npcState->buyPrice = getListItemPrice(itemId, SHOPEVENT_BUY); npcState->ignoreCap = ignoreCap; npcState->inBackpacks = inBackpacks; const NpcResponse* response = getResponse(player, npcState, EVENT_PLAYER_SHOPBUY); executeResponse(player, npcState, response); } substitua por if(NpcState* npcState = getState(player, true)) { if(amount <= 0){ amount = 1; } npcState->amount = amount; npcState->subType = count; npcState->itemId = itemId; npcState->buyPrice = getListItemPrice(itemId, SHOPEVENT_BUY); npcState->ignoreCap = ignoreCap; npcState->inBackpacks = inBackpacks; const NpcResponse* response = getResponse(player, npcState, EVENT_PLAYER_SHOPBUY); executeResponse(player, npcState, response); }

    Créditos: Matheus Mkalo
  25. Gostei
    gpedro recebeu reputação de Augusto em removido   
    yo, muito bom e útil. Apenas fique atento a performance e segurança.
    * performance a cada vez que você acessa a página inicial, é realizado a consulta. Seria realmente necessário mostrar o valor do momento do acesso? pois o excesso de consultas pode causar sérios problemas de performance. segurança você está utilizando drivers nativos, o que foi descontinuado desde o PHP 5.6 (se não me engano). Seria mais aconselhável migrar para PDO. No SQL de alterar name e group_id é possível injetar um código malicioso onde deixem todos os players com o mesmo grupo.  
    outros pontos a considerar é a reutilização de código e automatização de alguns processos. No PHP é possível identificar qual sistema operacional está sendo utilizado no servidor automaticamente, ser precisar definir uma variável manualmente. Sobre a reutilização de código, quando você cria as páginas, acaba havendo uma duplicação de código, que seria o layout. Acho que seria melhor a utilização de alguma template engine para evitar isso. ((:
     
    mas veja tudo o que eu disse como uma crítica construtiva para melhorar o seu sistema que me parece ser muito bom e com potencial auto. Quando trabalhei no grupo ekz, onde mantia o globalots (easywar e globalwar), tinhamos algumas ferramentas internas dentro do ModernAAC... depois irei reunir algumas ferramentas úteis para vocÊ adicionar elas ao seu manager.
     
    parabéns pelo trabalho.
     

Informação Importante

Confirmação de Termo