MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Variação de Golpes do personagem

+2
SkyZero
maykel
6 participantes

Ir para baixo

Variação de Golpes do personagem Empty Variação de Golpes do personagem

Mensagem por maykel Ter 11 Jan 2011, 20:18

olá a todos, eu tava tentando colokar pro player dar chutes e socos aleatóriamente..
dae um amigo deu a dica que é alguma coisa na BltPlayer()

eu dei uma olhada la... e percebi que devo ter que mudar algo relacionado com uma variavel chamada
Anim que tem la...
Porém eu não faço ideia de que valor eu teria de colocar para que a animação passace para a quarta (4º) frame que no caso seria o chute

segue abaixo o código:

Código:
Sub BltPlayer(ByVal Index As Long)
Dim Anim As Byte
Dim X As Long, Y As Long
Dim AttackSpeed As Long

    If GetPlayerWeaponSlot(Index) > 0 Then
        AttackSpeed = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AttackSpeed
    Else
        AttackSpeed = 1000
    End If

    ' Only used if ever want to switch to blt rather then bltfast
    ' I suggest you don't use, because custom sizes won't work any longer
    With rec_pos
        .Top = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - (SIZE_Y - PIC_Y)
        .Bottom = .Top + PIC_Y
        .Left = GetPlayerX(Index) * PIC_X + Player(Index).XOffset + ((SIZE_X - PIC_X) / 2)
        .Right = .Left + PIC_X + ((SIZE_X - PIC_X) / 2)
    End With
   
    ' Check for animation
    Anim = 0
    If Player(Index).Attacking = 0 Then
        Select Case GetPlayerDir(Index)
            Case DIR_UP
                If (Player(Index).YOffset < PIC_Y / 2) Then Anim = 1
            Case DIR_DOWN
                If (Player(Index).YOffset > PIC_Y / 2 * -1) Then Anim = 1
            Case DIR_LEFT
                If (Player(Index).XOffset < PIC_Y / 2) Then Anim = 1
            Case DIR_RIGHT
                If (Player(Index).XOffset > PIC_Y / 2 * -1) Then Anim = 1
        End Select
    Else
        If Player(Index).AttackTimer + Int(AttackSpeed / 2) > GetTickCount Then
            Anim = 2
        End If
    End If
   
    ' Check to see if we want to stop making him attack
    If Player(Index).AttackTimer + AttackSpeed < GetTickCount Then
        Player(Index).Attacking = 0
        Player(Index).AttackTimer = 0
    End If
   
    rec.Top = GetPlayerSprite(Index) * SIZE_Y + (SIZE_Y - PIC_Y)
    rec.Bottom = rec.Top + PIC_Y
    rec.Left = (GetPlayerDir(Index) * (3 * (SIZE_X / PIC_X)) + (Anim * (SIZE_X / PIC_X))) * PIC_X
    rec.Right = rec.Left + SIZE_X

    X = GetPlayerX(Index) * PIC_X - (SIZE_X - PIC_X) / 2 + sx + Player(Index).XOffset
    Y = GetPlayerY(Index) * PIC_Y - (SIZE_Y - PIC_Y) + sx + Player(Index).YOffset + (SIZE_Y - PIC_Y)
   
    If SIZE_X > PIC_X Then
        If X < 0 Then
            X = Player(Index).XOffset + sx + ((SIZE_X - PIC_X) / 2)
            If GetPlayerDir(Index) = DIR_RIGHT And Player(Index).Moving > 0 Then
                rec.Left = rec.Left - Player(Index).XOffset
            Else
                rec.Left = rec.Left - Player(Index).XOffset + ((SIZE_X - PIC_X) / 2)
            End If
        End If
       
        If X > MAX_MAPX * 32 Then
            X = MAX_MAPX * 32 + sx - ((SIZE_X - PIC_X) / 2) + Player(Index).XOffset
            If GetPlayerDir(Index) = DIR_LEFT And Player(Index).Moving > 0 Then
                rec.Right = rec.Right + Player(Index).XOffset
            Else
                rec.Right = rec.Right + Player(Index).XOffset - ((SIZE_X - PIC_X) / 2)
            End If
        End If
    End If
   
    Call DD_BackBuffer.BltFast(X - (NewPlayerX * PIC_X) - NewXOffset, Y - (NewPlayerY * PIC_Y) - NewYOffset, DD_SpriteSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
End Sub

Espero que me ajudem..
maykel
maykel
Membro
Membro

Mensagens : 133

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por SkyZero Ter 11 Jan 2011, 23:04

Olha nen li o código mas vou dar outra dica , você terá que almentar a quantidade de frames lido das sprites . Existe um Dragon Ball online Frances que tem isso . não lembro osite se nao passava ;D
SkyZero
SkyZero
Membro Veterano
Membro Veterano

Mensagens : 890

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por maykel Ter 11 Jan 2011, 23:08

foi deste dbz frances que eu tirei a ideia ^^
um outro cara me ajudou deu certo.. porém esta pegando o frame 3 e 4 como um unico só!

eu sei que para ser 2 anim diferente eu tenho que editar algo nessa linha:

Código:
Else
        If Player(Index).AttackTimer + Int(AttackSpeed / 2) > GetTickCount Then
            Anim = 2
        End If
    End If

eu queria faezr um random (Rnd) pra caso caisse em certo valor ele fosse o anim 3 senão era anim 2...
mas eu tentei colokar um rnd, e ele passa o anim 2 e 3 varias vezes...
dai acho q isso eh algo relacionado com o GetTickCount...
maykel
maykel
Membro
Membro

Mensagens : 133

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por Darkpeople196 Ter 11 Jan 2011, 23:30

maykel man eu tentei a mema coisa que tu aquie tb não funfo sorry mas vai tentano que este é o caminho viu
Darkpeople196
Darkpeople196
Membro Vitalicio
Membro Vitalicio

Mensagens : 612

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por maykel Qua 12 Jan 2011, 00:05

uhum, hj a noite vou ter mais tempo, vou pensar numa logica q de certo..
maykel
maykel
Membro
Membro

Mensagens : 133

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por St4rk Qua 12 Jan 2011, 06:54

Parabéns, agora uma dúvida foi vocÊ quem fez ? se não foi, ponha os créditos originais.
St4rk
St4rk
Membro de Honra
Membro de Honra

Mensagens : 2251

http://mylittledev.wordpress.com

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por Lucas Lôpo Qua 12 Jan 2011, 09:06

OmegaZero escreveu:Parabéns, agora uma dúvida foi vocÊ quem fez ? se não foi, ponha os créditos originais.

Fez o que? '-'
Ele ta querendo ajuda.
Lucas Lôpo
Lucas Lôpo
Membro Veterano
Membro Veterano

Mensagens : 833

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por maykel Qua 12 Jan 2011, 16:26

hsuahsuas, eu fiz o pedido ^^
maykel
maykel
Membro
Membro

Mensagens : 133

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por Karlos Qui 13 Jan 2011, 10:28

coloque em radom assim uam hora o golpe poderá ser um chute outra hora poderá ser um soco outra hora uma rasteira assim por diante Smile
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por maykel Qui 13 Jan 2011, 10:51

eu colokei random, mas msm assim ele usa os 2 frames como 1 ataque só..
mas decidi que nem vou usar ^^ vai dar muito trabalho fazer mais sprites para todos q tenho.
maykel
maykel
Membro
Membro

Mensagens : 133

Ir para o topo Ir para baixo

Variação de Golpes do personagem Empty Re: Variação de Golpes do personagem

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos