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.

Sprites 32x32 poe 64x32

+2
cenora06
davischramm
6 participantes

Ir para baixo

Sprites 32x32 poe 64x32 Empty Sprites 32x32 poe 64x32

Mensagem por davischramm Seg 27 Fev 2012, 14:01

Este tutorial vai mudar os sprites padrões de seu jogo no Elysium de 32X32 para 32X64...


Procure por:

Código:
Public Const SIZE_Y = 32

Troque por:

Código:
Public Const SIZE_Y = 64

Agora, no frmNewChar, troque todo o código da Sub Timer1_Timer por:

Código:
If cmbClass.ListIndex < 0 Then Exit Sub
 
    Picpic.Sou lammer =D = SIZE_X
    Picpic.Height = SIZE_Y
    Picture4.Sou lammer =D = SIZE_X + 4
    Picture4.Height = SIZE_Y + 4
 
    If optMale.Value = True Then
 
      Call BitBlt(Picpic.hDC, 0, 0, SIZE_X, SIZE_Y, picSprites.hDC,
animi * SIZE_X, Int(Class(cmbClass.ListIndex + 1).MaleSprite) * SIZE_Y,
SRCCOPY)
    Else
        Call BitBlt(Picpic.hDC, 0, 0, SIZE_X,
SIZE_Y, picSprites.hDC, animi * SIZE_X, Int(Class(cmbClass.ListIndex +
1).FemaleSprite) * SIZE_Y, SRCCOPY)
    End If

Procure por:

Código:
Public Sub NpcEditorBltSprite()

Substitua a Sub inteira por:

Código:
Public Sub NpcEditorBltSprite()
    If frmNpcEditor.BigNpc.Value = Checked Then
 
      Call BitBlt(frmNpcEditor.picSprite.hDC, 0, 0, 64, 64,
frmNpcEditor.picSprites.hDC, 3 * 64, frmNpcEditor.scrlSprite.Value * 64,
 SRCCOPY)
    Else
        Call BitBlt(frmNpcEditor.picSprite.hDC,
 0, 0, SIZE_X, SIZE_Y, frmNpcEditor.picSprites.hDC, 3 * SIZE_X,
frmNpcEditor.scrlSprite.Value * SIZE_Y, SRCCOPY)
    End If
End Sub

Procure por:

Código:
Sub BltPlayerTop(ByVal Index As Long)

E substitua o Sub inteiro por:

Código:
 Sub BltPlayerTop(ByVal Index As Long)
    Dim Anim As Byte
    Dim x As Long, y As Long
    Dim AttackSpeed As Long


            If IsPlaying(Index) Then
                If GetPlayerMap(Index) = GetPlayerMap(MyIndex) Then


                    If GetPlayerWeaponSlot(Index) > 0 Then
                        AttackSpeed = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AttackSpeed
                    Else
                        AttackSpeed = 1000
                    End If
                 
                    ' Checar a animação
                    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
                 
                    ' Checar para ver se ele vai parar de atacar
                    If Player(Index).AttackTimer + AttackSpeed < GetTickCount Then
                        Player(Index).Attacking = 0
                        Player(Index).AttackTimer = 0
                    End If
                 
                    rec.Top = GetPlayerSprite(Index) * SIZE_Y
                    rec.Bottom = rec.Top + (SIZE_Y - 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
                 
                    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 If
            End If
    End Sub

Agora, vá no modGameLogic, procure por Sub BltPlayerGuildName(ByVal Index As Long) e mude a Sub toda por:

Código:
Sub BltPlayerGuildName(ByVal Index As Long)
    Dim TextX As Long
    Dim TextY As Long
    Dim Color As Long


        If GetPlayerGuild(Index) = vbNullString Then Exit Sub


        ' Check access level
        If GetPlayerPK(Index) = NO Then
            Select Case GetPlayerGuildAccess(Index)
                Case 0
                    If GetPlayerSTR(Index) > 0 Then
                        Color = QBColor(Red)
                    Else
                        Color = QBColor(Red)
                    End If
                Case 1
                    Color = QBColor(BrightCyan)
                Case 2
                    Color = QBColor(Yellow)
                Case 3
                    Color = QBColor(BrightGreen)
                Case 4
                    Color = QBColor(Yellow)
            End Select
        Else
            Color = QBColor(BrightRed)
        End If


 
      TextX = GetPlayerX(Index) * PIC_X + sx + Player(Index).XOffset +
Int(PIC_X * 0.5) - ((Len(GetPlayerGuild(Index)) * 0.5) * 8)
        TextY = GetPlayerY(Index) * PIC_Y + sx + Player(Index).YOffset - Int(PIC_Y * 0.5) - 45
 
      Call DrawText(TexthDC, TextX - (NewPlayerX * PIC_X) - NewXOffset,
 TextY - (NewPlayerY * PIC_Y) - NewYOffset, GetPlayerGuild(Index),
Color)
    End Sub

Agora, voltando ao frmNewChar, ajuste o tamanho do espaço para exibir o sprite para ficar em 32X64, idem no frmNpcEditor.

Espero que gostem Sprites 32x32 poe 64x32 535201
davischramm
davischramm
Novato
Novato

Mensagens : 24

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por cenora06 Seg 27 Fev 2012, 14:12

Cara esse tutorial é muito util, porem eu creio que ja existia 1 tutorial desses no forum, e que isso não passou de 1 Ctrl+C Ctrl+V, mas de qualquer forma oque vale é a intenção, e isso traz o topico denovo ao topo, creio que ajudara os novatos
cenora06
cenora06
Membro Sênior
Membro Sênior

Mensagens : 322

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por davischramm Seg 27 Fev 2012, 16:03

Obrigado,
e nao achei nenhum post igual a esse Sprites 32x32 poe 64x32 824726
davischramm
davischramm
Novato
Novato

Mensagens : 24

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por cenora06 Seg 27 Fev 2012, 16:11

Desculpa pelo post anterior, devo ter confundido com outra area ou até mesmo com o antigo forum, valew por vir postar aki denovo, toma +1 créd pelo meu comentario imbecil
cenora06
cenora06
Membro Sênior
Membro Sênior

Mensagens : 322

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por Pablo Seg 27 Fev 2012, 16:49

na verdade não precisava ter feito isso tudo.. era so mudar o tamanho da sprite usando esse codigo \/

Código:
Public Const SIZE_Y = 32

para
Código:
Public Const SIZE_Y = 64

simplesmente isso.. e se alguem quiser por 64x64 e so por

Código:
 Public Const SIZE_Y = 64
Public Const SIZE_x = 64

no lugar dos codigos..
Pablo
Pablo
Moderador Global
Moderador Global

Mensagens : 1371

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por Mystico Seg 27 Fev 2012, 22:27

ele deve ter colocado akilo pois se só mudar o tamanho pode ficar feio a posição onde soltará as ani etc ^^
Mystico
Mystico
Membro
Membro

Mensagens : 150

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por Ian Ter 28 Fev 2012, 00:33

rapido e simples gostei =p
Ian
Ian
Membro Veterano
Membro Veterano

Mensagens : 1238

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por Pablo Ter 28 Fev 2012, 09:47

Mystico escreveu:ele deve ter colocado akilo pois se só mudar o tamanho pode ficar feio a posição onde soltará as ani etc ^^

acho que não pois uma vez um membro chamado marcoxz7 algo assim me pediu esse sistema e eu testei la da seguinte maneira e funcionou as arrows sem erros e o nome continuou correto tambem ultilizei uma spell reta(spell linear) para testar e funcionou perfeitamente! Very Happy
Pablo
Pablo
Moderador Global
Moderador Global

Mensagens : 1371

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por davischramm Ter 28 Fev 2012, 18:29

Obrigado,
e sim é para as imagens ficarem certas
davischramm
davischramm
Novato
Novato

Mensagens : 24

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

Mensagem por yugimoto Qui 05 Abr 2012, 12:09

cara onde fica esse codigo: Public Const SIZE_Y = 32 em qual pasta?
yugimoto
yugimoto
Membro Junior
Membro Junior

Mensagens : 84

Ir para o topo Ir para baixo

Sprites 32x32 poe 64x32 Empty Re: Sprites 32x32 poe 64x32

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