Bom,esse tutorial fará com que seja possível ver quem esta online em uma listbox.
-Primeiro crie uma picture,e nomeie do que quiser.
-Agora dentro da picture,crie uma listbox que vamos chamar de "lstQuemEstaOnline"
Agora,no cliente,vamos em modHandleData,e no final colocar isso:
Agora,suba até o topo da modHandleData e procure por:
Abaixo cole isso:
Agora,ainda no cliente,em modEnumerations,procure por:
Acima coloque:
Agora,no final de modClientTcp:
Agora,crie um botão na FrmMain,e dentro dele coloque:
Pronto,agora vamos ao servidor
Em modServerTcp,no final adicione:
Agora em modHandleData no final adicione:
Agora,no topo de modHandleData,abaixo de:
Cole:
Agora em modEnumerations,acima de:
Adicione:
Se funcionou,postem aqui.
-Primeiro crie uma picture,e nomeie do que quiser.
-Agora dentro da picture,crie uma listbox que vamos chamar de "lstQuemEstaOnline"
Agora,no cliente,vamos em modHandleData,e no final colocar isso:
- Código:
Private Sub HandleQuemEstaOnline(ByVal Index As Long, ByRef Data() As Byte, ByVal EditorIndex As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim Buffer As clsBuffer
Dim Online As String
Dim i As Long
frmMain.lstQuemEstaOnline.Clear
Set Buffer = New clsBuffer
Buffer.WriteBytes Data()
For i = 1 To MAX_PLAYERS
Online = Buffer.ReadString
frmMain.lstQuemEstaOnline.AddItem Online
Next
Set Buffer = Nothing
End Sub
Agora,suba até o topo da modHandleData e procure por:
- Código:
HandleDataSub(SPartyVitals) = GetAddress(AddressOf HandlePartyVitals)
Abaixo cole isso:
- Código:
HandleDataSub(SOnlines) = GetAddress(AddressOf HandleQuemEstaOnline)
Agora,ainda no cliente,em modEnumerations,procure por:
- Código:
' Make sure SMSG_COUNT is below everything else
SMSG_COUNT
Acima coloque:
- Código:
SOnlines
Agora,no final de modClientTcp:
- Código:
Public Sub QuemEstaOnline()
Dim Buffer As clsBuffer
Set Buffer = New clsBuffer
Buffer.WriteLong SOnlines
SendData Buffer.ToArray
Set Buffer = Nothing
End Sub
Agora,crie um botão na FrmMain,e dentro dele coloque:
- Código:
lstQuemEstaOnline.visible = true
picquevocêcriou.visible = true
QuemEstaOnline
Pronto,agora vamos ao servidor
Em modServerTcp,no final adicione:
- Código:
Sub Onlines(ByVal index As Long)
Dim Buffer As clsBuffer
Dim Online As String
Dim i As Long
Set Buffer = New clsBuffer
Buffer.WriteLong SOnlines
For i = 1 To MAX_PLAYERS
Online = Trim(Player(i).Name)
If IsPlaying(i) Then
Buffer.WriteString Online
End If
Next
SendDataToAll Buffer.ToArray()
Set Buffer = Nothing
End Sub
Agora em modHandleData no final adicione:
- Código:
Sub HandleQuemEstaOnline(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddR As Long, ByVal ExtraVar As Long)
Onlines index
End Sub
Agora,no topo de modHandleData,abaixo de:
- Código:
HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave)
Cole:
- Código:
HandleDataSub(SOnlines) = GetAddress(AddressOf HandleQuemEstaOnline)
Agora em modEnumerations,acima de:
- Código:
' Make sure SMSG_COUNT is below everything else
SMSG_COUNT
Adicione:
- Código:
SOnlines
Se funcionou,postem aqui.
Última edição por Terabin em Qui Fev 23, 2012 12:53 am, editado 2 vez(es)