Jump to content

Search the Community

Showing results for tags 'bug'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
    • Divulgação de Servidores
    • Projetos e Formações de Equipes
  • Outros
    • Design

Found 29 results

  1. [Znoteacc ] ERRO CACHE FIX

    Estava estudando a estrutura do OOP do website znoteacc e verifiquei que é possível visualizar os arquivos de cache pelo browser, até ai tudo bem, mas caso o usuário deseje usar o sistema de cache para algum sistema que contém configurações do banco de dados e deseja indexar as configurações via cache o arquivo poderá ser visto pelo browser, e assim, as configuração dele estariam exposta. É simples, eu corrigi o erro apenas retornando o cache dentro de uma variável e colocando o arquivo com tags PHP e quando é chamado o cache ele lê a variável. Caso o arquivo seja acessado pelo navegador não mostrará resultado algum. O Code: <?php class Cache { protected $_file = false; protected $_lifespan = 0; protected $_content; const EXT = '.cache.php'; /** * @param string $file * @access public * @return void **/ public function __construct($file) { $this->_file = $file . self::EXT; $this->setExpiration(config('cache_lifespan')); } /** * Sets the cache expiration limit (IMPORTANT NOTE: seconds, NOT ms!). * * @param integer $span * @access public * @return void **/ public function setExpiration($span) { $this->_lifespan = $span; } /** * Set the content you'd like to cache. * * @param mixed $content * @access public * @return void **/ public function setContent($content) { switch (strtolower(gettype($content))) { case 'array': $this->_content = json_encode($content); break; default: $this->_content = $content; break; } } /** * Validates whether it is time to refresh the cache data or not. * * @access public * @return boolean **/ public function hasExpired() { if (is_file($this->_file) && time() < filemtime($this->_file) + $this->_lifespan) { return false; } return true; } /** * Returns remaining time before scoreboard will update itself. * * @access public * @return integer **/ public function remainingTime() { $remaining = 0; if (!$this->hasExpired()) { $remaining = (filemtime($this->_file) + $this->_lifespan) - time(); } return $remaining; } /** * Saves the content into its appropriate cache file. * * @access public * @return void **/ public function save() { $handle = fopen($this->_file, 'w'); $content = '<?php $cache =\''.$this->_content.'\' ?>'; fwrite($handle, $content); fclose($handle); } /** * Loads the content from a specified cache file. * * @access public * @return mixed **/ public function load() { if (!is_file($this->_file)) { return false; } //$content = trim(@file_get_contents($this->_file)); include $this->_file; if (!isset($cache) && strlen($cache) == 0) { return false; } if ($content = json_decode($cache, true)) { return (array) $content; } else { return $content; } } } Só alterar o code atual do arquivo engine/function/cache.phh por este code. Recomendo após alterar o arquivo deletar todo conteúdo da pasta cache antes de atualizar o site. Para os mais curiosos: Alterei: public function save() { $handle = fopen($this->_file, 'w'); fwrite($handle, $this->_content); fclose($handle); } Por: public function save() { $handle = fopen($this->_file, 'w'); $content = '<?php $cache =\''.$this->_content.'\' ?>'; fwrite($handle, $content); fclose($handle); } Aqui o arquivo quando for salvo o conteúdo é saldo dentro de uma variável e o arquivo é aberto e fechado com tags php. Antes: public function load() { if (!is_file($this->_file)) { return false; } ob_start(); include_once($this->_file); $content = ob_get_clean(); if (!isset($content) && strlen($content) == 0) { return false; } if ($content = json_decode($content, true)) { return (array) $content; } else { return $content; } } Por: public function load() { if (!is_file($this->_file)) { return false; } include $this->_file; if (!isset($cache) && strlen($cache) == 0) { return false; } if ($content = json_decode($cache, true)) { return (array) $content; } else { return $content; } } Aqui ele inclui o arquivo e pega o conteúdo da variável.
  2. Editando seu tibia.pic a vontade

    Editando seu Tibia.pic Introdução Primeiramente vou dar uma explicada do que vai se tratar esse tópico. Provavelmente já existem inúmeros tópicos sobre o mesmo assunto, mas esse é diferente. Por quê? Vocês devem estar se perguntando. Simples... é porque como vocês sabem há inúmeras maneiras de editar seu Tibia.pic e está é uma que eu criei. Há o método que a maioria conhece que é a de trocar a imagem do fundo do Tibia, (0.bmp) e os botões em geral do mesmo (3.bmp), mas que geralmente deixa as letras todas borradas e sendo assim impossível de se ler. E então para arrumar isso é baixado um pacote de imagens conhecido por “Imagens Pic Ventura”, que vem a ser um pacote de imagens, algumas parecidas ou iguais as do Tibia.pic original, neste pacote, a única imagem diferente é a 3.bmp que muda algumas coisas como o tamanho que passa a ser 352x256 enquanto a original é 352x288 e que alguns botões saem, logo após está explicação eu irei mostra tal diferença usando a imagem da original e a do pacote. Enquanto eu usava o pacote “Imagens Pic Ventura” eu notei enquanto jogava no meu cliente personalizado que alguns botões da janela de troca de cor da outfit ficavam bugados quando se usava o pacote “Imagens Pic Ventura” e então decidi criar o meu pacote para consertar este “bug”. [spoiler=Imagem 1] Imagem do bug do botão de troca do outfit após personalizado usando pacote “Imagens Pic Ventura” e ao lado bug consertado usando pacote “Imagens Pic Gugui” Downloads Pic Editor – Download Imagens Pic Gugui 1 – Download Tutorial Agora sem mais enrolação, vamos ao tutorial. 1 - Após ter baixado o pic editor e o meu pacote de imagens coloque o pic editor e o meu pacote de imagens em uma mesma pasta (de preferência uma nova pasta). [spoiler=Imagem2] 2 – Extraia os arquivos do ImagensPicGugui.rar dentro da pasta OBS: Não vai ser necessário usar o pic editor para extrair as imagens do tibia.pic original para depois edita-la, apenas vamos editar as imagens do meu pacote e depois compilar ele em um arquivo .pic e depois substituir o tibia.pic original pelo que você irá criar. [spoiler=Imagem 3] 3 - Edite a seu gosto o que você desejar mudar no tibia Obs: Lembrando que o arquivo 0.bmp é o fundo que aparece quando você abre o jogo e o 3.bmp é o arquivo que edita botões e outras coisas do Tibia. Aconselho a não mexer nos arquivos 1.bmp, 2.bmp, 4.bmp, 5.bmp, 6.bmp e 7.bmp. Sendo que o 2, 4, 5 e 7 são alfabetos usados no jogo (tipos de letras). Também não mude o tamanho de nenhuma imagem, pois assim as letras irão ficar todas borradas [spoiler=Imagem 4] O da backpack eu esqueci de por mas eh o numero 15, n eh exatamente a backpack mas o que ta a trás dela, eh o msm dos quadradinho q tem dentro das coisas que da pra abrir tbm. 4 - Compile os arquivos 0.bmp, 1.bmp, 2.bmp, 3.bmp, 4.bmp, 5.bmp, 6.bmp e 7.bmp. Abrindo o Pic Editor.exe e apertando o botão “Compile” [spoiler=Imagem 5] 5 – Substitua o arquivo gerado “Tibia.pic” que aparecerá na pasta pelo o que está na pasta do jogo. Versões Testadas Tibia 8.1 - Com Imagens Pic Gugui I (se encontrarem algum erro avisem) Obs: Creio que funcione também com as versões que usam as imagens do tíbia.pic no mesmo estilo/visual. As letras que tem acentos iram aparecer borados, entao aconselho se for usa-lo em seu cliente personalizado escreva não usando acentos, estou trabalhando nisso, assim q terminar irei postar, ta quase pronto) Diferenças “Imagens Pic Ventura” e “Imagens Pic Gugui” A única diferença entre a “Imagen Pic Gugui” e a “Imagens Pic Ventura” é que na Gugui a imagem 3.bmp que foi alterado para colocar o botão que escolhe o que você vai mudar a cor na janela de troca de outfit dentro do jogo, e para isso ela ficou com o tamanho igual a da original do Tibia (352x288) enquanto a do Ventura é de (352x256). Créditos * Ventura – foi inspirado no trabalho dele que fiz o meu. * Trooper - pelo pic editor * Gugui-Ingo ou ingoguilherme - so eu xD Espero também que se forem repassar este tópico por favor coloquem os créditos
  3. Olá galera, Provavelmente alguns de vocês podem ter baixado um server que está com o problema de que quando você bani alguém o cara volta aí ele fica te zuando e dizendo que seu server é bugado :yucky:; Seus problemas acabaram! :w00t: É um erro simples na database do sqlite mas que pode ser um grande problema para alguns "leigos". :errm: Quando você bani alguém ele mostra o erro assim no console do server: OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: table bans has no column named statement. Aí você me pergunta, 'Mas tio, por que esse erro?'; Simples, o server não consegue encontrar a coluna 'statement' dentro da tabela 'bans' :slap: Para corrigir isso devemos 'criar' essa coluna, portanto abriremos nossa database: Expanda as tables pelo ícone de mais (+) e dê 2 (dois) cliques na linha bans que está na lista à esquerda (<--); Após isso abrirá uma janela com umas informações que o server usa como 'base' para criar os bans executados no servidor, mas lembra que estava faltando a coluna statement? Então clique no ícone ; Abrirá uma outra janela , nela clique em 'add column', aí em 'column name' coloque 'statement', em 'Data type' coloque 'VARCHAR' e na primeira caixa do campo 'size' coloque '255', após isso marque a caixa 'constrain' (a janela se ampliará), mais abaixo você verá várias caixas para marcar, porém marque somente duas, uma caixa escrita 'Not NULL' e uma escrita 'Default value'. Portanto deverá ficar assim: Logo após isso clique em 'add' e pronto! Já está arrumado o bug dos bans no sqlite :happy2: Atenção: Tutorial 100% meu - Se for utilizar em outro lugar por favor ponha os créditos e me avise via PM! Atenção²: Esse erro pode acontecer não necessariamente na table 'bans'
  4. BUGs em The Forgotten Server (TFS)

    Olá, não sei se estou na área correta, mas andei vendo que o TFS (cryingdamson6pl1-console, o mais atual da versão 8.54~8.57) tem alguns bugs ainda, outros bem sérios e fáceis de resolver. O que eu reparei ontem foram os monsters/bosses, uns com loots errados (totalmente) e outros com erro de Corpse. Daí fui comparar com o RealServer 1.7 (o que é 90% global), e esse sim o loot estava correto, e não estava faltando monstros. Será que seria bom copiar a pasta Monsters do RealServer e colar no do TFS? (OBS: Não, não to querendo tirar dúvida, então não mova para Sessão de Suportte). Verei agora se no TFS para Tibia 8.6 está mais correto, e já edito aqui. O RealServer e o The Forgotten Server pra mim são os servidores mais completos que tem, acho que deveria abrir uma área aqui no OtServ.com.br para escrever e reportar Bug's do The Forgotten Server, e um mediador que tenha conta no OTLands reporte no tópico de Bugs do TFS/RealServer. Afinal, com todo mundo testando e reportando, a existência de Bugs fica bem menor, certo? :fail: Valeu. EDIT: A Versão 8.6 do TFS (TFS0.4.0a1) está UM POUCO mais completa, apenas adicionou alguns monstros, mas o loot de muitos ainda está errado.
×