lekasak Moderador AO
Mensajes : 28 Fecha de inscripción : 24/05/2011 Edad : 26 Localización : villa maipu
| Tema: drag & drop de items en inventario Mar 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: clienteEn 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 Fuente: | |
|