En ES (FileIO.bas) del Servidor...
Remplazar Toda la funcion CargarNpcBackUp por la siguiente:
- Sub CargarNpcBackUp(NpcIndex As Integer, ByVal NpcNumber As Integer)
- 'Status
- If frmMain.Visible Then frmMain.txStatus.Caption = "Cargando backup Npc"
- Dim Leer As clsLeerInis
- If NpcNumber > 499 Then
- Call Leer.Abrir(DatPath & "bkNPCs-HOSTILES.dat")
- Else
- Call Leer.Abrir(DatPath & "bkNPCs.dat")
- End If
- Npclist(NpcIndex).Numero = NpcNumber
- Npclist(NpcIndex).Name = Leer.DarValor("NPC" & NpcNumber, "Name")
- Npclist(NpcIndex).Desc = Leer.DarValor("NPC" & NpcNumber, "Desc")
- Npclist(NpcIndex).Movement = val(Leer.DarValor("NPC" & NpcNumber, "Movement"))
- Npclist(NpcIndex).NPCtype = val(Leer.DarValor("NPC" & NpcNumber, "NpcType"))
- Npclist(NpcIndex).Char.Body = val(Leer.DarValor("NPC" & NpcNumber, "Body"))
- Npclist(NpcIndex).Char.Head = val(Leer.DarValor("NPC" & NpcNumber, "Head"))
- Npclist(NpcIndex).Char.Heading = val(Leer.DarValor("NPC" & NpcNumber, "Heading"))
- Npclist(NpcIndex).Attackable = val(Leer.DarValor("NPC" & NpcNumber, "Attackable"))
- Npclist(NpcIndex).Comercia = val(Leer.DarValor("NPC" & NpcNumber, "Comercia"))
- Npclist(NpcIndex).Hostile = val(Leer.DarValor("NPC" & NpcNumber, "Hostile"))
- Npclist(NpcIndex).GiveEXP = val(Leer.DarValor("NPC" & NpcNumber, "GiveEXP"))
- Npclist(NpcIndex).GiveGLD = val(Leer.DarValor("NPC" & NpcNumber, "GiveGLD"))
- Npclist(NpcIndex).InvReSpawn = val(Leer.DarValor("NPC" & NpcNumber, "InvReSpawn"))
- Npclist(NpcIndex).Stats.MaxHP = val(Leer.DarValor("NPC" & NpcNumber, "MaxHP"))
- Npclist(NpcIndex).Stats.MinHP = val(Leer.DarValor("NPC" & NpcNumber, "MinHP"))
- Npclist(NpcIndex).Stats.MaxHIT = val(Leer.DarValor("NPC" & NpcNumber, "MaxHIT"))
- Npclist(NpcIndex).Stats.MinHIT = val(Leer.DarValor("NPC" & NpcNumber, "MinHIT"))
- Npclist(NpcIndex).Stats.Def = val(Leer.DarValor("NPC" & NpcNumber, "DEF"))
- Npclist(NpcIndex).Stats.Alineacion = val(Leer.DarValor("NPC" & NpcNumber, "Alineacion"))
- Npclist(NpcIndex).Stats.ImpactRate = val(Leer.DarValor("NPC" & NpcNumber, "ImpactRate"))
- ' Items
- Dim LoopC As Integer
- Dim ln As String
- Npclist(NpcIndex).Invent.NroItems = val(Leer.DarValor("NPC" & NpcNumber, "NROITEMS"))
- If Npclist(NpcIndex).Invent.NroItems > 0 Then
- For LoopC = 1 To MAX_INVENTORY_SLOTS
- ln = Leer.DarValor("NPC" & NpcNumber, "Obj" & LoopC)
- Npclist(NpcIndex).Invent.Object(LoopC).ObjIndex = val(ReadField(1, ln, 45))
- Npclist(NpcIndex).Invent.Object(LoopC).Amount = val(ReadField(2, ln, 45))
- Next LoopC
- Else
- For LoopC = 1 To MAX_INVENTORY_SLOTS
- Npclist(NpcIndex).Invent.Object(LoopC).ObjIndex = 0
- Npclist(NpcIndex).Invent.Object(LoopC).Amount = 0
- Next LoopC
- End If
- Npclist(NpcIndex).Inflacion = val(Leer.DarValor("NPC" & NpcNumber, "Inflacion"))
- Npclist(NpcIndex).flags.NPCActive = True
- Npclist(NpcIndex).flags.UseAINow = False
- Npclist(NpcIndex).flags.Respawn = val(Leer.DarValor("NPC" & NpcNumber, "ReSpawn"))
- Npclist(NpcIndex).flags.BackUp = val(Leer.DarValor("NPC" & NpcNumber, "BackUp"))
- Npclist(NpcIndex).flags.Domable = val(Leer.DarValor("NPC" & NpcNumber, "Domable"))
- Npclist(NpcIndex).flags.RespawnOrigPos = val(Leer.DarValor("NPC" & NpcNumber, "OrigPos"))
- 'Tipo de items con los que comercia
- Npclist(NpcIndex).TipoItems = val(Leer.DarValor("NPC" & NpcNumber, "TipoItems"))
- End Sub






825
