Tava procurando um tutorial sobre paperdoll mas não achei, tentei ripar da skywyre mas me falta experiência, tem um sistema de "Aura" na Resbak que eu creio que seja o paperdoll, mas está modificado ele só conta 3 frames... Seria difícil alterar isso?
Ou aqui:
Ou nenhum desses ;-;
Creio que seja algo por aqui:
- Código:
If GetPlayerEquipment(Index, Helmet) Then
If Item(GetPlayerEquipment(Index, Helmet)).Paperdoll > 0 Then
If Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width > Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height Then
Select Case GetPlayerDir(Index)
Case DIR_UP
RenderTexture Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll), ConvertMapX((X + ((Tex_Character(Sprite).width / 3) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 8)), ConvertMapY((y + ((Tex_Character(Sprite).height / 4) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height / 2)), 0, 0, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, D3DColorARGB(255 - Item(GetPlayerEquipment(Index, Helmet)).a, 255 - Item(GetPlayerEquipment(Index, Helmet)).R, 255 - Item(GetPlayerEquipment(Index, Helmet)).G, 255 - Item(GetPlayerEquipment(Index, Helmet)).B)
Case DIR_LEFT
RenderTexture Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll), ConvertMapX((X + ((Tex_Character(Sprite).width / 3) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 8)), ConvertMapY((y + ((Tex_Character(Sprite).height / 4) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height / 2)), 2 * (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3), 0, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, D3DColorARGB(255 - Item(GetPlayerEquipment(Index, Helmet)).a, 255 - Item(GetPlayerEquipment(Index, Helmet)).R, 255 - Item(GetPlayerEquipment(Index, Helmet)).G, 255 - Item(GetPlayerEquipment(Index, Helmet)).B)
' render the actual sprite
If GetTickCount > TempPlayer(Index).StartFlash Then
Call DrawSprite(Sprite, X, y, Rec)
TempPlayer(Index).StartFlash = 0
Else
Call DrawSprite(Sprite, X, y, Rec, , , , , True)
End If
Case DIR_RIGHT
RenderTexture Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll), ConvertMapX((X + ((Tex_Character(Sprite).width / 3) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 8)), ConvertMapY((y + ((Tex_Character(Sprite).height / 4) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height / 2)), Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, 0, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, D3DColorARGB(255 - Item(GetPlayerEquipment(Index, Helmet)).a, 255 - Item(GetPlayerEquipment(Index, Helmet)).R, 255 - Item(GetPlayerEquipment(Index, Helmet)).G, 255 - Item(GetPlayerEquipment(Index, Helmet)).B)
' render the actual sprite
If GetTickCount > TempPlayer(Index).StartFlash Then
Call DrawSprite(Sprite, X, y, Rec)
TempPlayer(Index).StartFlash = 0
Else
Call DrawSprite(Sprite, X, y, Rec, , , , , True)
End If
Case DIR_DOWN
RenderTexture Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll), ConvertMapX((X + ((Tex_Character(Sprite).width / 3) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 8)), ConvertMapY((y + ((Tex_Character(Sprite).height / 4) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height / 2)), 0, 0, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 3, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, D3DColorARGB(255 - Item(GetPlayerEquipment(Index, Helmet)).a, 255 - Item(GetPlayerEquipment(Index, Helmet)).R, 255 - Item(GetPlayerEquipment(Index, Helmet)).G, 255 - Item(GetPlayerEquipment(Index, Helmet)).B)
' render the actual sprite
If GetTickCount > TempPlayer(Index).StartFlash Then
Call DrawSprite(Sprite, X, y, Rec)
TempPlayer(Index).StartFlash = 0
Else
Call DrawSprite(Sprite, X, y, Rec, , , , , True)
End If
End Select
Else
RenderTexture Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll), ConvertMapX((X + ((Tex_Character(Sprite).width / 3) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width / 2)), ConvertMapY((y + ((Tex_Character(Sprite).height / 4) / 2)) - (Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height / 2)), 0, 0, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).width, Tex_Aura(Item(GetPlayerEquipment(Index, Helmet)).Paperdoll).height, D3DColorARGB(255 - Item(GetPlayerEquipment(Index, Helmet)).a, 255 - Item(GetPlayerEquipment(Index, Helmet)).R, 255 - Item(GetPlayerEquipment(Index, Helmet)).G, 255 - Item(GetPlayerEquipment(Index, Helmet)).B)
' render the actual sprite
If GetTickCount > TempPlayer(Index).StartFlash Then
Call DrawSprite(Sprite, X, y, Rec)
TempPlayer(Index).StartFlash = 0
Else
Call DrawSprite(Sprite, X, y, Rec, , , , , True)
End If
End If
End If
End If
Ou aqui:
- Código:
Public Sub DrawPaperdoll(ByVal X2 As Long, ByVal Y2 As Long, ByVal Sprite As Long, ByVal Anim As Long, ByVal spritetop As Long, ByVal Colour As Long)
Dim Rec As RECT
Dim X As Long, y As Long
Dim width As Long, height As Long
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo ErrorHandler
If Sprite < 1 Or Sprite > NumPaperdolls Then Exit Sub
With Rec
.Top = spritetop * (Tex_Paperdoll(Sprite).height / 4)
.Bottom = .Top + (Tex_Paperdoll(Sprite).height / 4)
.Left = Anim * (Tex_Paperdoll(Sprite).width / 3)
.Right = .Left + (Tex_Paperdoll(Sprite).width / 3)
End With
Ou nenhum desses ;-;