¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.



 
ÍndiceIndiceÚltimas imágenesBuscarRegistrarseConectarseReglamento
¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

El record de usuarios en línea fue de 22 durante el Lun Jun 08, 2020 2:43 am
Mejores posteadores
Rango
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
Habauc
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
Trogclodita
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
WhoTeR
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
Tomm-
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
ZankuR
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
GM-PekeMixz
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
LuciMoyo
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
MwM
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
Diclut s2 Lalaa♥
Sombra DX7 Para 13.0 Vote_lcapSombra DX7 Para 13.0 Voting_barSombra DX7 Para 13.0 Vote_rcap 
Estadísticas
Tenemos 98 miembros registrados
El último usuario registrado es Stephelinmu

Nuestros miembros han publicado un total de 1289 mensajes en 264 argumentos.

 

 Sombra DX7 Para 13.0

Ir abajo 
4 participantes
AutorMensaje
ZankuR
Director
Director
ZankuR


Cantidad de envíos : 107
Fecha de inscripción : 19/07/2013

Sombra DX7 Para 13.0 Empty
MensajeTema: Sombra DX7 Para 13.0   Sombra DX7 Para 13.0 Icon_minitimeVie Jul 19, 2013 2:13 pm

Todo en el cliente.
                             

Vamos al modulo tile engine y en abajo de

Código:
Sub CargarAnimsExtra


ponemos

Código:
Sub DibujarSombra(Surface As DirectDrawSurface7, Grh As Grh, ByVal X As Integer, ByVal Y As Integer, center As Byte, Animate As Byte, Optional ByVal KillAnim As Integer = 0)

On Error GoTo errorcito

Dim iGrhIndex As Integer
Dim SourceRect As RECT
Dim QuitarAnimacion As Boolean


If Animate Then
   If Grh.Started = 1 Then
       If Grh.Speed > 0 Then
           Grh.Speed = Grh.Speed - 1
           If Grh.Speed = 0 Then
               Grh.Speed = GrhData(Grh.GrhIndex).Speed
               Grh.FrameCounter = Grh.FrameCounter + 1
               If Grh.FrameCounter > GrhData(Grh.GrhIndex).NumFrames Then
                   Grh.FrameCounter = 1
                   If KillAnim Then
                       If charlist(KillAnim).fX.Loops <> LoopAdEternum Then

                           If charlist(KillAnim).fX.Loops > 0 Then charlist(KillAnim).fX.Loops = charlist(KillAnim).fX.Loops - 1
                           If charlist(KillAnim).fX.Loops < 1 Then 'Matamos la anim del fx )
                               charlist(KillAnim).fX.Loops = 0
                               Exit Sub
                           End If

                       End If
                   End If
              End If
           End If
       End If
   End If
End If

If Grh.GrhIndex = 0 Then Exit Sub

iGrhIndex = GrhData(Grh.GrhIndex).Frames(Grh.FrameCounter)

If center Then
   If GrhData(iGrhIndex).TileWidth <> 1 Then
       X = X - Int(GrhData(iGrhIndex).TileWidth * 16) + 16  'hard coded for speed
   End If
   If GrhData(iGrhIndex).TileHeight <> 1 Then
       Y = Y - Int(GrhData(iGrhIndex).TileHeight * 32) + 32  'hard coded for speed
   End If
End If

With SourceRect
   .Left = GrhData(iGrhIndex).sX + IIf(X < 0, Abs(X), 0)
   .Top = GrhData(iGrhIndex).sY + IIf(Y < 0, Abs(Y), 0)
   .Right = .Left + GrhData(iGrhIndex).pixelWidth
   .Bottom = .Top + GrhData(iGrhIndex).pixelHeight
End With

Dim Src As DirectDrawSurface7
Dim rDest As RECT
Dim dArray() As Byte, sArray() As Byte
Dim ddsdSrc As DDSURFACEDESC2, ddsdDest As DDSURFACEDESC2
Dim Modo As Long

Set Src = SurfaceDB.Surface(GrhData(iGrhIndex).FileNum)

Src.GetSurfaceDesc ddsdSrc
Surface.GetSurfaceDesc ddsdDest
With rDest
   .Left = X
   .Top = Y
   .Right = X + GrhData(iGrhIndex).pixelWidth
   .Bottom = Y + GrhData(iGrhIndex).pixelHeight
 
   If .Right > ddsdDest.lWidth Then
       .Right = ddsdDest.lWidth
   End If
   If .Bottom > ddsdDest.lHeight Then
       .Bottom = ddsdDest.lHeight
   End If
End With

Dim SrcLock As Boolean, DstLock As Boolean
SrcLock = False: DstLock = False

On Local Error GoTo errorcito

Src.Lock SourceRect, ddsdSrc, DDLOCK_NOSYSLOCK Or DDLOCK_WAIT, 0
Surface.Lock rDest, ddsdDest, DDLOCK_NOSYSLOCK Or DDLOCK_WAIT, 0

Surface.GetLockedArray dArray()
Src.GetLockedArray sArray()
     
If ddsdDest.ddpfPixelFormat.lGBitMask = &H3E0 Then
 Modo = 555
ElseIf ddsdDest.ddpfPixelFormat.lGBitMask = &H7E0 Then
 Modo = 565
Else
 MsgBox "Modo de vídeo no esta en 555 o 565 o algo falló."
 End
End If

   Call vbDABLcolorblend16565ck(ByVal VarPtr(sArray(SourceRect.Left * 2, SourceRect.Top)), ByVal VarPtr(dArray(X + X, Y)), 255, rDest.Right - rDest.Left, rDest.Bottom - rDest.Top, ddsdSrc.lPitch, ddsdDest.lPitch, 40, 40, 40)


Surface.Unlock rDest
Src.Unlock SourceRect
Exit Sub

errorcito:
Src.Unlock SourceRect
Surface.Unlock rDest
End Sub


ahora vamos a

Código:
Sub CharRender


y ahi buscamos

Código:
If Not .Invisible Then


Abajo ponemos

Código:
if mostrarsombras = 1 then
Call DibujarSombra(BackBufferSurface, .Body.Walk(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y + 10, 1, 0)
If .Head.Head(.Heading).GrhIndex Then
Call DibujarSombra(BackBufferSurface, .Head.Head(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y - 28, 1, 0)
If .Casco.Head(.Heading).GrhIndex Then _
Call DibujarSombra(BackBufferSurface, .Casco.Head(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y - 28, 1, 0)
If .Arma.WeaponWalk(.Heading).GrhIndex Then _
Call DibujarSombra(BackBufferSurface, .Arma.WeaponWalk(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y + 10, 1, 0)
If .Escudo.ShieldWalk(.Heading).GrhIndex Then _
Call DibujarSombra(BackBufferSurface, .Escudo.ShieldWalk(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y + 10, 1, 0)
End If
end if


Ahora vamos al sub


Código:
Sub CharRenderAlphaB


y ahi buscamos


Código:
If Not .Invisible Then


Abajo ponemos


Código:
if mostrarsombras = 1 then
Call DibujarSombra(BackBufferSurface, .Body.Walk(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y + 10, 1, 0)
If .Head.Head(.Heading).GrhIndex Then
Call DibujarSombra(BackBufferSurface, .Head.Head(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y - 28, 1, 0)
If .Casco.Head(.Heading).GrhIndex Then _
Call DibujarSombra(BackBufferSurface, .Casco.Head(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y - 28, 1, 0)
If .Arma.WeaponWalk(.Heading).GrhIndex Then _
Call DibujarSombra(BackBufferSurface, .Arma.WeaponWalk(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y + 10, 1, 0)
If .Escudo.ShieldWalk(.Heading).GrhIndex Then _
Call DibujarSombra(BackBufferSurface, .Escudo.ShieldWalk(.Heading), PixelOffsetX + .Body.HeadOffset.X + 10, PixelOffsetY + .Body.HeadOffset.Y + 10, 1, 0)
End If
end if

Buscamos

Código:

#If ConAlfaB Then

Private Declare Function BltAlphaFast Lib "vbabdx" (ByRef lpDDSDest As Any, ByRef lpDDSSource As Any, ByVal iWidth As Long, ByVal iHeight As Long, _
       ByVal pitchSrc As Long, ByVal pitchDst As Long, ByVal dwMode As Long) As Long
Private Declare Function BltEfectoNoche Lib "vbabdx" (ByRef lpDDSDest As Any, ByVal iWidth As Long, ByVal iHeight As Long, _
       ByVal pitchDst As Long, ByVal dwMode As Long) As Long

#End If

debajo pondremos


Código:
Public Declare Function vbDABLalphablend16 Lib "vbDABL" (ByVal iMode As Integer, ByVal bColorKey As Integer, _
ByRef sPtr As Any, ByRef dPtr As Any, ByVal iAlphaVal As Integer, ByVal iWidth As Integer, ByVal iHeight As Integer, _
ByVal isPitch As Integer, ByVal idPitch As Integer, ByVal iColorKey As Integer) As Integer

Public Declare Function vbDABLcolorblend16555 Lib "vbDABL" (ByRef sPtr As Any, ByRef dPtr As Any, ByVal alpha_val%, _
ByVal Width%, ByVal Height%, ByVal sPitch%, ByVal dPitch%, ByVal rVal%, ByVal gVal%, ByVal bVal%) As Long

Public Declare Function vbDABLcolorblend16565 Lib "vbDABL" (ByRef sPtr As Any, ByRef dPtr As Any, ByVal alpha_val%, _
ByVal Width%, ByVal Height%, ByVal sPitch%, ByVal dPitch%, ByVal rVal%, ByVal gVal%, ByVal bVal%) As Long

Public Declare Function vbDABLcolorblend16555ck Lib "vbDABL" (ByRef sPtr As Any, ByRef dPtr As Any, ByVal alpha_val%, _
ByVal Width%, ByVal Height%, ByVal sPitch%, ByVal dPitch%, ByVal rVal%, ByVal gVal%, ByVal bVal%) As Long

Public Declare Function vbDABLcolorblend16565ck Lib "vbDABL" (ByRef sPtr As Any, ByRef dPtr As Any, ByVal alpha_val%, _
ByVal Width%, ByVal Height%, ByVal sPitch%, ByVal dPitch%, ByVal rVal%, ByVal gVal%, ByVal bVal%) As Long

van al frmopciones y crean un commandbutton le hacen doble click y de codigo le ponen

Código:
if muestroefectomuerto = 1 then
mostrarsombras = 0
me.command9.caption = "Activar Sombras"
else
mostrarsombras = 1
me.command9.caption = "Desactivar Sombras"  
end if


reemplazan command9 por el nombre del commandbutton

buscan


Código:
Sub Main


y abajo ponen

Código:
mostrarsombras = 1


van al modulo declaraciones y abajo de option explicit ponen

Código:
Public MostrarSombras as byte

Testeado y funcional al 100%


Última edición por ZankuR el Vie Jul 19, 2013 2:15 pm, editado 1 vez
Volver arriba Ir abajo
Rango
Administrador
Administrador
avatar


Cantidad de envíos : 191
Fecha de inscripción : 13/07/2013

Sombra DX7 Para 13.0 Empty
MensajeTema: Re: Sombra DX7 Para 13.0   Sombra DX7 Para 13.0 Icon_minitimeVie Jul 19, 2013 2:15 pm

Muy bueno.

Acordate en ponerlo en Código .. o en Spoiler.


Seguí así Zankur,me gusto el aporte!

Cualquier consulta MP!

Suerte!
Volver arriba Ir abajo
https://taller-argentum.foroargentina.net
Trogclodita
Director de Tropas
Director de Tropas
Trogclodita


Cantidad de envíos : 144
Fecha de inscripción : 18/07/2013

Sombra DX7 Para 13.0 Empty
MensajeTema: Re: Sombra DX7 Para 13.0   Sombra DX7 Para 13.0 Icon_minitimeVie Jul 19, 2013 2:16 pm

Me gusto el aporte, gracias por traerlo a la comunidad !
Igual, tenes que dejar fuente cada vez que aportas algo de otra comunidad, en este caso es Gs Zone!.

Saludos y suerte
Volver arriba Ir abajo
ZankuR
Director
Director
ZankuR


Cantidad de envíos : 107
Fecha de inscripción : 19/07/2013

Sombra DX7 Para 13.0 Empty
MensajeTema: Re: Sombra DX7 Para 13.0   Sombra DX7 Para 13.0 Icon_minitimeVie Jul 19, 2013 2:18 pm

Bueno mira seria algo parecido, yo me base en el aporte de Matih hay cosa que saque de mati y hay cosa que lo hice yo el de matih tenia varios errores
Volver arriba Ir abajo
Trogclodita
Director de Tropas
Director de Tropas
Trogclodita


Cantidad de envíos : 144
Fecha de inscripción : 18/07/2013

Sombra DX7 Para 13.0 Empty
MensajeTema: Re: Sombra DX7 Para 13.0   Sombra DX7 Para 13.0 Icon_minitimeVie Jul 19, 2013 2:26 pm

Igualmente deja fuente, por que te basaste en su aporte. Además , pone las lineas en codigos y copia y pega bien, por que aparece la parte de ¨La barra de Gs ¨ En fin, es un aporte.
Saludos y suerte:3
Volver arriba Ir abajo
ZankuR
Director
Director
ZankuR


Cantidad de envíos : 107
Fecha de inscripción : 19/07/2013

Sombra DX7 Para 13.0 Empty
MensajeTema: Re: Sombra DX7 Para 13.0   Sombra DX7 Para 13.0 Icon_minitimeVie Jul 19, 2013 2:33 pm

Si puede ser que copie cosas pero lo traje a la comunidad porque lo tenia asi pegado en un block de notas en mi pc, entonces agarre copie y pegue aca, saludos
Volver arriba Ir abajo
KiZAME
Pre-Avanzado
Pre-Avanzado
KiZAME


Cantidad de envíos : 38
Fecha de inscripción : 18/07/2013

Sombra DX7 Para 13.0 Empty
MensajeTema: Re: Sombra DX7 Para 13.0   Sombra DX7 Para 13.0 Icon_minitimeVie Jul 19, 2013 3:54 pm

Buen Aporte ZankuR Acordate de leer el Reglamento Para No ser Advertido!

Seguí así!
Volver arriba Ir abajo
Contenido patrocinado





Sombra DX7 Para 13.0 Empty
MensajeTema: Re: Sombra DX7 Para 13.0   Sombra DX7 Para 13.0 Icon_minitime

Volver arriba Ir abajo
 
Sombra DX7 Para 13.0
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Mini map para tu AO
» Ni Idea para que sirve
» Primeros pasos para programar
» Sistema de Gran poder (don ) para 0.11.5
» Interfaces Para todos xD

Permisos de este foro:No puedes responder a temas en este foro.
 :: Argentum Online :: Talleres Taller Argentum :: Programación-
Cambiar a: