Sprite mudar ao usar poder e mudar os hotbar.

    Compartilhe

    rjnet
    Novato
    Novato

    Mensagens : 1
    Créditos : 0

    Sprite mudar ao usar poder e mudar os hotbar.

    Mensagem por rjnet em Qua Jul 08, 2015 4:38 pm

    Eu tenho dois pedidos de ajuda para fazer a vocês, isso para qualquer versão da EO, mas por favor caso va ajudar fale em qual versão é isso.

    Eu quero saber como mudar aqueles atalhos de poder, onde aperta "f1, f2, f3 etc..." queria saber como mudar para teclas normais como "a,s,d,f"...

    Outra coisa que eu gostaria de saber é se tem como mudar a sprite quando o personagem usar um poder, mudar so a animação, por que eu achei um tutorial que muda a animação na hora de atacar ai eu queria saber como que muda a animação quando usa um poder.

    Spooky
    Membro Ativo
    Membro Ativo

    Mensagens : 253
    Créditos : 21

    Re: Sprite mudar ao usar poder e mudar os hotbar.

    Mensagem por Spooky em Sab Ago 08, 2015 12:06 pm

    rapaz,  não sei se tem como mas acho que é fácil, mudar os atalhos de poder (nunca tentei o.O)
    Mas eu tô achando que pode dar merda ao mudar , pois quando você for escrever algo que tenha as teclas que você colocou no atalho de poder . a skill pode sair (é o que eu to achando...)


    _________________
    Sign

    Sign¹:

    Sign²:

    Profane ~
    Moderador Local
    Moderador Local

    Mensagens : 366
    Créditos : 66

    Re: Sprite mudar ao usar poder e mudar os hotbar.

    Mensagem por Profane ~ em Sex Ago 14, 2015 2:44 am

    Spooky escreveu:rapaz,  não sei se tem como mas acho que é fácil, mudar os atalhos de poder (nunca tentei o.O)
    Mas eu tô achando que pode dar merda ao mudar , pois quando você for escrever algo que tenha as teclas que você colocou no atalho de poder . a skill pode sair (é o que eu to achando...)

    Não ocorre Spooky, por uma condição chamada, ChatOn.

    Pelo menos a partir do 2.3 (Quase certeza); Fora adicionado esta função para impedir a leitura da input dessa parte caso o chat esteja Online assim não soltando Skills,trocando equip, usando item... 

    O caso é : Se sua engine for a 2.0 ou alguma que não tenha o ChatOn;Não é interessante que use as VbKey comuns; A menos que você seja capaz de a colocar como restrição.

    Como sei que meu Eo tem o ChatOn? Abra o Source e procure por ChatOn; Achou? Boa! Não achou? Então não recomendo que prossiga aqui :

    No Lado do Client (Client Side), procure pelo ModInput; modulo que cuida dos comandos manuais de click, e teclado. 

    Procure por algo como isso aqui :

    Código:
        ' hotbar
        If Not chatOn Then
            For i = 1 To 9
                If KeyCode = 48 + i Then
                    SendHotbarUse i
                End If
            Next
            If KeyCode = 48 Then ' 0
                SendHotbarUse 10
            ElseIf KeyCode = 189 Then ' -
                SendHotbarUse 11
            ElseIf KeyCode = 187 Then ' =
                SendHotbarUse 12
            End If
        End If


    Originalmente se tem 12 Slots Básicos de Hotkey.

    I = 1 to 9  +  10  /  11 e 12.

    E agora?. Bom ele tem um loop para facilitar trabalho. Cabe a você identificar caso sua engine seja diferente mas normalmente é o padrão, é interessante adicionar um Select Case para indicar quais as Key's irá querer usar, ou usar o a mudança de KeyState. Um Exemplo:

    Código:
        If GetKeyState(vbKeyA) < 0 And Not chatOn Then
            SendHotbarUse 48
        End If
        If GetKeyState(vbKeyS) < 0 And Not chatOn Then
            SendHotbarUse 49
        End If
        If GetKeyState(vbKeyD) < 0 And Not chatOn Then
            SendHotbarUse 50
        End If
        If GetKeyState(vbKeyF) < 0 And Not chatOn Then
            SendHotbarUse 51
        End If

    Usando A S D F; Para caso seja pressionado e o Chat Não estiver ON, ele irá efetuar o pedido para o server de quem estiver no dito Slot. Lembrando que os slots variam de :

    [ 48 a 57 ] // [ 187 e 189 ]; Caso não seja tais Keys você tem de analisar ou nos informe que buscamos ajudar de forma possível.

    ~

    Agora Profane, continua ali escrito F1 , F2 , F3... Não sou muito ambientado com Dx7, Mas caso seja :

    Procedimento para Dx7:


    Procure pela BltHotbar no ModDirectDraw, dentro dele procure por :

    Código:
     render the letters
            num = "F" & Str(i)
            DrawText frmMain.picHotbar.hDC, dRECT.Left + 2, dRECT.top + 16, num, QBColor(White)
        Next
        frmMain.picHotbar.Refresh


    argh, achamos o Safado; [Num =  "F" & Str(i) ] Crie então

    Apague isso e procure fazer da seguinte forma : 


    Código:
    For I = 1 to MAX_HOTBAR
    Select Case 1
     num = "A"
            DrawText frmMain.picHotbar.hDC, dRECT.Left + 2, dRECT.top + 16, num, QBColor(White)
    Select Case 2
     num = "S"
            DrawText frmMain.picHotbar.hDC, dRECT.Left + 2, dRECT.top + 16, num, QBColor(White)
    Select Case 3
     num = "D"
            DrawText frmMain.picHotbar.hDC, dRECT.Left + 2, dRECT.top + 16, num, QBColor(White)
    Select Case 4
     num = "F"
            DrawText frmMain.picHotbar.hDC, dRECT.Left + 2, dRECT.top + 16, num, QBColor(White)


    End Select
    Next


    # Lembrando que são exemplos de aplicação, ah formas de fazer melhor? Sim; Mas por hora acho mais simples você fazer desta forma. Separando e entendendo quem é quem, para caso necessite de Edição.



    Caso seja Dx8 , aplicar a mesma forma, porém procurando a DrawHotBar no ModGraphics; Organizando claro o Render de X e Y. Adicionando um valor fixo mutável ou a cada Case. 


    Espero ter ajudado pelo menos um pouco =P Caso dê algo fora do normal ou errado; corrijam abaixo ou tragam para que possamos ajudar.

    Att

      Data/hora atual: Sex Dez 09, 2016 4:44 am