Jump to content

Feedback

Problemas? Sugestões? Poste aqui.


Explore Questions

There are no popular questions to show right now

  1. Mudança de conta ou Email

    Asked by Jakx,

    0 votes
    0 answers
  2. novo XT

    Asked by Poccnn,

    0 votes
    5 answers
  3. 0 votes
    1 answer
  4. Buy Otserv 12.30

    Asked by sebacc15,

    0 votes
    0 answers
  5. problemas com o Remeres

    Asked by Mequu,

    0 votes
    0 answers

40 questions in this forum

  1. novo XT

    0 votes
    5 answers
  2. Mudança de conta ou Email

    0 votes
    0 answers
  3. 0 votes
    1 answer
  4. Buy Otserv 12.30

    0 votes
    0 answers
  5. problemas com o Remeres

    0 votes
    0 answers
  6. 0 votes
    3 answers
  7. xtibia

    0 votes
    1 answer
  8. ALGUEM AJUDA REP+

    0 votes
    1 answer
  9. Ajuda

    0 votes
    5 answers
  10. 0 votes
    1 answer
  11. Otpanel

    0 votes
    5 answers
  12. Problema com o site

    0 votes
    3 answers
  13. otserv-list.com, ajuda

    0 votes
    2 answers
  14. Hidden Content

    0 votes
    3 answers
  15. Dica sobre o sistema de rep+

    0 votes
    1 answer
  16. 0 votes
    4 answers
  17. 0 votes
    19 answers
  18. sobre anuncie

    0 votes
    3 answers
  19. [Bug] Perfil sobre mim

    0 votes
    3 answers
  20. 0 votes
    3 answers
  21. 0 votes
    11 answers
  22. Opinião de Ex-STAFF

    0 votes
    7 answers
  23. 0 votes
    4 answers
  24. 0 votes
    3 answers
  25. TA FODA....

    0 votes
    47 answers
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Popular Contributors

  • Topics

  • Últimos Posts

    • Não consegui acha id channel npcs @Holograma cryingdamson 0.3.6 (8.60) V8.2 Source.rar
    • 1. Verifique o Código JavaScript O botão de seleção de vocação e o valor do campo pdt_id são definidos pelo JavaScript. Certifique-se de que o JavaScript está funcionando corretamente e que o valor está sendo corretamente atribuído ao campo pdt_id. Aqui está um exemplo de função JavaScript que deve estar presente para selecionar a vocação:   function selectpdt(id) { document.getElementById('pdt_id').value = id; var buttons = document.getElementsByClassName('pdt_blc'); for (var i = 0; i < buttons.length; i++) { buttons[i].style.border = 'none'; } document.getElementById('b' + id).style.border = '2px solid #f00'; // Ajuste a borda para indicar seleção }   2. Verifique o HTML do Formulário Assegure-se de que o formulário HTML está configurado corretamente para enviar os dados: O campo oculto para vocação (pdt_id) deve estar presente e ser atualizado pelo JavaScript quando uma vocação é selecionada. O botão de submit (Criar Personagem) deve estar habilitado quando todos os campos forem preenchidos. No seu código, o botão de submit está desabilitado (disabled), o que pode ser a causa do problema. Verifique se o JavaScript está habilitando o botão após a seleção da vocação e o preenchimento dos campos obrigatórios. 3. Verifique a Função selectpdt Verifique se a função JavaScript selectpdt está sendo chamada corretamente ao clicar em uma vocação. Você pode adicionar um console.log para depuração:   function selectpdt(id) { console.log('Vocation selected:', id); // Adicione isso para verificar se a função é chamada document.getElementById('pdt_id').value = id; // Resto do código }   4. Verifique o Código PHP para Processamento de Dados Certifique-se de que o valor de $_POST['pdt_id'] está sendo corretamente verificado e validado no código PHP. Aqui está uma parte relevante do seu código:   // Validate vocation id if (!in_array((int)$_POST['pdt_id'], $config['available_vocations'])) { $errors[] = 'Permissão negada. Vocação errada.'; } Certifique-se de que o $_POST['pdt_id'] está sendo enviado corretamente e contém um ID válido. atualizando seu código deve ficar mais ou menos assim:   <?php require_once 'engine/init.php'; protect_page(); include 'layout/overall/header.php'; $imagem = 'http://' . $_SERVER['HTTP_HOST'] . '/layout/images/vocstatus'; $statusid = 1; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $required_fields = array('name', 'selected_town', 'pdt_id'); $errors = array(); foreach ($required_fields as $field) { if (empty($_POST[$field])) { $errors[] = 'You need to fill in all fields.'; break; } } if (empty($errors)) { if (!Token::isValid($_POST['token'])) { $errors[] = 'O token é inválido.'; } $_POST['name'] = validate_name($_POST['name']); if ($_POST['name'] === false) { $errors[] = 'Seu nome não pode conter mais de 2 palavras.'; } else { if (user_character_exist($_POST['name']) !== false) { $errors[] = 'Desculpe, esse nome de personagem já existe.'; } if (!preg_match("/^[a-zA-Z_ ]+$/", $_POST['name'])) { $errors[] = 'Seu nome pode conter apenas a-z, A-Z e espaços.'; } if (strlen($_POST['name']) < $config['minL'] || strlen($_POST['name']) > $config['maxL']) { $errors[] = 'O nome do seu personagem deve estar entre ' . $config['minL'] . ' - ' . $config['maxL'] . ' caracteres longos.'; } if (in_array(strtolower($_POST['name']), $config['invalidNames'])) { $errors[] = 'Este nome de usuario esta bloqueado.'; } $resname = explode(" ", $_POST['name']); foreach ($resname as $res) { if (in_array(strtolower($res), $config['invalidNameTags'])) { $errors[] = 'Seu nome de usuário contém uma palavra restrita.'; } else if (strlen($res) == 1) { $errors[] = 'Palavras muito curtas em seu nome.'; } } if (!in_array((int)$_POST['pdt_id'], $config['available_vocations'])) { $errors[] = 'Permissão negada. Vocação errada.'; } $char_count = user_character_list_count($session_user_id); if ($char_count >= $config['max_characters']) { $errors[] = 'Sua conta não tem permissão para ter mais de ' . $config['max_characters'] . ' personagens.'; } if (validate_ip(getIP()) === false && $config['validate_IP'] === true) { $errors[] = 'Falha ao reconhecer o seu endereço IP. (Não é um endereço IPv4 válido).'; } } } } ?> <div id="title"> <div class="name">Criar novo personagem</div> </div> <br> <?php if (isset($_GET['success']) && empty($_GET['success'])) { echo 'Parabéns! Seu personagem foi criado. Te vejo no jogo!'; } else { if ($_SERVER['REQUEST_METHOD'] === 'POST' && empty($errors)) { if ($config['log_ip']) { znote_visitor_insert_detailed_data(2); } // Register $character_data = array( 'name' => format_character_name($_POST['name']), 'elo_points' => 0, 'account_id' => $session_user_id, 'vocation' => $_POST['pdt_id'], 'lastip' => getIPLong(), 'created' => time() ); user_create_character($character_data); header('Location: createcharacter.php?success'); exit(); } else if (!empty($errors)) { echo '<font color="red"><b>'; echo output_errors($errors); echo '</b></font>'; } ?> <br> <link rel="stylesheet" type="text/css" href="layout/css/style.css"> <script type="text/javascript" src="/layout/js/selection.js"></script> <center> <div class="Text"> <br>Selecione o personagem desejado:</div> <div class="caixa" style="width: 600px;height: 300px;overflow: auto;"> <table border="0" cellspacing="10" cellpadding="0"> <?php $y = 0; $i = 0; foreach ($config['available_vocations'] as $id) { if ($i == 0) { echo '<tr>'; } $i++; $y++; ?> <td> <table style="width:115px;" border="0" cellspacing="0" cellpadding="0"> <tr style="height:75px;"> <td> <div id="i<?php echo $id; ?>" class="pdt_cls" style="background-image:url('<?php echo $config['images']['selectVocation']; ?>/<?php echo $id; ?>.png'), url(/layout/images/donate/back.png);"> <div id="b<?php echo $id; ?>" class="pdt_blc" value="<?php echo $id; ?>" onclick="selectpdt(<?php echo $id; ?>);"></div> </div> </td> </tr> <tr> <td> <center> <div class="pdt_nme"><?php echo vocation_id_to_name($id); ?></div> </center> </td> </tr> </table> </td> <td> <div style="width:20px;"></div> </td> <?php if ($i == 3) { echo '</tr>'; $i = 0; } } ?> </table> </div> <br> <form action="" method="post"> <li> <font color="white">Digite o nome para seu personagem:</font> <br> <input type="text" name="name"> </li> <input id="pdt_id" name="pdt_id" type="hidden" value="0" /> <table> <tr> <td> <input id="ckb_obs" name="ckb_obs" onclick="chkbox();" type="checkbox" /> </td> <td> <label class="Text" style="width:100%;" for="ckb_obs"> <center>Estou ciente das <a href="/termos.php" style="font-family:monospace; font-size:13px; font-weight:bold;">observações referentes a criação do personagem.</a></center> </label> </td> </tr> </table> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>" /> <div style="height:20px;"></div> <input id="Button" type="submit" value="Criar Personagem" /> </form> </center> <?php } include 'layout/overall/footer.php'; ?>  
    • Parece que há dois problemas distintos com sua configuração: 1. Erro ao Abrir o Arquivo de Configuração O erro indica que o arquivo config.lua não pôde ser encontrado no caminho especificado. Verifique o seguinte: Caminho do Arquivo: Certifique-se de que o caminho D:/OTServ8.60/config.lua está correto e que o arquivo config.lua realmente existe nesse diretório. Permissões de Arquivo: Verifique se o servidor web (por exemplo, Apache no XAMPP) tem permissões suficientes para ler o arquivo config.lua. Extensão do Arquivo: Confirme se o arquivo realmente tem a extensão .lua e não .txt ou outra extensão. 2. Erro de Tipo de Banco de Dados O segundo erro indica que o tipo de banco de dados não está sendo reconhecido corretamente. Pode ser que o problema esteja na forma como o arquivo config.lua está sendo lido e interpretado. A configuração que você forneceu parece correta, mas vamos verificar algumas possíveis soluções: Passos para Resolver o Problema Verifique a Leitura do Arquivo config.lua Certifique-se de que o PHP está configurado corretamente para ler arquivos .lua. Muitas vezes, o PHP pode ter problemas com formatos de arquivo que não são padrão. Em vez de parse_ini_file, você pode usar outra abordagem para carregar e interpretar o arquivo Lua. Valide a Sintaxe do Arquivo config.lua Embora o conteúdo pareça correto, o formato do arquivo Lua deve ser adequado. Aqui está um exemplo básico de como o config.lua pode estar estruturado:   sqlType = "mysql" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "" sqlDatabase = "hogwarts" sqliteDatabase = "orion.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "sha1"   Certifique-se de que não há caracteres extras ou formatação incorreta. Verifique a Configuração do PHP Se o PHP está tentando abrir o arquivo .lua como se fosse um arquivo INI, você pode ter que ajustar o código PHP. Em vez de parse_ini_file, você pode precisar usar uma biblioteca Lua específica ou ler o arquivo Lua manualmente e processá-lo. Por exemplo:   // Exemplo de leitura manual $config = file_get_contents('D:/OTServ8.60/config.lua'); // Faça o parsing necessário aqui   Verifique a Configuração do Banco de Dados Certifique-se de que seu banco de dados está configurado corretamente e que o nome do banco de dados (hogwarts) existe. Além disso, o tipo de banco de dados deve ser mysql conforme definido em sqlType.
    • Abra o arquivo config.lua: Este arquivo geralmente está localizado na pasta de configuração do seu servidor, como data/ ou config/. Procure por definições relacionadas a canais de NPC: O ID do canal NPC pode estar definido diretamente no arquivo ou pode haver uma referência para a tabela de canais. Você pode procurar por algo semelhante a: -- Definições de canais channels = { [1] = {name = "Default", description = "Canal padrão"}, [2] = {name = "NPC", description = "Canal dos NPCs"}, -- Outros canais }   Verifique o Código-Fonte do Servidor Localize o arquivo de definição de canais: Isso pode estar em um arquivo relacionado a canais ou mensagens. Pode ser algo como channels.cpp ou um arquivo similar. Procure pela definição do canal NPC: Procure por IDs ou definições que correspondam ao canal de NPCs.
    • Encontre o arquivo de configuração do cliente: Normalmente, isso pode ser um arquivo .cfg, .ini ou um arquivo XML/JSON, dependendo do cliente que você está usando. Abra o arquivo de configuração: Use um editor de texto para abrir o arquivo. Procure por configurações relacionadas à barra de saúde: Algo como healthinfo ou statusbar. Se o seu cliente usa XML para configurações, você pode encontrar algo assim:   <interface> <healthinfo visible="false" /> </interface> Você precisaria alterar visible="false" para visible="true":   <interface> <healthinfo visible="true" /> </interface>   2. Modificação no Código-Fonte Se a configuração não estiver diretamente disponível em um arquivo de configuração, você pode precisar modificar o código-fonte do cliente. Aqui está um exemplo de como você pode fazer isso em C++: Exemplo em C++ Encontre a função de inicialização da interface do cliente: Esta função geralmente é responsável por configurar e renderizar os elementos da interface do usuário quando o cliente é iniciado. Adicione o código para tornar a barra de saúde visível: Isso pode ser algo assim:   void Interface::initialize() { // Outras inicializações // Certifique-se de que a barra de saúde esteja visível healthInfoBar->setVisible(true); }  
×
×
  • Create New...