Suporte ao desenvolvimento de jogos!


    Mudar Classe Com Item [Ajuda]

    Compartilhe

    dragonslayers
    Novato
    Novato

    Mensagens : 9
    Créditos : 0

    Mudar Classe Com Item [Ajuda]

    Mensagem por dragonslayers em Sab Jul 01, 2017 11:47 pm

    Boa noite!
    Galera estava estudando esse sistema de mudar de classe com item, mas deu um errinho aqui. Alguém poderia me ajuda-lo a resolver?
    Link do Tutorial: http://www.aldeiarpg.com/t9566-gfmudar-classe-por-item
    Link do Errinho: https://imgur.com/s83hEqH
    Engine: Eclipse origins 2.0
    Erro no ModPlayer:
    Mais precisamente na seguinte parte:

         ' Função do sistema
                  SetPlayerClass Index, Item(itemnum).Classe
                  If Player(Index).Sex = SEX_MALE Then
                    SetPlayerSprite Index, Class(GetPlayerClass(Index)).MaleSprite(1)    <<<< Erro
                  Else
                    SetPlayerSprite Index, Class(GetPlayerClass(Index)).FemaleSprite(1) <<< Erro
                  End If

    Obs: Se for possível colocar para mudar além da classe a sprite tb, estarei grato essa é a dúvida de vários iniciantes!
    Quem ajudar eu dou uma barra de chocolate light auehauehauhe
    Obrigado pela atenção, fico no aguardo!
    avatar
    nescau97
    Novato
    Novato

    Mensagens : 15
    Créditos : 0

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por nescau97 em Dom Jul 02, 2017 12:58 am

    Vixe mano, tb estava em busca desse sistema... Espero que possam nos ajudar Very Happy
    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 728
    Créditos : 125

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por Profane ~ em Dom Jul 02, 2017 1:22 pm

    Oin

    Os pequenos estão crescenu, mas tão crescendo tão errado ;c
    Mandando print coisa fofa <3 Mas seu print não quer dizer nada.

    Do que adianta trazer a linha pintada de amarelo e não dizer que erro é informado? Vb é tão lindo que ele aponta a linha e ainda diz para você qual é o erro, só não ver que nem quer.

    No mais é isso, eu poderia enumerar mais de 10 erros diferentes possiveis, so com essa print ou essas linhas ;c 

    Mas penso que provavelmente o erro seja aki:


    Código:
     SetPlayerSprite Index, Class(GetPlayerClass(Index)).MaleSprite(1) 




    Onde tem .MaleSprite(1) , Ai se enumeraria uma Lista da Class onde se tem o (1), 


    E provavelmente a .MaleSprite ou .FemaleSprite , não se tenha (X) valor dentro do parenteses,e  nem mesmo tenha parenteses.


    Não tenha a engine e não estou em casa para dizer a fundo se poderia ser isso ;v e é uma suposição em cima de um erro não revelado.


    Como corrigir caso eu esteja certa? 
    Basta apagar o .(1) do Male e do FemaleSprite ~


    Att ;c No aguardo de mais infos


    _________________
    "If you don't belong here, just build a place where you do."

    dragonslayers
    Novato
    Novato

    Mensagens : 9
    Créditos : 0

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por dragonslayers em Dom Jul 02, 2017 8:10 pm

    Caro mestre ululu, bem o erro está ocorrendo onde vc mencionou   
     
    CÓDIGO:
    Código:
     SetPlayerSprite Index, Class(GetPlayerClass(Index)).MaleSprite(1) 


    Obs: Tentei usar essa solução no qual foi passada, removendo o (1) das seguintes linhas:
     SetPlayerSprite Index, Class(GetPlayerClass(Index)).MaleSprite(1)
    SetPlayerSprite Index, Class(GetPlayerClass(Index)).FemaleSprite(1) 

    Infelizmente não obtive os resultados para resolver o erro, segue abaixo o link do errinho ><
    Link: https://imgur.com/a/NL7ek

    Agradeço de coração pelo suporte, quando crescer quero ser igual ao senhor auehauehuahe tmj!
    avatar
    Kies
    Membro de Honra
    Membro de Honra

    Mensagens : 1080
    Créditos : 115

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por Kies em Dom Jul 02, 2017 8:18 pm

    @dragonslayers escreveu:Caro mestre ululu, bem o erro está ocorrendo onde vc mencionou   
     
    CÓDIGO:
    Código:
     SetPlayerSprite Index, Class(GetPlayerClass(Index)).MaleSprite(1) 


    Obs: Tentei usar essa solução no qual foi passada, removendo o (1) das seguintes linhas:
     SetPlayerSprite Index, Class(GetPlayerClass(Index)).MaleSprite(1)
    SetPlayerSprite Index, Class(GetPlayerClass(Index)).FemaleSprite(1) 

    Infelizmente não obtive os resultados para resolver o erro, segue abaixo o link do errinho ><
    Link: https://imgur.com/a/NL7ek

    Agradeço de coração pelo suporte, quando crescer quero ser igual ao senhor auehauehuahe tmj!

    Oque ele está se referindo é que quando da erro em alguma coisa no visual basic se tu passar o mouse por cima da linha que aponta o erro o visual basic ira te informar o erro que esta acontecendo


    _________________
    Visite Vofawus Online no IndieDB


    Vofawus Online

    dragonslayers
    Novato
    Novato

    Mensagens : 9
    Créditos : 0

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por dragonslayers em Seg Jul 03, 2017 12:11 am

    Boa noite!
    Obrigado pela ajuda Kies, tentei ver aqui, mas não está aparecendo nada na linha do erro. Sou iniciante ainda no mundo da programação se for possível me dar um suporte fico grato!
    Att,
    Monkey D. Dragon
    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 728
    Créditos : 125

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por Profane ~ em Seg Jul 03, 2017 8:56 am

    Dessa vez com a print do Imgur, ele trouxe o que seria mais "certo".

    Se você ler o erro e procurar no Google, intuitivamente o google responde que esse erro no Vb6 Mismatch ocorre devido possibilidades de:
    - Incoerência na Chamada 
    - Erro de Conversão de valores ~ Ex: Double to byte ~

    Entre outros ~

    Mas no seu caso ali da foto fora incoerência mesmo, ja que de fato o Class.MaleSprite() tem valor dentro do List (); 

    Eu não sabia >< já que não tenho a engine, abri uma Eo qualquer e vi que o MaleSprite() e o FemaleSprite() contam com valores internos listados.

    A questão agora, se ainda não tiver resolvido é retornar o .(1) e trazer novamente o ERRO + a Linha, basta dizer qual o error.. Mimatch? Out of Range? ~ e a linha para averiguarmos.

    Att


    _________________
    "If you don't belong here, just build a place where you do."

    dragonslayers
    Novato
    Novato

    Mensagens : 9
    Créditos : 0

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por dragonslayers em Seg Jul 03, 2017 7:51 pm

    Olá Mestre, 
    Primeiramente quero agradecê-lo pela paciência ><
    Agora vamos lá, o erro é "Subscript Out of Range".
    Link 1: https://imgur.com/a/tSinR

    Link 2: https://imgur.com/a/DAIeI

    Att
    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 728
    Créditos : 125

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por Profane ~ em Seg Jul 03, 2017 11:11 pm

    Pronto, vi que é um Out Of range.


    Bem, chegamos a analisar então isso aqui:

    Código:
     SetPlayerSprite Index, Class(GetPlayerClass(Index)).MaleSprite(1) 


    O Index é meio tenso ser o Problema, OUt of Range ocorre quando o "limite de valor" estoura geralmente.

    Se é um Byte então seria 255 ~
    Mas poderia ser outras coisas tbm.

    O erro é possivelmente nessa parte aqui:
    Código:
    Class(GetPlayerClass(Index)).MaleSprite(1) 

    Esse valor é:
    Código:
    MaleSprite() As Long

    Long ;c

    Faça um teste, Não use o Class(get...).MaleSprite(X), e sim apenas 1 numero da Pasta. Por exemplo, 1 , 2 ,3...

    Seria o numero da Sprite na Pasta Characters.

    Caso funcione temos a certeza que é na forma a qual ele esta buscando a Sprite decorrente a classe do Jogador, e para isso podemos criar outras alternativas.


    _________________
    "If you don't belong here, just build a place where you do."

    dragonslayers
    Novato
    Novato

    Mensagens : 9
    Créditos : 0

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por dragonslayers em Ter Jul 04, 2017 1:58 am

    Boa noite!
    Então, fiz os testes apaguei as linhas:
    SetPlayerSprite Index, Class(GetPlayerClass(Index)).MaleSprite(1)
    SetPlayerSprite Index, Class(GetPlayerClass(Index)).FemaleSprite(1) 


    Obs: O erro sumiu após isso ><


    Att

    Conteúdo patrocinado

    Re: Mudar Classe Com Item [Ajuda]

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Ter Out 23, 2018 5:15 pm