From dee8e037899117ef4c48d77bb8a8309c23492d71 Mon Sep 17 00:00:00 2001 From: MartinTrionfetti Date: Sat, 10 Jul 2021 01:53:01 -0300 Subject: [PATCH] Fix IA Npcs --- Codigo/General.bas | 2 +- Codigo/MODULO_NPCs.bas | 7 ++----- Codigo/frmMain.frm | 17 +++++++++++++---- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/Codigo/General.bas b/Codigo/General.bas index 504aa1f4..8bc8349b 100644 --- a/Codigo/General.bas +++ b/Codigo/General.bas @@ -606,7 +606,7 @@ Sub Main() 114 Call InicializarConstantes 116 frmCargando.Show - LastCountUsersOnline = 100 + LastCountUsersOnline = -1 'Call PlayWaveAPI(App.Path & "\wav\harp3.wav") 118 frmMain.Caption = frmMain.Caption & " V." & App.Major & "." & App.Minor & "." & App.Revision diff --git a/Codigo/MODULO_NPCs.bas b/Codigo/MODULO_NPCs.bas index d6684278..d6508506 100644 --- a/Codigo/MODULO_NPCs.bas +++ b/Codigo/MODULO_NPCs.bas @@ -1171,8 +1171,6 @@ Function OpenNPC(ByVal NpcNumber As Integer, _ '166 .QuestNumber = val(Leer.GetValue("NPC" & NpcNumber, "QuestNumber")) - - 186 .PoderAtaque = val(Leer.GetValue("NPC" & NpcNumber, "PoderAtaque")) 188 .PoderEvasion = val(Leer.GetValue("NPC" & NpcNumber, "PoderEvasion")) @@ -1187,6 +1185,7 @@ Function OpenNPC(ByVal NpcNumber As Integer, _ 200 .IntervaloAtaque = val(Leer.GetValue("NPC" & NpcNumber, "IntervaloAtaque")) 202 .IntervaloMovimiento = val(Leer.GetValue("NPC" & NpcNumber, "IntervaloMovimiento")) + 204 .IntervaloLanzarHechizo = val(Leer.GetValue("NPC" & NpcNumber, "IntervaloLanzarHechizo")) 206 .Contadores.IntervaloRespawn = val(Leer.GetValue("NPC" & NpcNumber, "IntervaloRespawn")) @@ -1206,12 +1205,10 @@ Function OpenNPC(ByVal NpcNumber As Integer, _ 222 If .IntervaloLanzarHechizo = 0 Then 224 .IntervaloLanzarHechizo = 8000 - End If 226 If .IntervaloAtaque = 0 Then 228 .IntervaloAtaque = 2000 - End If 230 .Stats.MaxHp = val(Leer.GetValue("NPC" & NpcNumber, "MaxHP")) @@ -1370,7 +1367,7 @@ Function OpenNPC(ByVal NpcNumber As Integer, _ 396 If .pathFindingInfo.RangoVision = 0 Then .pathFindingInfo.RangoVision = RANGO_VISION_X 398 .pathFindingInfo.Inteligencia = val(Leer.GetValue("NPC" & NpcNumber, "Inteligencia")) -400 If .pathFindingInfo.Inteligencia = 0 Then .pathFindingInfo.Inteligencia = 30 +400 If .pathFindingInfo.Inteligencia = 0 Then .pathFindingInfo.Inteligencia = 0 402 ReDim .pathFindingInfo.Path(1 To .pathFindingInfo.Inteligencia + RANGO_VISION_X * 3) diff --git a/Codigo/frmMain.frm b/Codigo/frmMain.frm index 4c5602b3..76e07e72 100644 --- a/Codigo/frmMain.frm +++ b/Codigo/frmMain.frm @@ -832,9 +832,18 @@ Handler: End Sub Private Sub T_UsersOnline_Timer() + +On Error GoTo T_UsersOnline_Err + If LastCountUsersOnline <> NumUsers Then Call MostrarNumUsers End If + + Exit Sub + +T_UsersOnline_Err: +106 Call RegistrarError(Err.Number, Err.Description, "General.T_UsersOnline", Erl) + End Sub ' WyroX: Comprobamos cada 10 segundos, porque no es necesaria tanta precisiĆ³n @@ -1831,7 +1840,7 @@ Private Sub TIMER_AI_Timer() 'Barrin 29/9/03 If Not haciendoBK And Not EnPausa Then - + 'Update NPCs For NpcIndex = 1 To LastNPC @@ -1858,8 +1867,8 @@ Private Sub TIMER_AI_Timer() If .flags.Inmovilizado > 0 Then Call EfectoInmovilizadoNpc(NpcIndex) If Mapa > 0 Then - 'Emancu: Vamos a probar si el server se degrada moviendo TODOS los npc, con o sin users. - 'If MapInfo(Mapa).NumUsers > 0 Or NpcList(NpcIndex).NPCtype = eNPCType.GuardiaNpc Then + 'Emancu: Vamos a probar si el server se degrada moviendo TODOS los npc, con o sin users. HarThaoS / WyroX: Si, se degrada. + If MapInfo(Mapa).NumUsers > 0 Or NpcList(NpcIndex).NPCtype = eNPCType.GuardiaNpc Then If IntervaloPermiteMoverse(NpcIndex) Then @@ -1875,7 +1884,7 @@ Private Sub TIMER_AI_Timer() End If - 'End If + End If End If