21-10-2007, 02:18 PM
Check it out now 

Code:
Private Sub HandleSMsgGetPartyInfo(ByVal Index As Long, ByVal StartAddr As Long, ByVal ByteLen As Long, ByVal ExtraVar As Long)
Dim Packet As String, i As Byte
Packet = StCPartyInfo & SEP_CHAR & Player(Index).Char(Player(Index).CharNum).PartyMembers(1) & SEP_CHAR & Player(Index).Char(Player(Index).CharNum).PartyMembers(2) & SEP_CHAR & Player(Index).Char(Player(Index).CharNum).PartyMembers(3) & SEP_CHAR & Player(Index).Char(Player(Index).CharNum).PartyMembers(4) & SEP_CHAR & Player(Index).Char(Player(Index).CharNum).PartyMembers(5)
For i = 1 To 5
If FindPlayer(Player(Index).Char(Player(Index).CharNum).PartyMembers(i)) > 0 And Player(Index).Char(Player(Index).CharNum).PartyMembers(i) vbNullString Then
Packet = Packet & SEP_CHAR & GetPlayerHP(FindPlayer(Player(Index).Char(Player(Index).CharNum).PartyMembers(i))) & SEP_CHAR & GetPlayerMaxHP(FindPlayer(Player(Index).Char(Player(Index).CharNum).PartyMembers(i)))
Else
Packet = Packet & SEP_CHAR & "" & SEP_CHAR & ""
End If
Next i
Packet = Packet & SEP_CHAR & END_CHAR
Call SendDataTo(Index, Packet)
End Sub
Private Sub HandleSMsgInviteParty(ByVal Index As Long, ByVal StartAddr As Long, ByVal ByteLen As Long, ByVal ExtraVar As Long)
Dim Buffer() As Byte
Dim Member As String, i As Long, MIndex As Byte, PartyPlayer As Byte, ii As Byte, Dude As Byte
Buffer = FillBuffer(StartAddr, ByteLen)
Member = GetStringFromBuffer(Buffer, True)
MIndex = FindPlayer(Member)
If Index = MIndex Then
Call PlayerMsg(Index, "You can't invite yourself.", Red)
Exit Sub
End If
For i = 1 To 5
If Member = Player(Index).Char(Player(Index).CharNum).PartyMembers(i) Then
Call PlayerMsg(Index, "This player is already in the party.", Red)
Exit Sub
End If
Next i
If Player(MIndex).InParty = YES Then
Call PlayerMsg(Index, "This player is already in another party.", Red)
Exit Sub
End If
'Add invited player to his list
If MIndex > 0 Then
' For i = 1 To 5
' If Player(MIndex).Char(Player(MIndex).CharNum).PartyMembers(i) = vbNullString Then
' Player(MIndex).Char(Player(MIndex).CharNum).PartyMembers(i) = Member
' i = 5
' End If
' Next i
'Add invited player to all players in your party
' For i = 1 To 5
' PartyPlayer = FindPlayer(Player(Index).Char(Player(Index).CharNum).PartyMembers(i))
' If PartyPlayer > 0 Then
' For ii = 1 To 5
' If Player(PartyPlayer).Char(Player(PartyPlayer).CharNum).PartyMembers(ii) = vbNullString Then
' Player(PartyPlayer).Char(Player(PartyPlayer).CharNum).PartyMembers(ii) = Member
' ii = 5
' End If
' Next ii
' End If
' Next i
For i = 1 To 5
If Player(Index).Char(Player(Index).CharNum).PartyMembers(i) = vbNullString Then
Player(Index).Char(Player(Index).CharNum).PartyMembers(i) = Member
i = 5
End If
Next i
For i = 1 To 5
Dude = FindPlayer(Player(Index).Char(Player(Index).CharNum).PartyMembers(i))
If Dude > 0 Then
For ii = 1 To 5
Player(Dude).Char(Player(Dude).CharNum).PartyMembers(ii) = Player(Index).Char(Player(Index).CharNum).PartyMembers(ii)
Next ii
End If
Next i
Player(MIndex).InParty = YES
Else
Call PlayerMsg(Index, "Player doesn't exist.", Red)
Exit Sub
End If
End Sub
Private Sub HandleSMsgLeavePartyNow(ByVal Index As Long, ByVal StartAddr As Long, ByVal ByteLen As Long, ByVal ExtraVar As Long)
Dim i As Byte, ii As Byte, iii As Byte
If Player(Index).InParty = NO Then
Call PlayerMsg(Index, "You are not in a party so you can't leave.", Red)
Exit Sub
End If
For iii = 1 To 5
i = FindPlayer(Player(Index).Char(Player(Index).CharNum).PartyMembers(iii))
If i > 0 Then
If Index i Then
For ii = 1 To 5
If Player(i).Char(Player(i).CharNum).PartyMembers(ii) = GetPlayerName(Index) Then
Player(i).Char(Player(i).CharNum).PartyMembers(ii) = vbNullString
End If
Next ii
End If
End If
Next iii
'Clear old party
For i = 1 To 5
Player(Index).Char(Player(Index).CharNum).PartyMembers(i) = vbNullString
Next i
Player(Index).InParty = NO
End Sub
Private Sub HandleSMsgCreateParty(ByVal Index As Long, ByVal StartAddr As Long, ByVal ByteLen As Long, ByVal ExtraVar As Long)
Dim i As Byte
If Player(Index).InParty = YES Then
Call PlayerMsg(Index, "You can't create a party before you leave your current one.", Red)
Exit Sub
End If
'Clear old party
For i = 1 To 5
Player(Index).Char(Player(Index).CharNum).PartyMembers(i) = vbNullString
Next i
' Set Owner
Player(Index).InParty = YES
Player(Index).Char(Player(Index).CharNum).PartyMembers(1) = GetPlayerName(Index)
End Sub
