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



 
ÍndiceÍndice  Últimas imágenesÚltimas imágenes  BuscarBuscar  RegistrarseRegistrarse  ConectarseConectarse  

 

 drag & drop de items en inventario

Ir abajo 
AutorMensaje
lekasak
Moderador AO
Moderador AO
lekasak


Mensajes : 28
Fecha de inscripción : 24/05/2011
Edad : 26
Localización : villa maipu

drag & drop de items en inventario Empty
MensajeTema: drag & drop de items en inventario   drag & drop de items en inventario EmptyMar Mayo 24, 2011 4:48 pm

les traigo esta implementacion desde gs-z, no se bien si servira para todos los mods. pero yo la proben en un 11.5 y andubo lo mas bien.

empezamos:
cliente
En el clsGrapchicalInventory declara:

Código:
Dim SelectItem As Long


Al final del clsGrapchicalInventory pones:

Código:
Private Sub InventoryWindow_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim TempItem As Long
 
    If Button = vbRightButton Then
        TempItem = ClickItem(x, y)
     
        If UserInventory(TempItem).grhindex Then
            SelectItem = TempItem
            Exit Sub
        End If
    End If
 
    SelectItem = 0
End Sub


Remplaza:

Código:
If TempItem <= MAX_INVENTORY_SLOTS Then
        'Make sure slot isn't empty
        If UserInventory(TempItem).grhindex Then
            ClickItem = TempItem
        Else
            ClickItem = 0
        End If
    End If


Por:

Código:
If TempItem <= MAX_INVENTORY_SLOTS Then
        ClickItem = TempItem
    End If

Abajo de:

Código:
InvSelectedItem = ClickItem(CInt(x), CInt(y))


Pones:

Código:
If InvSelectedItem <> SelectItem And SelectItem <> 0 And InvSelectedItem <> 0 Then
        Call SendData("DRAG" & InvSelectedItem & "," & SelectItem)
    End If


Servidor:
Buscas:

Código:
Case "INFS"


Arriba pones:

Código:
Case "DRAG"
            rData = Right$(rData, Len(rData) - 4)
            ObjSlot1 = ReadField(1, rData, 44)
            ObjSlot2 = ReadField(2, rData, 44)
            DragObjects (UserIndex)
            Exit Sub


En el modulo general al final pones:

Código:
Public Sub DragObjects(ByVal UserIndex As Integer)
Dim tmpUserObj As UserOBJ
 
    With UserList(UserIndex)
 
        tmpUserObj = .Invent.Object(ObjSlot1)
        .Invent.Object(ObjSlot1) = .Invent.Object(ObjSlot2)
        .Invent.Object(ObjSlot2) = tmpUserObj
 
        Call UpdateUserInv(False, UserIndex, ObjSlot1)
        Call UpdateUserInv(False, UserIndex, ObjSlot2)
    End With
End Sub


Y en declaraciones abajo de Option Explicit pones:
Código:
Public ObjSlot1 As Byte
Public ObjSlot2 As Byte
espero que les sirva Wink
Fuente:
drag & drop de items en inventario 20_fuente_c_(1)
Volver arriba Ir abajo
 
drag & drop de items en inventario
Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
 :: Talleres Servidores Argentum :: Programacion-
Cambiar a: