25-11-2006, 12:11 AM
If you have a unedited ClearPlayer, replace this:
With this:
The change is that you put this:
Outside the For Loop, because that part of code doesn't have a 'i' in it
Code:
Sub ClearPlayer(ByVal Index As Long)
Dim i As Long
Dim n As Long
Player(Index).Login = ""
Player(Index).Password = ""
For i = 1 To MAX_CHARS
Player(Index).Char(i).Name = ""
Player(Index).Char(i).Class = 0
Player(Index).Char(i).Level = 0
Player(Index).Char(i).Sprite = 0
Player(Index).Char(i).Exp = 0
Player(Index).Char(i).Access = 0
Player(Index).Char(i).PK = NO
Player(Index).Char(i).POINTS = 0
Player(Index).Char(i).Guild = 0
Player(Index).Char(i).HP = 0
Player(Index).Char(i).MP = 0
Player(Index).Char(i).SP = 0
Player(Index).Char(i).STR = 0
Player(Index).Char(i).DEF = 0
Player(Index).Char(i).SPEED = 0
Player(Index).Char(i).MAGI = 0
For n = 1 To MAX_INV
Player(Index).Char(i).Inv(n).Num = 0
Player(Index).Char(i).Inv(n).Value = 0
Player(Index).Char(i).Inv(n).Dur = 0
Next n
For n = 1 To MAX_PLAYER_SPELLS
Player(Index).Char(i).Spell(n) = 0
Next n
Player(Index).Char(i).ArmorSlot = 0
Player(Index).Char(i).WeaponSlot = 0
Player(Index).Char(i).HelmetSlot = 0
Player(Index).Char(i).ShieldSlot = 0
Player(Index).Char(i).Map = 0
Player(Index).Char(i).x = 0
Player(Index).Char(i).y = 0
Player(Index).Char(i).Dir = 0
' Temporary vars
Player(Index).Buffer = ""
Player(Index).IncBuffer = ""
Player(Index).CharNum = 0
Player(Index).InGame = False
Player(Index).AttackTimer = 0
Player(Index).DataTimer = 0
Player(Index).DataBytes = 0
Player(Index).DataPackets = 0
Player(Index).PartyPlayer = 0
Player(Index).InParty = 0
Player(Index).Target = 0
Player(Index).TargetType = 0
Player(Index).CastedSpell = NO
Player(Index).PartyStarter = NO
Player(Index).GettingMap = NO
Next i
End Sub
Code:
Sub ClearPlayer(ByVal Index As Long)
Dim i As Long
Dim n As Long
Player(Index).Login = ""
Player(Index).Password = ""
For i = 1 To MAX_CHARS
Player(Index).Char(i).Name = ""
Player(Index).Char(i).Class = 0
Player(Index).Char(i).Level = 0
Player(Index).Char(i).Sprite = 0
Player(Index).Char(i).Exp = 0
Player(Index).Char(i).Access = 0
Player(Index).Char(i).PK = NO
Player(Index).Char(i).POINTS = 0
Player(Index).Char(i).Guild = 0
Player(Index).Char(i).HP = 0
Player(Index).Char(i).MP = 0
Player(Index).Char(i).SP = 0
Player(Index).Char(i).STR = 0
Player(Index).Char(i).DEF = 0
Player(Index).Char(i).SPEED = 0
Player(Index).Char(i).MAGI = 0
For n = 1 To MAX_INV
Player(Index).Char(i).Inv(n).Num = 0
Player(Index).Char(i).Inv(n).Value = 0
Player(Index).Char(i).Inv(n).Dur = 0
Next n
For n = 1 To MAX_PLAYER_SPELLS
Player(Index).Char(i).Spell(n) = 0
Next n
Player(Index).Char(i).ArmorSlot = 0
Player(Index).Char(i).WeaponSlot = 0
Player(Index).Char(i).HelmetSlot = 0
Player(Index).Char(i).ShieldSlot = 0
Player(Index).Char(i).Map = 0
Player(Index).Char(i).x = 0
Player(Index).Char(i).y = 0
Player(Index).Char(i).Dir = 0
Next i
' Temporary vars
Player(Index).Buffer = ""
Player(Index).IncBuffer = ""
Player(Index).CharNum = 0
Player(Index).InGame = False
Player(Index).AttackTimer = 0
Player(Index).DataTimer = 0
Player(Index).DataBytes = 0
Player(Index).DataPackets = 0
Player(Index).PartyPlayer = 0
Player(Index).InParty = 0
Player(Index).Target = 0
Player(Index).TargetType = 0
Player(Index).CastedSpell = NO
Player(Index).PartyStarter = NO
Player(Index).GettingMap = NO
End Sub
The change is that you put this:
Code:
' Temporary vars
Player(Index).Buffer = ""
Player(Index).IncBuffer = ""
Player(Index).CharNum = 0
Player(Index).InGame = False
Player(Index).AttackTimer = 0
Player(Index).DataTimer = 0
Player(Index).DataBytes = 0
Player(Index).DataPackets = 0
Player(Index).PartyPlayer = 0
Player(Index).InParty = 0
Player(Index).Target = 0
Player(Index).TargetType = 0
Player(Index).CastedSpell = NO
Player(Index).PartyStarter = NO
Player(Index).GettingMap = NO
