GS-Zone

CargarNPCBackUp Reparado Ir al Indice

Moderadores: Moderadores de Argentum, Especialistas de Argentum, Especialistas de Programación

1
Este tema se encuentra cerrado.

Nota » 19 Abr 2006 13:29

Aqui les dejo la version, funcional de CargarNPCBackUp, ya que con el actual, que utiliza el viejo metodo de lectura se estaban cometiendo errores en el cargado, y por ejemplo, el NPC de Propiedades volvia a vender las llaves.

En ES (FileIO.bas) del Servidor...
Remplazar Toda la funcion CargarNpcBackUp por la siguiente:
  1. Sub CargarNpcBackUp(NpcIndex As Integer, ByVal NpcNumber As Integer)
  2.  
  3.     'Status
  4.    
  5.     If frmMain.Visible Then frmMain.txStatus.Caption = "Cargando backup Npc"
  6.    
  7.     Dim Leer As clsLeerInis
  8.    
  9.     If NpcNumber > 499 Then
  10.         Call Leer.Abrir(DatPath & "bkNPCs-HOSTILES.dat")
  11.     Else
  12.         Call Leer.Abrir(DatPath & "bkNPCs.dat")
  13.     End If
  14.    
  15.     Npclist(NpcIndex).Numero = NpcNumber
  16.     Npclist(NpcIndex).Name = Leer.DarValor("NPC" & NpcNumber, "Name")
  17.     Npclist(NpcIndex).Desc = Leer.DarValor("NPC" & NpcNumber, "Desc")
  18.     Npclist(NpcIndex).Movement = val(Leer.DarValor("NPC" & NpcNumber, "Movement"))
  19.     Npclist(NpcIndex).NPCtype = val(Leer.DarValor("NPC" & NpcNumber, "NpcType"))
  20.     Npclist(NpcIndex).Char.Body = val(Leer.DarValor("NPC" & NpcNumber, "Body"))
  21.     Npclist(NpcIndex).Char.Head = val(Leer.DarValor("NPC" & NpcNumber, "Head"))
  22.     Npclist(NpcIndex).Char.Heading = val(Leer.DarValor("NPC" & NpcNumber, "Heading"))
  23.     Npclist(NpcIndex).Attackable = val(Leer.DarValor("NPC" & NpcNumber, "Attackable"))
  24.     Npclist(NpcIndex).Comercia = val(Leer.DarValor("NPC" & NpcNumber, "Comercia"))
  25.     Npclist(NpcIndex).Hostile = val(Leer.DarValor("NPC" & NpcNumber, "Hostile"))
  26.     Npclist(NpcIndex).GiveEXP = val(Leer.DarValor("NPC" & NpcNumber, "GiveEXP"))
  27.     Npclist(NpcIndex).GiveGLD = val(Leer.DarValor("NPC" & NpcNumber, "GiveGLD"))
  28.     Npclist(NpcIndex).InvReSpawn = val(Leer.DarValor("NPC" & NpcNumber, "InvReSpawn"))
  29.     Npclist(NpcIndex).Stats.MaxHP = val(Leer.DarValor("NPC" & NpcNumber, "MaxHP"))
  30.     Npclist(NpcIndex).Stats.MinHP = val(Leer.DarValor("NPC" & NpcNumber, "MinHP"))
  31.     Npclist(NpcIndex).Stats.MaxHIT = val(Leer.DarValor("NPC" & NpcNumber, "MaxHIT"))
  32.     Npclist(NpcIndex).Stats.MinHIT = val(Leer.DarValor("NPC" & NpcNumber, "MinHIT"))
  33.     Npclist(NpcIndex).Stats.Def = val(Leer.DarValor("NPC" & NpcNumber, "DEF"))
  34.     Npclist(NpcIndex).Stats.Alineacion = val(Leer.DarValor("NPC" & NpcNumber, "Alineacion"))
  35.     Npclist(NpcIndex).Stats.ImpactRate = val(Leer.DarValor("NPC" & NpcNumber, "ImpactRate"))
  36.    
  37.     ' Items
  38.    
  39.     Dim LoopC As Integer
  40.     Dim ln As String
  41.     Npclist(NpcIndex).Invent.NroItems = val(Leer.DarValor("NPC" & NpcNumber, "NROITEMS"))
  42.     If Npclist(NpcIndex).Invent.NroItems > 0 Then
  43.         For LoopC = 1 To MAX_INVENTORY_SLOTS
  44.             ln = Leer.DarValor("NPC" & NpcNumber, "Obj" & LoopC)
  45.             Npclist(NpcIndex).Invent.Object(LoopC).ObjIndex = val(ReadField(1, ln, 45))
  46.             Npclist(NpcIndex).Invent.Object(LoopC).Amount = val(ReadField(2, ln, 45))
  47.            
  48.         Next LoopC
  49.     Else
  50.         For LoopC = 1 To MAX_INVENTORY_SLOTS
  51.             Npclist(NpcIndex).Invent.Object(LoopC).ObjIndex = 0
  52.             Npclist(NpcIndex).Invent.Object(LoopC).Amount = 0
  53.         Next LoopC
  54.     End If
  55.     Npclist(NpcIndex).Inflacion = val(Leer.DarValor("NPC" & NpcNumber, "Inflacion"))
  56.     Npclist(NpcIndex).flags.NPCActive = True
  57.     Npclist(NpcIndex).flags.UseAINow = False
  58.     Npclist(NpcIndex).flags.Respawn = val(Leer.DarValor("NPC" & NpcNumber, "ReSpawn"))
  59.     Npclist(NpcIndex).flags.BackUp = val(Leer.DarValor("NPC" & NpcNumber, "BackUp"))
  60.     Npclist(NpcIndex).flags.Domable = val(Leer.DarValor("NPC" & NpcNumber, "Domable"))
  61.     Npclist(NpcIndex).flags.RespawnOrigPos = val(Leer.DarValor("NPC" & NpcNumber, "OrigPos"))
  62.    
  63.     'Tipo de items con los que comercia
  64.    
  65.     Npclist(NpcIndex).TipoItems = val(Leer.DarValor("NPC" & NpcNumber, "TipoItems"))
  66.  
  67. End Sub
  68.  

Novus Ordo Seclorum
825
Administrador
Registrado: 5 Años de membresía!Años de membresía
Ubicación: Unknown
Mensajes: 9394
Aportes: 143
Premios: 1
Reportes resueltos (1)

Este tema se encuentra cerrado.

Volver a AO 0.11.2 / AOReady

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados