Ir para conteúdo
  • 0

[Resolvido] Selecionar gênero de acordo com vocação ao criar personagens.


Pergunta

Salve galera, poderiam me ajudar por favor?

Eu gostaria de ocultar o campo "Gênero" na criação de personagens, que atualmente está assim:

 

CreateCharacter.png.ff49f908e9b998af2f95cdc275a38f72.png

 

Sendo assim, ao selecionar uma vocação e clicar no botão "Create", o gênero deverá ser escolhido de acordo com a vocação, por exemplo:

Se for Goku, Vegeta, Trunks... o gênero será masculino;

Se for Bulma, Pan, Videl... o gênero será feminino.

 

Segue o create_character.php:

  Mostrar conteúdo oculto

 

8 respostass a esta questão

Posts Recomendados

  • 0

@dalvorsn Não recomendo dessa forma, assim os players poderiam burlar fácil editando o html, precisando de outras formas de verificação.

 

Você precisa tirar o select, como já disseram, e editar a função create_character no arquivo system\application\controllers\character.php.

La tem um comando assim (ou parecido): $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');, ele verifica o sexo do personagem.

Antes desse comando você pode fazer algo assim (não testei):

if (in_array($_POST['vocation'], array(1, 2, 3, 4))) {
	$_POST['sex'] = 0;
} else if (in_array($_POST['vocation'], array(5, 6, 7, 8))) {
	$_POST['sex'] = 1;
} else {
	$_POST['sex'] = -1;
}

Dessa forma, se a vocação escolhida for 1, 2, 3 ou 4 terá o sex 0 (feminino), se for 5, 6, 7, 8 terá o sex 1 (masculino). Caso não seja nenhum desses dará erro de sexo inválido e não criará o personagem.

  • 0

Basta tirar essa parte:

<label>Gênero:</label><select name='sex'>
	<option value="1">Masculino</option>
	<option value="0">Feminino</option>
</select><br>
Tenho quase certeza que se você tirar essa parte, na hora que o player criar seu personagem ele 
vai vir com a configuração base do personagem (sample)..
Editado por Behmen
  • 0
  Em 13/11/2017 em 15:33, Behmen disse:

Basta tirar essa parte:

<label>Gênero:</label><select name='sex'>
	<option value="1">Masculino</option>
	<option value="0">Feminino</option>
</select><br>
Tenho quase certeza que se você tirar essa parte, na hora que o player criar seu personagem ele 
vai vir com a configuração base do personagem (sample)..
Expand  

 

Não deu certo, o site obriga selecionar o gênero mesmo sem essas tags no código PHP, o site retorna a seguinte mensagem:

The Sex field is required.

Infelizmente não está pegando da base dos personagens (sample) =/

Possui alguma outra ideia?

Editado por Renan Morais
  • 0

Remove o select de genero e altera o script de submissão.

 

function createCharacter() {
                    $('.loader').show();
                    var form = $('#createCharacter').serialize();

                    form.sex = 0;
                    if($.inArray(parseInt(form.vocation), [1,2,3]) != -1 ) {
                        form.sex = 1; 
                    }

                    $.ajax({
                        url: '<?php echo WEBSITE; ?>/index.php/character/create_character/1',
                          type: 'post',
                          data: form,
                          success: function(data) {
                            $('.errors').html(data);
                            $('.loader').hide();
                          }
                    });
                }

Supondo que as vocações que são masculinas sejam 1, 2 e 3

  • 0
  Em 14/11/2017 em 16:31, dalvorsn disse:

Remove o select de genero e altera o script de submissão.

 

function createCharacter() {
                    $('.loader').show();
                    var form = $('#createCharacter').serialize();

                    form.sex = 0;
                    if($.inArray(parseInt(form.vocation), [1,2,3]) != -1 ) {
                        form.sex = 1; 
                    }

                    $.ajax({
                        url: '<?php echo WEBSITE; ?>/index.php/character/create_character/1',
                          type: 'post',
                          data: form,
                          success: function(data) {
                            $('.errors').html(data);
                            $('.loader').hide();
                          }
                    });
                }

Supondo que as vocações que são masculinas sejam 1, 2 e 3

Expand  

 

Removi o select de gênero e substitui a function, mas infelizmente não funcionou... =/

O site ainda apresenta a seguinte mensagem: The Sex field is required.

 

Identei o código pra ficar mais fácil a visualização, mas atualmente está assim:

  Mostrar conteúdo oculto

 

  • 0
  Em 15/11/2017 em 13:40, Kydrai disse:

@dalvorsn Não recomendo dessa forma, assim os players poderiam burlar fácil editando o html, precisando de outras formas de verificação.

 

Você precisa tirar o select, como já disseram, e editar a função create_character no arquivo system\application\controllers\character.php.

La tem um comando assim (ou parecido): $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');, ele verifica o sexo do personagem.

Antes desse comando você pode fazer algo assim (não testei):

if (in_array($_POST['vocation'], array(1, 2, 3, 4))) {
	$_POST['sex'] = 0;
} else if (in_array($_POST['vocation'], array(5, 6, 7, 8))) {
	$_POST['sex'] = 1;
} else {
	$_POST['sex'] = -1;
}

Dessa forma, se a vocação escolhida for 1, 2, 3 ou 4 terá o sex 0 (feminino), se for 5, 6, 7, 8 terá o sex 1 (masculino). Caso não seja nenhum desses dará erro de sexo inválido e não criará o personagem.

Expand  

 

Resolvido, muito obrigado a todos que contribuíram!

No arquivo character.php deixei a validação das vocações da seguinte forma:

if (in_array($_POST['vocation'], array(140,256,280,364))) {
	$_POST['sex'] = 0;
} else {
	$_POST['sex'] = 1;
}

E neste mesmo arquivo, tive que remover (deixei apenas em comentário) a checagem de gênero:

/*$this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');*/

Pois mesmo com a validação das vocações, o site ainda apresentava a mensagem: The Sex field is required.

  • 0
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.
  • 0
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...