From 90a15d7cd30ab5d01d7eb947aff1cdc1069b978d Mon Sep 17 00:00:00 2001 From: ReyarB <50249497+ReyarB@users.noreply.github.com> Date: Sat, 7 Dec 2024 09:31:25 -0300 Subject: [PATCH] Update InvUsuario.bas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sumo ID que ya están en recursos Id para cliente Agrego mas ID para el server pasar al Cliente Update Acciones.bas Nuevos ID para msg al cliente Primeros mensajes pasados a ID Update modHechizos.bas ID Nuevos Para el server Nuevos ID del server Code formatter en Trabajo.bas Agrego ID del 693 al 735 --- Codigo/Acciones.bas | 16 +- Codigo/GameLogic.bas | 91 +- Codigo/General.bas | 28 +- Codigo/InvUsuario.bas | 87 +- Codigo/MODULO_NPCs.bas | 2 +- Codigo/ModQuest.bas | 3 +- Codigo/ModRetos.bas | 3 +- Codigo/Modulo_UsUaRiOs.bas | 81 +- Codigo/Protocol.bas | 190 ++- Codigo/Protocol_GmCommands.bas | 333 +++-- Codigo/SistemaCombate.bas | 3 +- Codigo/Trabajo.bas | 2277 +++++++++++++++++--------------- Codigo/modCrafteos.bas | 9 +- Codigo/modHechizos.bas | 89 +- Server.VBP | 6 +- 15 files changed, 1825 insertions(+), 1393 deletions(-) diff --git a/Codigo/Acciones.bas b/Codigo/Acciones.bas index 3ea23a46..01a617be 100644 --- a/Codigo/Acciones.bas +++ b/Codigo/Acciones.bas @@ -361,7 +361,8 @@ Public Sub CompletarAccionFin(ByVal UserIndex As Integer) ' Case e_AccionBarra.Resucitar - Call WriteConsoleMsg(UserIndex, "¡Has sido resucitado!", e_FontTypeNames.FONTTYPE_INFO) + ' Msg585=¡Has sido resucitado! + Call WriteLocaleMsg(UserIndex, "585", e_FontTypeNames.FONTTYPE_INFO) Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageParticleFX(UserList(UserIndex).Char.CharIndex, e_ParticulasIndex.Resucitar, 250, True)) Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave("117", UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.y)) Call RevivirUsuario(UserIndex, True) @@ -515,7 +516,8 @@ Sub Accion(ByVal UserIndex As Integer, ByVal Map As Integer, ByVal X As Integer, 'Revivimos si es necesario 178 If UserList(UserIndex).flags.Muerto = 1 And (NpcList(TempCharIndex).NPCtype = e_NPCType.Revividor Or EsNewbie(UserIndex)) Then -180 Call WriteConsoleMsg(UserIndex, "¡Has sido resucitado!", e_FontTypeNames.FONTTYPE_INFO) +180 ' Msg585=¡Has sido resucitado! + Call WriteLocaleMsg(UserIndex, "585", e_FontTypeNames.FONTTYPE_INFO) 182 Call RevivirUsuario(UserIndex) 184 Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageParticleFX(UserList(UserIndex).Char.CharIndex, e_ParticulasIndex.Resucitar, 30, False)) 186 Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave("117", UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y)) @@ -761,7 +763,8 @@ Sub Accion(ByVal UserIndex As Integer, ByVal Map As Integer, ByVal X As Integer, 346 Case e_OBJType.OtCorreo 'Es un cartel 'Call AccionParaCorreo(Map, x, Y, UserIndex) - Call WriteConsoleMsg(UserIndex, "El correo está temporalmente deshabilitado.", e_FontTypeNames.FONTTYPE_EJECUCION) + ' Msg586=El correo está temporalmente deshabilitado. + Call WriteLocaleMsg(UserIndex, "586", e_FontTypeNames.FONTTYPE_EJECUCION) 356 Case e_OBJType.otYunque 'Pozos 358 Call AccionParaYunque(Map, X, Y, UserIndex) @@ -833,7 +836,8 @@ Sub AccionParaYunque(ByVal Map As Integer, ByVal X As Integer, ByVal Y As Intege 106 If Distancia(Pos, UserList(UserIndex).Pos) > 2 Then 108 Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) - Call WriteConsoleMsg(UserIndex, "Estas demasiado lejos.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg8=Estas demasiado lejos. + Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -984,8 +988,8 @@ Sub AccionParaRamita(ByVal Map As Integer, ByVal X As Integer, ByVal Y As Intege 106 With UserList(UserIndex) 108 If Distancia(Pos, .Pos) > 2 Then -110 Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) - ' Call WriteConsoleMsg(UserIndex, "Estas demasiado lejos.", e_FontTypeNames.FONTTYPE_INFO) +110 ' Msg8=Estas demasiado lejos. + Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If diff --git a/Codigo/GameLogic.bas b/Codigo/GameLogic.bas index cc60a9a3..1ea48a2d 100644 --- a/Codigo/GameLogic.bas +++ b/Codigo/GameLogic.bas @@ -1303,10 +1303,12 @@ Sub LookatTile(ByVal UserIndex As Integer, ByVal Map As Integer, ByVal X As Inte 180 If LenB(MapInfo(MapData(Map, X, Y).TileExit.Map).map_name) <> 0 Then 182 Call WriteConsoleMsg(UserIndex, "Portal a " & MapInfo(MapData(Map, X, Y).TileExit.Map).map_name, e_FontTypeNames.FONTTYPE_INFO) Else -184 Call WriteConsoleMsg(UserIndex, "Portal a un mapa desconocido...", e_FontTypeNames.FONTTYPE_INFO) +184 'Msg492=Portal a un mapa desconocido... + Call WriteLocaleMsg(UserIndex, "492", e_FontTypeNames.FONTTYPE_INFO) End If Else -186 Call WriteConsoleMsg(UserIndex, "Portal hacia la quinta dimensión", e_FontTypeNames.FONTTYPE_INFO) +186 'Msg493=Portal hacia la quinta dimensión + Call WriteLocaleMsg(UserIndex, "493", e_FontTypeNames.FONTTYPE_INFO) End If Else 188 Call WriteConsoleMsg(UserIndex, "O*" & UserList(UserIndex).flags.TargetObj & "*", e_FontTypeNames.FONTTYPE_INFO) @@ -1670,7 +1672,9 @@ Sub LookatTile(ByVal UserIndex As Integer, ByVal Map As Integer, ByVal X As Inte 504 Call FinishQuest(UserIndex, .QuestIndex, i) 506 Call WriteUpdateNPCSimbolo(UserIndex, TempCharIndex, 1) 508 Call WriteChatOverHead(UserIndex, "¡Quest Finalizada!", NpcList(TempCharIndex).Char.charindex, vbYellow) -510 Call WriteConsoleMsg(UserIndex, "Quest Finalizada!", e_FontTypeNames.FONTTYPE_INFOIAO) +510 ' Msg494=Quest Finalizada! + Call WriteLocaleMsg(UserIndex, "494", e_FontTypeNames.FONTTYPE_INFOIAO) + End If End If @@ -2074,7 +2078,9 @@ Public Sub ResucitarOCurar(ByVal UserIndex As Integer) Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageCreateFX(UserList(UserIndex).Char.charindex, 35, 1, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y)) - Call WriteConsoleMsg(UserIndex, "¡¡Hás sido resucitado!!", e_FontTypeNames.FONTTYPE_INFO) + ' Msg495=¡¡Hás sido resucitado!! + Call WriteLocaleMsg(UserIndex, "495", e_FontTypeNames.FONTTYPE_INFO) + ElseIf UserList(UserIndex).Stats.MinHp < UserList(UserIndex).Stats.MaxHp Then UserList(UserIndex).Stats.MinHp = UserList(UserIndex).Stats.MaxHp UserList(UserIndex).flags.Envenenado = False @@ -2086,7 +2092,9 @@ Public Sub ResucitarOCurar(ByVal UserIndex As Integer) Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave(18, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y)) - Call WriteConsoleMsg(UserIndex, "¡¡Hás sido curado!!", e_FontTypeNames.FONTTYPE_INFO) + ' Msg496=¡¡Hás sido curado!! + Call WriteLocaleMsg(UserIndex, "496", e_FontTypeNames.FONTTYPE_INFO) + End If End Sub @@ -2238,23 +2246,33 @@ End Function Public Sub SendrequiredItemMessage(ByVal UserIndex As Integer, ByVal itemMask As e_SpellRequirementMask, ByVal Message As String) Select Case itemMask Case e_SpellRequirementMask.eArmor - Call WriteConsoleMsg(UserIndex, "Necesitás una armadura " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg497=Necesitás una armadura + Call WriteLocaleMsg(UserIndex, "497", Message, e_FontTypeNames.FONTTYPE_INFO) + Case e_SpellRequirementMask.eHelm - Call WriteConsoleMsg(UserIndex, "Necesitás un casco " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg564=Necesitás un casco + Call WriteLocaleMsg(UserIndex, "564", Message, e_FontTypeNames.FONTTYPE_INFO) Case e_SpellRequirementMask.eKnucle - Call WriteConsoleMsg(UserIndex, "Necesitás unos nudillos " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg565=Necesitás unos nudillos + Call WriteLocaleMsg(UserIndex, "565", Message, e_FontTypeNames.FONTTYPE_INFO) Case e_SpellRequirementMask.eMagicItem - Call WriteConsoleMsg(UserIndex, "Necesitás un objeto magico " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg566=Necesitás un objeto magico + Call WriteLocaleMsg(UserIndex, "566", Message, e_FontTypeNames.FONTTYPE_INFO) Case e_SpellRequirementMask.eProjectile - Call WriteConsoleMsg(UserIndex, "Necesitás municiones " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg567=Necesitás municiones + Call WriteLocaleMsg(UserIndex, "567", Message, e_FontTypeNames.FONTTYPE_INFO) Case e_SpellRequirementMask.eShield - Call WriteConsoleMsg(UserIndex, "Necesitás un escudo " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg568=Necesitás un escudo + Call WriteLocaleMsg(UserIndex, "568", Message, e_FontTypeNames.FONTTYPE_INFO) Case e_SpellRequirementMask.eShip - Call WriteConsoleMsg(UserIndex, "Necesitás un barco " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg569=Necesitás un barco + Call WriteLocaleMsg(UserIndex, "569", Message, e_FontTypeNames.FONTTYPE_INFO) Case e_SpellRequirementMask.eTool - Call WriteConsoleMsg(UserIndex, "Necesitás una herramienta " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg570=Necesitás una herramienta + Call WriteLocaleMsg(UserIndex, "570", Message, e_FontTypeNames.FONTTYPE_INFO) Case e_SpellRequirementMask.eWeapon - Call WriteConsoleMsg(UserIndex, "Necesitás un arma " + Message, e_FontTypeNames.FONTTYPE_INFO) + ' Msg571=Necesitás un arma + Call WriteLocaleMsg(UserIndex, "571", Message, e_FontTypeNames.FONTTYPE_INFO) End Select End Sub @@ -2278,41 +2296,56 @@ Public Sub SendAttackInteractionMessage(ByVal UserIndex As Integer, ByVal CanAtt Case e_AttackInteractionResult.eDeathAttacker Call WriteLocaleMsg(UserIndex, 77, e_FontTypeNames.FONTTYPE_INFO) Case e_AttackInteractionResult.eFightActive - Call WriteConsoleMsg(UserIndex, "No podés atacar en este momento.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg498=No podés atacar en este momento. + Call WriteLocaleMsg(UserIndex, "498", e_FontTypeNames.FONTTYPE_INFO) Case e_AttackInteractionResult.eDeathTarget - Call WriteConsoleMsg(UserIndex, "No podés atacar a un espiritu.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg499=No podés atacar a un espiritu. + Call WriteLocaleMsg(UserIndex, "499", e_FontTypeNames.FONTTYPE_INFO) Case e_AttackInteractionResult.eSameGroup - Call WriteConsoleMsg(UserIndex, "No podés atacar a un miembro de tu grupo.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg500=No podés atacar a un miembro de tu grupo. + Call WriteLocaleMsg(UserIndex, "500", e_FontTypeNames.FONTTYPE_INFO) Case e_AttackInteractionResult.eTalkWithMaster - Call WriteConsoleMsg(UserIndex, "No podés atacar usuarios mientras estás en consulta.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg501=No podés atacar usuarios mientras estás en consulta. + Call WriteLocaleMsg(UserIndex, "501", e_FontTypeNames.FONTTYPE_INFO) Case e_AttackInteractionResult.eAttackerIsCursed - Call WriteConsoleMsg(UserIndex, "No podés atacar usuarios mientras estás en consulta.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg502=No podés atacar usuarios mientras estás en consulta. + Call WriteLocaleMsg(UserIndex, "502", e_FontTypeNames.FONTTYPE_INFO) Case e_AttackInteractionResult.eMounted - Call WriteConsoleMsg(UserIndex, "No podés atacar usando una montura.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg503=No podés atacar usando una montura. + Call WriteLocaleMsg(UserIndex, "503", e_FontTypeNames.FONTTYPE_INFO) Case e_AttackInteractionResult.eSameTeam - Call WriteConsoleMsg(UserIndex, "No podes atacar un miembro de tu equipo.", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg504=No podes atacar un miembro de tu equipo. + Call WriteLocaleMsg(UserIndex, "504", e_FontTypeNames.FONTTYPE_WARNING) Case e_AttackInteractionResult.eNotEnougthPrivileges - Call WriteConsoleMsg(UserIndex, "El ser es demasiado poderoso", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg505=El ser es demasiado poderoso. + Call WriteLocaleMsg(UserIndex, "505", e_FontTypeNames.FONTTYPE_WARNING) Case e_AttackInteractionResult.eSameClan - Call WriteConsoleMsg(UserIndex, "No podes atacar a un miembro de tu clan.", e_FontTypeNames.FONTTYPE_INFOIAO) + ' Msg506=No podes atacar a un miembro de tu clan. + Call WriteLocaleMsg(UserIndex, "506", e_FontTypeNames.FONTTYPE_INFOIAO) Case e_AttackInteractionResult.eSameFaction Call WriteLocaleMsg(UserIndex, MsgFacctionForbidAttack, e_FontTypeNames.FONTTYPE_INFOIAO) Case e_AttackInteractionResult.eRemoveSafe Call WriteLocaleMsg(UserIndex, MsgRemoveSafeToAttack, e_FontTypeNames.FONTTYPE_INFOIAO) Case e_AttackInteractionResult.eSafeArea - Call WriteConsoleMsg(UserIndex, "Esta es una zona segura, aqui no podes atacar otros usuarios.", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg572=Esta es una zona segura, aquí no podés atacar otros usuarios. + Call WriteLocaleMsg(UserIndex, "572", e_FontTypeNames.FONTTYPE_WARNING) Case e_AttackInteractionResult.eCantAttackYourself Call WriteLocaleMsg(UserIndex, MsgCantAttackYourself, e_FontTypeNames.FONTTYPE_WARNING) Case e_AttackInteractionResult.eAttackSameFaction - Call WriteLocaleMsg(UserIndex, "¡Atacaste un ciudadano! Te has convertido en un Criminal.", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg507=¡Atacaste un ciudadano! Te has convertido en un Criminal. + Call WriteLocaleMsg(UserIndex, "507", e_FontTypeNames.FONTTYPE_WARNING) Case e_AttackInteractionResult.eAttackPetSameFaction - Call WriteLocaleMsg(UserIndex, "¡Atacaste una mascota de un ciudadano! Te has convertido en un Criminal.", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg508=¡Atacaste una mascota de un ciudadano! Te has convertido en un Criminal. + Call WriteLocaleMsg(UserIndex, "508", e_FontTypeNames.FONTTYPE_WARNING) Case e_AttackInteractionResult.eRemoveSafeCitizenNpc - Call WriteConsoleMsg(UserIndex, "Debes quitar el seguro para poder atacar la criatura que esta luchando con otro usuario.", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg509=Debes quitar el seguro para poder atacar la criatura que esta luchando con otro usuario. + Call WriteLocaleMsg(UserIndex, "509", e_FontTypeNames.FONTTYPE_WARNING) Case e_AttackInteractionResult.eAttackCitizenNpc - Call WriteConsoleMsg(UserIndex, "¡Atacaste una criatura de otro usuario! Te has convertido en un Criminal.", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg510=¡Atacaste una criatura de otro usuario! Te has convertido en un Criminal. + Call WriteLocaleMsg(UserIndex, "510", e_FontTypeNames.FONTTYPE_WARNING) Case Else - Call WriteLocaleMsg(UserIndex, MsgInvalidTarget, e_FontTypeNames.FONTTYPE_INFOIAO) + ' Msg511=Target inválido. + Call WriteLocaleMsg(UserIndex, "511", e_FontTypeNames.FONTTYPE_INFOIAO) End Select End Sub diff --git a/Codigo/General.bas b/Codigo/General.bas index 7266fa91..1b44bfcd 100644 --- a/Codigo/General.bas +++ b/Codigo/General.bas @@ -1008,7 +1008,8 @@ Public Sub EfectoFrio(ByVal UserIndex As Integer) 110 .Counters.Frio = .Counters.Frio + 1 Else 112 If MapInfo(.Pos.Map).terrain = Nieve Then -114 Call WriteConsoleMsg(UserIndex, "¡Estás muriendo de frío, abrígate o morirás!", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg512=¡Estás muriendo de frío, abrígate o morirás! + Call WriteLocaleMsg(UserIndex, "512", e_FontTypeNames.FONTTYPE_INFO) ' WyroX: Sin ropa perdés vida más rápido que con una ropa no-invernal Dim MinDamage As Integer, MaxDamage As Integer 116 If .flags.Desnudo = 0 Then @@ -1023,7 +1024,8 @@ Public Sub EfectoFrio(ByVal UserIndex As Integer) Dim Damage As Integer 126 Damage = Porcentaje(.Stats.MaxHp, RandomNumber(MinDamage, MaxDamage)) 128 If UserMod.ModifyHealth(UserIndex, -Damage, 0) Then -132 Call WriteConsoleMsg(UserIndex, "¡Has muerto de frío!", e_FontTypeNames.FONTTYPE_INFO) +132 ' Msg513=¡Has muerto de frío! + Call WriteLocaleMsg(UserIndex, "513", e_FontTypeNames.FONTTYPE_INFO) 134 Call UserMod.UserDie(UserIndex) End If End If @@ -1066,7 +1068,8 @@ Public Sub EfectoStamina(ByVal UserIndex As Integer) 'termina de descansar automaticamente 124 If .Stats.MaxHp = .Stats.MinHp And .Stats.MaxSta = .Stats.MinSta Then 126 Call WriteRestOK(UserIndex) -128 Call WriteConsoleMsg(UserIndex, "Has terminado de descansar.", e_FontTypeNames.FONTTYPE_INFO) +128 ' Msg514=Has terminado de descansar. + Call WriteLocaleMsg(UserIndex, "514", e_FontTypeNames.FONTTYPE_INFO) 130 .flags.Descansar = False End If @@ -1089,9 +1092,11 @@ Public Sub EfectoLava(ByVal UserIndex As Integer) 104 .Counters.Lava = .Counters.Lava + 1 Else 106 If HayLava(.Pos.Map, .Pos.X, .Pos.Y) Then -108 Call WriteConsoleMsg(UserIndex, "¡Quítate de la lava, te estás quemando!", e_FontTypeNames.FONTTYPE_INFO) +108 ' Msg515=¡Quítate de la lava, te estás quemando! + Call WriteLocaleMsg(UserIndex, "515", e_FontTypeNames.FONTTYPE_INFO) 110 If UserMod.ModifyHealth(UserIndex, -Porcentaje(.Stats.MaxHp, 5)) Then -114 Call WriteConsoleMsg(UserIndex, "¡Has muerto quemado!", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg516=¡Has muerto quemado! + Call WriteLocaleMsg(UserIndex, "516", e_FontTypeNames.FONTTYPE_INFO) Call CustomScenarios.UserDie(UserIndex) 116 Call UserMod.UserDie(UserIndex) End If @@ -1128,7 +1133,8 @@ Public Sub EfectoMimetismo(ByVal UserIndex As Integer) Else 'restore old char -106 Call WriteConsoleMsg(UserIndex, "Recuperas tu apariencia normal.", e_FontTypeNames.FONTTYPE_INFO) +106 ' Msg517=Recuperas tu apariencia normal. + Call WriteLocaleMsg(UserIndex, "517", e_FontTypeNames.FONTTYPE_INFO) 108 If .flags.Navegando Then 110 Call EquiparBarco(UserIndex) @@ -1180,7 +1186,7 @@ Public Sub EfectoInvisibilidad(ByVal UserIndex As Integer) .flags.invisible = 0 .Counters.DisabledInvisibility = 0 If .flags.Oculto = 0 Then - ' Call WriteConsoleMsg(UserIndex, "Has vuelto a ser visible.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg307=Has vuelto a ser visible Call WriteLocaleMsg(UserIndex, "307", e_FontTypeNames.FONTTYPE_INFO) Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, False, .pos.x, .pos.y)) Call WriteContadores(UserIndex) @@ -1344,7 +1350,8 @@ Public Sub EfectoMaldicionUser(ByVal UserIndex As Integer) Else 104 UserList(UserIndex).flags.Maldicion = 0 -106 Call WriteConsoleMsg(UserIndex, "¡La magia perdió su efecto! Ya puedes atacar.", e_FontTypeNames.FONTTYPE_New_Amarillo_Oscuro) +106 ' Msg518=¡La magia perdió su efecto! Ya puedes atacar. + Call WriteLocaleMsg(UserIndex, "518", e_FontTypeNames.FONTTYPE_New_Amarillo_Oscuro) End If @@ -1511,7 +1518,7 @@ Public Sub EfectoVeneno(ByVal UserIndex As Integer) Else 104 Call CancelExit(UserIndex) 106 With UserList(UserIndex) - 'Call WriteConsoleMsg(UserIndex, "Estás envenenado, si no te curas morirás.", e_FontTypeNames.FONTTYPE_VENENO) + 'Msg47=Estás envenenado, si no te curas morirás. 108 Call WriteLocaleMsg(UserIndex, "47", e_FontTypeNames.FONTTYPE_VENENO) UserList(userindex).Counters.timeFx = 3 110 Call SendData(SendTarget.ToPCAliveArea, userindex, PrepareMessageParticleFX(.Char.charindex, e_ParticulasIndex.Envenena, 30, False, , UserList(userindex).Pos.X, UserList(userindex).Pos.y)) @@ -1680,7 +1687,8 @@ Public Sub Sanar(ByVal UserIndex As Integer, ByRef EnviarStats As Boolean, ByVal 114 UserList(UserIndex).Counters.HPCounter = 0 116 Call UserMod.ModifyHealth(UserIndex, mashit) -120 Call WriteConsoleMsg(UserIndex, "Has sanado.", e_FontTypeNames.FONTTYPE_INFO) +120 ' Msg519=Has sanado. + Call WriteLocaleMsg(UserIndex, "519", e_FontTypeNames.FONTTYPE_INFO) 122 EnviarStats = True End If Exit Sub diff --git a/Codigo/InvUsuario.bas b/Codigo/InvUsuario.bas index c36f72c6..ca9d6c01 100644 --- a/Codigo/InvUsuario.bas +++ b/Codigo/InvUsuario.bas @@ -266,7 +266,8 @@ Sub QuitarNewbieObj(ByVal UserIndex As Integer) 'Mandamos a la Isla de la Fortuna Call WarpUserChar(UserIndex, Renacimiento.Map, Renacimiento.x, Renacimiento.y, True) - Call WriteConsoleMsg(UserIndex, "Has dejado de ser Newbie.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg671=Has dejado de ser Newbie. + Call WriteLocaleMsg(UserIndex, "671", e_FontTypeNames.FONTTYPE_INFO) Exit Sub @@ -753,7 +754,8 @@ Sub PickObj(ByVal UserIndex As Integer) 102 If ObjData(MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).ObjInfo.ObjIndex).Agarrable <> 1 Then 104 If UserList(UserIndex).flags.Montado = 1 Then -106 Call WriteConsoleMsg(UserIndex, "Debes descender de tu montura para agarrar objetos del suelo.", e_FontTypeNames.FONTTYPE_INFO) +106 ' Msg672=Debes descender de tu montura para agarrar objetos del suelo. + Call WriteLocaleMsg(UserIndex, "672", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If If Not UserCanPickUpItem(UserIndex) Then @@ -955,7 +957,8 @@ Sub Desequipar(ByVal UserIndex As Integer, ByVal Slot As Byte) Case e_MagicItemEffect.eTalkToDead Call UnsetMask(UserList(UserIndex).flags.StatusMask, e_StatusMask.eTalkToDead) - Call WriteConsoleMsg(UserIndex, "Dejas el mundo de los muertos, ya no podrás comunicarte con ellos.", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg673=Dejas el mundo de los muertos, ya no podrás comunicarte con ellos. + Call WriteLocaleMsg(UserIndex, "673", e_FontTypeNames.FONTTYPE_WARNING) Call SendData(SendTarget.ToPCDeadAreaButIndex, UserIndex, PrepareMessageCharacterRemove(4, UserList(UserIndex).Char.charindex, False, True)) End Select @@ -1271,7 +1274,8 @@ Sub EquiparInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte) 154 If obj.DosManos = 1 Then 156 If .Invent.EscudoEqpObjIndex > 0 Then 158 Call Desequipar(UserIndex, .Invent.EscudoEqpSlot) -160 Call WriteConsoleMsg(UserIndex, "No puedes usar armas dos manos si tienes un escudo equipado. Tu escudo fue desequipado.", e_FontTypeNames.FONTTYPE_INFOIAO) +160 ' Msg674=No puedes usar armas dos manos si tienes un escudo equipado. Tu escudo fue desequipado. + Call WriteLocaleMsg(UserIndex, "674", e_FontTypeNames.FONTTYPE_INFOIAO) End If End If @@ -1416,7 +1420,8 @@ Sub EquiparInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte) Case e_MagicItemEffect.eTalkToDead Call SetMask(.flags.StatusMask, e_StatusMask.eTalkToDead) - Call WriteConsoleMsg(UserIndex, "Entras al mundo de los muertos, ahora podrás comunicarte con ellos.", e_FontTypeNames.FONTTYPE_WARNING) + ' Msg675=Entras al mundo de los muertos, ahora podrás comunicarte con ellos. + Call WriteLocaleMsg(UserIndex, "675", e_FontTypeNames.FONTTYPE_WARNING) Call CheckUpdateNeededUser(UserIndex, USER_NUEVO, True, 1) End Select @@ -1461,7 +1466,8 @@ Sub EquiparInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte) Ropaje = ObtenerRopaje(UserIndex, Obj) 372 If Ropaje = 0 Then -374 Call WriteConsoleMsg(UserIndex, "Hay un error con este objeto. Infórmale a un administrador.", e_FontTypeNames.FONTTYPE_INFO) +374 ' Msg676=Hay un error con este objeto. Infórmale a un administrador. + Call WriteLocaleMsg(UserIndex, "676", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1581,7 +1587,8 @@ Sub EquiparInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte) 484 If .Invent.WeaponEqpObjIndex > 0 Then 486 If ObjData(.Invent.WeaponEqpObjIndex).DosManos = 1 Then 488 Call Desequipar(UserIndex, .Invent.WeaponEqpSlot) -490 Call WriteConsoleMsg(UserIndex, "No puedes equipar un escudo si tienes un arma dos manos equipada. Tu arma fue desequipada.", e_FontTypeNames.FONTTYPE_INFOIAO) +490 ' Msg677=No puedes equipar un escudo si tienes un arma dos manos equipada. Tu arma fue desequipada. + Call WriteLocaleMsg(UserIndex, "677", e_FontTypeNames.FONTTYPE_INFOIAO) End If End If @@ -1628,8 +1635,8 @@ Sub EquiparInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte) .Invent.ResistenciaEqpObjIndex = .Invent.Object(Slot).ObjIndex 530 .Invent.ResistenciaEqpSlot = Slot Call WriteUpdateRM(userindex) - ElseIf ObjData(.invent.Object(Slot).objIndex).OBJType = e_OBJType.otDañoMagico Then -528 .invent.DañoMagicoEqpObjIndex = .invent.Object(Slot).objIndex + ElseIf ObjData(.invent.Object(Slot).ObjIndex).OBJType = e_OBJType.otDañoMagico Then +528 .invent.DañoMagicoEqpObjIndex = .invent.Object(Slot).ObjIndex .invent.DañoMagicoEqpSlot = Slot 538 Call WriteUpdateDM(userindex) @@ -1762,7 +1769,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As If IsSet(obj.ObjFlags, e_ObjFlags.e_UseOnSafeAreaOnly) Then If MapInfo(.pos.Map).Seguro = 0 Then - Call WriteConsoleMsg(UserIndex, "Solo podes usar este objeto en mapas seguros.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg678=Solo podes usar este objeto en mapas seguros. + Call WriteLocaleMsg(UserIndex, "678", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If End If @@ -1800,7 +1808,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As End If 126 If obj.Newbie = 1 And Not EsNewbie(UserIndex) And Not EsGM(UserIndex) Then -128 Call WriteConsoleMsg(UserIndex, "Solo los newbies pueden usar estos objetos.", e_FontTypeNames.FONTTYPE_INFO) +128 ' Msg679=Solo los newbies pueden usar estos objetos. + Call WriteLocaleMsg(UserIndex, "679", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1937,7 +1946,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As 236 Call WriteWorkRequestTarget(UserIndex, e_Skill.Talar) 238 Case 7 ' Herramientas de Herrero - Martillo -240 Call WriteConsoleMsg(UserIndex, "Debes hacer click derecho sobre el yunque.", e_FontTypeNames.FONTTYPE_INFOIAO) +240 ' Msg680=Debes hacer click derecho sobre el yunque. + Call WriteLocaleMsg(UserIndex, "680", e_FontTypeNames.FONTTYPE_INFOIAO) 242 Case 8 ' Herramientas de Mineria - Piquete 244 Call WriteWorkRequestTarget(UserIndex, e_Skill.Mineria) @@ -1958,7 +1968,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As End If If Not IntervaloPermiteGolpeUsar(UserIndex, False) Then - Call WriteConsoleMsg(UserIndex, "¡¡Debes esperar unos momentos para tomar otra poción!!", e_FontTypeNames.FONTTYPE_INFO) + ' Msg681=¡¡Debes esperar unos momentos para tomar otra poción!! + Call WriteLocaleMsg(UserIndex, "681", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2071,7 +2082,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As 326 If .flags.Envenenado > 0 Then 328 .flags.Envenenado = 0 -330 Call WriteConsoleMsg(UserIndex, "Te has curado del envenenamiento.", e_FontTypeNames.FONTTYPE_INFO) +330 ' Msg682=Te has curado del envenenamiento. + Call WriteLocaleMsg(UserIndex, "682", e_FontTypeNames.FONTTYPE_INFO) 'Quitamos del inv el item 332 Call QuitarUserInvItem(UserIndex, Slot, 1) @@ -2084,7 +2096,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As End If Else -340 Call WriteConsoleMsg(UserIndex, "¡No te encuentras envenenado!", e_FontTypeNames.FONTTYPE_INFO) +340 ' Msg683=¡No te encuentras envenenado! + Call WriteLocaleMsg(UserIndex, "683", e_FontTypeNames.FONTTYPE_INFO) End If @@ -2116,9 +2129,11 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As End If -368 Call WriteConsoleMsg(UserIndex, "Te has removido la paralizis.", e_FontTypeNames.FONTTYPE_INFOIAO) +368 ' Msg684=Te has removido la paralizis. + Call WriteLocaleMsg(UserIndex, "684", e_FontTypeNames.FONTTYPE_INFOIAO) Else -370 Call WriteConsoleMsg(UserIndex, "No estas paralizado.", e_FontTypeNames.FONTTYPE_INFOIAO) +370 ' Msg685=No estas paralizado. + Call WriteLocaleMsg(UserIndex, "685", e_FontTypeNames.FONTTYPE_INFOIAO) End If @@ -2203,7 +2218,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As 448 If CabezaActual <> CabezaFinal Then 450 Call QuitarUserInvItem(UserIndex, Slot, 1) Else -452 Call WriteConsoleMsg(UserIndex, "¡Rayos! Te tocó la misma cabeza, item no consumido. Tienes otra oportunidad.", e_FontTypeNames.FONTTYPE_INFOIAO) +452 ' Msg686=¡Rayos! Te tocó la misma cabeza, item no consumido. Tienes otra oportunidad. + Call WriteLocaleMsg(UserIndex, "686", e_FontTypeNames.FONTTYPE_INFOIAO) End If @@ -2292,7 +2308,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As 536 If .flags.invisible = 0 And .Counters.DisabledInvisibility = 0 Then If IsSet(.flags.StatusMask, eTaunting) Then - Call WriteConsoleMsg(UserIndex, "No tiene efecto.", e_FontTypeNames.FONTTYPE_New_Amarillo_Oscuro) + ' Msg687=No tiene efecto. + Call WriteLocaleMsg(UserIndex, "687", e_FontTypeNames.FONTTYPE_New_Amarillo_Oscuro) Exit Sub End If 538 .flags.invisible = 1 @@ -2309,10 +2326,12 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As End If -554 Call WriteConsoleMsg(UserIndex, "Te has escondido entre las sombras...", e_FontTypeNames.FONTTYPE_New_Amarillo_Oscuro) +554 ' Msg688=Te has escondido entre las sombras... + Call WriteLocaleMsg(UserIndex, "688", e_FontTypeNames.FONTTYPE_New_Amarillo_Oscuro) Else -556 Call WriteConsoleMsg(UserIndex, "Ya estas invisible.", e_FontTypeNames.FONTTYPE_New_Amarillo_Oscuro) +556 ' Msg689=Ya estás invisible. + Call WriteLocaleMsg(UserIndex, "689", e_FontTypeNames.FONTTYPE_New_Amarillo_Oscuro) Exit Sub End If @@ -2359,7 +2378,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As 674 Call WriteUpdateHungerAndThirst(UserIndex) -676 Call WriteConsoleMsg(UserIndex, "Donador> Te sentis sano y lleno.", e_FontTypeNames.FONTTYPE_WARNING) +676 ' Msg690=Donador> Te sentís sano y lleno. + Call WriteLocaleMsg(UserIndex, "690", e_FontTypeNames.FONTTYPE_WARNING) 678 If obj.Snd1 <> 0 Then 680 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(obj.Snd1, .Pos.X, .Pos.y)) @@ -2373,7 +2393,8 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As 684 Case 14 686 If MapData(.Pos.Map, .Pos.X, .Pos.Y).trigger = CARCEL Then -688 Call WriteConsoleMsg(UserIndex, "No podes usar la runa estando en la carcel.", e_FontTypeNames.FONTTYPE_INFO) +688 ' Msg691=No podés usar la runa estando en la cárcel. + Call WriteLocaleMsg(UserIndex, "691", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -3045,12 +3066,14 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As Select Case obj.Subtipo Case 1 1214 If .Counters.Pena <> 0 Then -1216 Call WriteConsoleMsg(UserIndex, "No podes usar la runa estando en la carcel.", e_FontTypeNames.FONTTYPE_INFO) +1216 ' Msg691=No podés usar la runa estando en la cárcel. + Call WriteLocaleMsg(UserIndex, "691", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 1218 If MapData(.Pos.Map, .Pos.X, .Pos.Y).trigger = CARCEL Then -1220 Call WriteConsoleMsg(UserIndex, "No podes usar la runa estando en la carcel.", e_FontTypeNames.FONTTYPE_INFO) +1220 ' Msg691=No podés usar la runa estando en la cárcel. + Call WriteLocaleMsg(UserIndex, "691", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -3109,19 +3132,22 @@ Sub UseInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte, ByVal ByClick As 1308 Case e_OBJType.otRunas 1310 If .Counters.Pena <> 0 Then -1312 Call WriteConsoleMsg(UserIndex, "No podes usar la runa estando en la carcel.", e_FontTypeNames.FONTTYPE_INFO) +1312 ' Msg691=No podés usar la runa estando en la cárcel. + Call WriteLocaleMsg(UserIndex, "691", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 1314 If MapData(.Pos.Map, .Pos.X, .Pos.Y).trigger = CARCEL Then -1316 Call WriteConsoleMsg(UserIndex, "No podes usar la runa estando en la carcel.", e_FontTypeNames.FONTTYPE_INFO) +1316 ' Msg691=No podés usar la runa estando en la cárcel. + Call WriteLocaleMsg(UserIndex, "691", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 1318 If MapInfo(.Pos.Map).Seguro = 0 And .flags.Muerto = 0 Then -1320 Call WriteConsoleMsg(UserIndex, "Solo podes usar tu runa en zonas seguras.", e_FontTypeNames.FONTTYPE_INFO) +1320 ' Msg692=Solo podes usar tu runa en zonas seguras. + Call WriteLocaleMsg(UserIndex, "692", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -3482,8 +3508,9 @@ On Error GoTo ResurrectWithItem_Err End If 106 CanHelpResult = UserMod.CanHelpUser(UserIndex, targetUser) If UserList(TargetUser).flags.SeguroResu Then - Call WriteConsoleMsg(UserIndex, "El usuario tiene el seguro de resurrección activado.", e_FontTypeNames.FONTTYPE_INFO) - Call WriteConsoleMsg(TargetUser, UserList(UserIndex).Name & " está intentando revivirte. Desactiva el seguro de resurrección para permitirle hacerlo.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg693=El usuario tiene el seguro de resurrección activado. + Call WriteLocaleMsg(UserIndex, "693", e_FontTypeNames.FONTTYPE_INFO) + Call WriteConsoleMsg(TargetUser, UserList(UserIndex).name & " está intentando revivirte. Desactiva el seguro de resurrección para permitirle hacerlo.", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If If CanHelpResult <> eInteractionOk Then diff --git a/Codigo/MODULO_NPCs.bas b/Codigo/MODULO_NPCs.bas index de9ec37b..8d489768 100644 --- a/Codigo/MODULO_NPCs.bas +++ b/Codigo/MODULO_NPCs.bas @@ -998,7 +998,7 @@ Sub NpcEnvenenarUser(ByVal UserIndex As Integer, ByVal VenenoNivel As Byte) 102 If n < 30 Then 104 UserList(UserIndex).flags.Envenenado = VenenoNivel - 'Call WriteConsoleMsg(UserIndex, "¡¡La criatura te ha envenenado!!", e_FontTypeNames.FONTTYPE_FIGHT) + 'Msg182=¡¡La criatura te ha envenenado!! 106 If UserList(UserIndex).ChatCombate = 1 Then 108 Call WriteLocaleMsg(UserIndex, "182", e_FontTypeNames.FONTTYPE_FIGHT) diff --git a/Codigo/ModQuest.bas b/Codigo/ModQuest.bas index afe662f0..4f241f18 100644 --- a/Codigo/ModQuest.bas +++ b/Codigo/ModQuest.bas @@ -606,7 +606,8 @@ Public Sub EnviarQuest(ByVal UserIndex As Integer) 102 NpcIndex = UserList(UserIndex).flags.TargetNPC.ArrayIndex 'Esta el personaje en la distancia correcta? 104 If Distancia(UserList(UserIndex).Pos, NpcList(NpcIndex).Pos) > 5 Then -106 Call WriteConsoleMsg(UserIndex, "Estas demasiado lejos.", e_FontTypeNames.FONTTYPE_INFO) +106 ' Msg8=Estas demasiado lejos. + Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If diff --git a/Codigo/ModRetos.bas b/Codigo/ModRetos.bas index acda7e4c..0045576e 100644 --- a/Codigo/ModRetos.bas +++ b/Codigo/ModRetos.bas @@ -111,7 +111,8 @@ Public Sub CrearReto(ByVal UserIndex As Integer, JugadoresStr As String, ByVal A 124 If Not PuedeRetoConMensaje(UserIndex) Then Exit Sub 126 If .Stats.GLD < Apuesta Then -128 Call WriteConsoleMsg(UserIndex, "No tienes el oro suficiente.", e_FontTypeNames.FONTTYPE_INFO) +128 ' Msg588=No tienes el oro suficiente. + Call WriteLocaleMsg(UserIndex, "588", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If diff --git a/Codigo/Modulo_UsUaRiOs.bas b/Codigo/Modulo_UsUaRiOs.bas index aa9963f4..19fee7f3 100644 --- a/Codigo/Modulo_UsUaRiOs.bas +++ b/Codigo/Modulo_UsUaRiOs.bas @@ -165,7 +165,8 @@ On Error GoTo Check_ConnectUser_Err If EnPausa Then Call WritePauseToggle(userIndex) - Call WriteConsoleMsg(UserIndex, "Servidor » Lo sentimos mucho pero el servidor se encuentra actualmente detenido. Intenta ingresar más tarde.", e_FontTypeNames.FONTTYPE_SERVER) + ' Msg520=Servidor » Lo sentimos mucho pero el servidor se encuentra actualmente detenido. Intenta ingresar más tarde. + Call WriteLocaleMsg(UserIndex, "520", e_FontTypeNames.FONTTYPE_SERVER) Call CloseSocket(userIndex) Exit Function End If @@ -772,7 +773,8 @@ On Error GoTo Complete_ConnectUser_Err 'welcome to the show baby... 1085 If Not modGuilds.m_ConectarMiembroAClan(UserIndex, .GuildIndex) Then -1090 Call WriteConsoleMsg(UserIndex, "Tu estado no te permite entrar al clan.", e_FontTypeNames.FONTTYPE_GUILD) +1090 ' Msg521=Tu estado no te permite entrar al clan. + Call WriteLocaleMsg(UserIndex, "521", e_FontTypeNames.FONTTYPE_GUILD) End If End If @@ -792,7 +794,9 @@ On Error GoTo Complete_ConnectUser_Err 1120 Call WriteLoggedMessage(UserIndex, newUser) 1125 If .Stats.ELV = 1 Then -1130 Call WriteConsoleMsg(UserIndex, "¡Bienvenido a las tierras de Argentum Online! ¡" & .name & " que tengas buen viaje y mucha suerte!", e_FontTypeNames.FONTTYPE_GUILD) +1130 ' Msg522=¡Bienvenido a las tierras de Argentum Online! ¡ que tengas buen viaje y mucha suerte! + Call WriteLocaleMsg(UserIndex, "522", e_FontTypeNames.FONTTYPE_GUILD, .name) + 1135 ElseIf .Stats.ELV < 14 Then 1140 Call WriteConsoleMsg(UserIndex, "¡Bienvenido de nuevo " & .name & "! Actualmente estas en el nivel " & .Stats.ELV & " en " & get_map_name(.pos.Map) & ", ¡buen viaje y mucha suerte!", e_FontTypeNames.FONTTYPE_GUILD) @@ -1342,21 +1346,22 @@ Sub CheckUserLevel(ByVal UserIndex As Integer) 'Notificamos al user 154 If AumentoHP > 0 Then - 'Call WriteConsoleMsg(UserIndex, "Has ganado " & AumentoHP & " puntos de vida.", e_FontTypeNames.FONTTYPE_INFO) + 'Msg197= Has ganado " & AumentoHP & " puntos de vida.", e_FontTypeNames.FONTTYPE_INFO) 156 Call WriteLocaleMsg(UserIndex, "197", e_FontTypeNames.FONTTYPE_INFO, AumentoHP) End If 158 If AumentoSta > 0 Then - 'Call WriteConsoleMsg(UserIndex, "Has ganado " & AumentoSTA & " puntos de vitalidad.", e_FontTypeNames.FONTTYPE_INFO) + 'Msg198= Has ganado " & AumentoSTA & " puntos de vitalidad.", e_FontTypeNames.FONTTYPE_INFO) 160 Call WriteLocaleMsg(UserIndex, "198", e_FontTypeNames.FONTTYPE_INFO, AumentoSta) End If 162 If AumentoMANA > 0 Then -164 Call WriteLocaleMsg(UserIndex, "199", e_FontTypeNames.FONTTYPE_INFO, AumentoMANA) +164 'Msg199= Has ganado " & AumentoMANA & " puntos de magia." + Call WriteLocaleMsg(UserIndex, "199", e_FontTypeNames.FONTTYPE_INFO, AumentoMANA) - 'Call WriteConsoleMsg(UserIndex, "Has ganado " & AumentoMANA & " puntos de magia.", e_FontTypeNames.FONTTYPE_INFO) + End If 166 If AumentoHIT > 0 Then @@ -1403,7 +1408,8 @@ Sub CheckUserLevel(ByVal UserIndex As Integer) 203 Call QuitarNewbieObj(UserIndex) 204 ElseIf .Stats.ELV >= MapInfo(.pos.Map).MaxLevel And Not EsGM(UserIndex) Then 206 If MapInfo(.Pos.Map).Salida.Map <> 0 Then -208 Call WriteConsoleMsg(UserIndex, "Tu nivel no te permite seguir en el mapa.", e_FontTypeNames.FONTTYPE_INFO) +208 ' Msg523=Tu nivel no te permite seguir en el mapa. + Call WriteLocaleMsg(UserIndex, "523", e_FontTypeNames.FONTTYPE_INFO) 210 Call WarpUserChar(UserIndex, MapInfo(.Pos.Map).Salida.Map, MapInfo(.Pos.Map).Salida.X, MapInfo(.Pos.Map).Salida.Y, True) End If End If @@ -2260,7 +2266,8 @@ Sub UserDie(ByVal UserIndex As Integer) 228 Call ChangeUserChar(UserIndex, .Char.body, .Char.head, .Char.Heading, NingunArma, NingunEscudo, NingunCasco, NoCart) 230 If MapInfo(.Pos.Map).Seguro = 0 Then -232 Call WriteConsoleMsg(UserIndex, "Escribe /HOGAR si deseas regresar rápido a tu hogar.", e_FontTypeNames.FONTTYPE_New_Naranja) +232 ' Msg524=Escribe /HOGAR si deseas regresar rápido a tu hogar. + Call WriteLocaleMsg(UserIndex, "524", e_FontTypeNames.FONTTYPE_New_Naranja) End If 234 If .flags.EnReto Then @@ -2571,7 +2578,8 @@ Sub WarpUserChar(ByVal UserIndex As Integer, _ 124 If OldMap <> Map Then 126 Call WriteChangeMap(UserIndex, Map) 128 If MapInfo(OldMap).Seguro = 1 And MapInfo(Map).Seguro = 0 And .Stats.ELV < 42 Then -130 Call WriteConsoleMsg(UserIndex, "Estás saliendo de una zona segura, recuerda que aquí corres riesgo de ser atacado.", e_FontTypeNames.FONTTYPE_WARNING) +130 ' Msg573=Estás saliendo de una zona segura, recuerda que aquí corres riesgo de ser atacado. + Call WriteLocaleMsg(UserIndex, "573", e_FontTypeNames.FONTTYPE_WARNING) End If @@ -2591,7 +2599,8 @@ Sub WarpUserChar(ByVal UserIndex As Integer, _ 164 If .flags.Traveling = 1 Then 166 .flags.Traveling = 0 168 .Counters.goHome = 0 -170 Call WriteConsoleMsg(UserIndex, "El viaje ha terminado.", e_FontTypeNames.FONTTYPE_INFOBOLD) +170 ' Msg574=El viaje ha terminado. + Call WriteLocaleMsg(UserIndex, "574", e_FontTypeNames.FONTTYPE_INFOBOLD) End If @@ -2627,7 +2636,9 @@ Sub WarpUserChar(ByVal UserIndex As Integer, _ .Counters.Invisibilidad = 0 .Counters.DisabledInvisibility = 0 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(UserList(UserIndex).Char.charindex, False)) -200 Call WriteConsoleMsg(UserIndex, "Una fuerza divina que vigila esta zona te ha vuelto visible.", e_FontTypeNames.FONTTYPE_INFO) +200 ' Msg575=Una fuerza divina que vigila esta zona te ha vuelto visible. + Call WriteLocaleMsg(UserIndex, "575", e_FontTypeNames.FONTTYPE_INFO) + Else 202 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, True)) @@ -2685,7 +2696,8 @@ Sub Cerrar_Usuario(ByVal UserIndex As Integer, Optional ByVal forceClose As Bool 106 .Counters.Salir = IntervaloCerrarConexion 108 If .flags.Traveling = 1 Then -110 Call WriteConsoleMsg(UserIndex, "Se ha cancelado el viaje a casa", e_FontTypeNames.FONTTYPE_INFO) +110 ' Msg576=Se ha cancelado el viaje a casa + Call WriteLocaleMsg(UserIndex, "576", e_FontTypeNames.FONTTYPE_INFO) 112 .flags.Traveling = 0 114 .Counters.goHome = 0 End If @@ -2695,7 +2707,8 @@ Sub Cerrar_Usuario(ByVal UserIndex As Integer, Optional ByVal forceClose As Bool .flags.Oculto = 0 .Counters.DisabledInvisibility = 0 Call SendData(SendTarget.ToPCAliveArea, userindex, PrepareMessageSetInvisible(.Char.charindex, False, UserList(userindex).Pos.X, UserList(userindex).Pos.y)) - Call WriteConsoleMsg(userindex, "Has vuelto a ser visible", e_FontTypeNames.FONTTYPE_INFO) + ' Msg577=Has vuelto a ser visible + Call WriteLocaleMsg(UserIndex, "577", e_FontTypeNames.FONTTYPE_INFO) End If @@ -2748,14 +2761,16 @@ Public Sub CancelExit(ByVal UserIndex As Integer) 102 If UserList(UserIndex).ConnectionDetails.ConnIDValida Then 104 UserList(UserIndex).Counters.Saliendo = False 106 UserList(UserIndex).Counters.Salir = 0 -108 Call WriteConsoleMsg(UserIndex, "/salir cancelado.", e_FontTypeNames.FONTTYPE_WARNING) +108 ' Msg578=/salir cancelado. + Call WriteLocaleMsg(UserIndex, "578", e_FontTypeNames.FONTTYPE_WARNING) Else 'Simply reset 110 If UserList(UserIndex).flags.Privilegios = e_PlayerType.user And MapInfo(UserList(UserIndex).Pos.Map).Seguro = 0 Then 112 UserList(UserIndex).Counters.Salir = IntervaloCerrarConexion Else -114 Call WriteConsoleMsg(UserIndex, "Gracias por jugar Argentum20.", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg579=Gracias por jugar Argentum Online. + Call WriteLocaleMsg(UserIndex, "579", e_FontTypeNames.FONTTYPE_INFO) 116 Call WriteDisconnect(UserIndex) 118 Call CloseSocket(UserIndex) @@ -2808,7 +2823,8 @@ Sub VolverCriminal(ByVal UserIndex As Integer) 110 .Faccion.Status = 0 112 If MapInfo(.Pos.Map).NoPKs And Not EsGM(UserIndex) And MapInfo(.Pos.Map).Salida.Map <> 0 Then -114 Call WriteConsoleMsg(UserIndex, "En este mapa no se admiten criminales.", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg580=En este mapa no se admiten criminales. + Call WriteLocaleMsg(UserIndex, "580", e_FontTypeNames.FONTTYPE_INFO) 116 Call WarpUserChar(UserIndex, MapInfo(.Pos.Map).Salida.Map, MapInfo(.Pos.Map).Salida.X, MapInfo(.Pos.Map).Salida.Y, True) Else 118 Call RefreshCharStatus(UserIndex) @@ -2842,7 +2858,8 @@ Sub VolverCiudadano(ByVal UserIndex As Integer) 104 .Faccion.Status = e_Facciones.Ciudadano 106 If MapInfo(.Pos.Map).NoCiudadanos And Not EsGM(UserIndex) And MapInfo(.Pos.Map).Salida.Map <> 0 Then -108 Call WriteConsoleMsg(UserIndex, "En este mapa no se admiten ciudadanos.", e_FontTypeNames.FONTTYPE_INFO) +108 ' Msg581=En este mapa no se admiten ciudadanos. + Call WriteLocaleMsg(UserIndex, "581", e_FontTypeNames.FONTTYPE_INFO) 110 Call WarpUserChar(UserIndex, MapInfo(.Pos.Map).Salida.Map, MapInfo(.Pos.Map).Salida.X, MapInfo(.Pos.Map).Salida.Y, True) Else 112 Call RefreshCharStatus(UserIndex) @@ -2949,12 +2966,15 @@ On Error GoTo WarpMascotas_Err 156 If MascotaQuitada Then If Not PermiteMascotas Then - Call WriteConsoleMsg(UserIndex, "Una fuerza superior impide que tus mascotas entren en este mapa. Estas te esperarán afuera.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg582=Una fuerza superior impide que tus mascotas entren en este mapa. Estas te esperarán afuera. + Call WriteLocaleMsg(UserIndex, "582", e_FontTypeNames.FONTTYPE_INFO) End If 160 ElseIf SpawnInvalido Then -162 Call WriteConsoleMsg(UserIndex, "Tus mascotas no pueden transitar este mapa.", e_FontTypeNames.FONTTYPE_INFO) +162 ' Msg583=Tus mascotas no pueden transitar este mapa. + Call WriteLocaleMsg(UserIndex, "583", e_FontTypeNames.FONTTYPE_INFO) 164 ElseIf ElementalQuitado Then -166 Call WriteConsoleMsg(UserIndex, "Pierdes el control de tus mascotas invocadas.", e_FontTypeNames.FONTTYPE_INFO) +166 ' Msg584=Pierdes el control de tus mascotas invocadas. + Call WriteLocaleMsg(UserIndex, "584", e_FontTypeNames.FONTTYPE_INFO) End If Exit Sub @@ -3501,7 +3521,8 @@ Public Function ModifyMana(ByVal UserIndex As Integer, ByVal Amount As Integer, End Function Public Sub ResurrectUser(ByVal UserIndex As Integer) - Call WriteConsoleMsg(UserIndex, "¡Has sido resucitado!", e_FontTypeNames.FONTTYPE_INFO) + ' Msg585=¡Has sido resucitado! + Call WriteLocaleMsg(UserIndex, "585", e_FontTypeNames.FONTTYPE_INFO) Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageParticleFX(UserList(UserIndex).Char.charindex, e_ParticulasIndex.Resucitar, 250, True)) Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave(117, UserList(UserIndex).pos.X, UserList(UserIndex).pos.y)) Call RevivirUsuario(UserIndex, True) @@ -3595,7 +3616,8 @@ Public Sub RemoveInvisibility(ByVal UserIndex As Integer) 310 .Counters.Invisibilidad = 0 312 .Counters.Ocultando = 0 .Counters.DisabledInvisibility = 0 -314 Call WriteConsoleMsg(UserIndex, "Tu invisibilidad ya no tiene efecto.", e_FontTypeNames.FONTTYPE_INFOIAO) +314 ' Msg591=Tu invisibilidad ya no tiene efecto. + Call WriteLocaleMsg(UserIndex, "591", e_FontTypeNames.FONTTYPE_INFOIAO) 316 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, False, UserList(UserIndex).pos.x, UserList(UserIndex).pos.y)) End If End With @@ -3668,7 +3690,7 @@ Public Sub RemoveUserInvisibility(ByVal UserIndex As Integer) 192 .flags.Oculto = 0 194 .Counters.TiempoOculto = 0 - 'Call WriteConsoleMsg(UserIndex, "Has vuelto a ser visible.", e_FontTypeNames.FONTTYPE_INFO) + 'Msg307=Has vuelto a ser visible. 196 Call WriteLocaleMsg(UserIndex, "307", e_FontTypeNames.FONTTYPE_INFO) 198 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, False, UserList(UserIndex).pos.x, UserList(UserIndex).pos.y)) End If @@ -3685,11 +3707,12 @@ Public Sub RemoveUserInvisibility(ByVal UserIndex As Integer) .Counters.LastAttackTime = GlobalFrameTime If .flags.Navegando = 1 Then If .clase = e_Class.Pirat Then - ' Pierde la apariencia de fragata fantasmal - Call EquiparBarco(UserIndex) - Call WriteConsoleMsg(UserIndex, "¡Has recuperado tu apariencia normal!", e_FontTypeNames.FONTTYPE_INFO) - Call ChangeUserChar(UserIndex, .Char.body, .Char.head, .Char.Heading, NingunArma, NingunEscudo, NingunCasco, NoCart) - Call RefreshCharStatus(UserIndex) + ' Pierde la apariencia de fragata fantasmal + Call EquiparBarco(UserIndex) + ' Msg592=¡Has recuperado tu apariencia normal! + Call WriteLocaleMsg(UserIndex, "592", e_FontTypeNames.FONTTYPE_INFO) + Call ChangeUserChar(UserIndex, .Char.body, .Char.head, .Char.Heading, NingunArma, NingunEscudo, NingunCasco, NoCart) + Call RefreshCharStatus(UserIndex) End If Else If .flags.invisible = 0 Then diff --git a/Codigo/Protocol.bas b/Codigo/Protocol.bas index ad792321..4e52d67d 100644 --- a/Codigo/Protocol.bas +++ b/Codigo/Protocol.bas @@ -1415,7 +1415,8 @@ Private Sub HandleYell(ByVal UserIndex As Integer) ' Pierde la apariencia de fragata fantasmal 122 Call EquiparBarco(UserIndex) -124 Call WriteConsoleMsg(UserIndex, "¡Has recuperado tu apariencia normal!", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg592=¡Has recuperado tu apariencia normal! + Call WriteLocaleMsg(UserIndex, "592", e_FontTypeNames.FONTTYPE_INFO) 126 Call ChangeUserChar(UserIndex, .char.body, .char.head, .char.Heading, NingunArma, NingunEscudo, NingunCasco, NoCart) 128 Call RefreshCharStatus(UserIndex) End If @@ -1676,7 +1677,8 @@ Private Sub HandleWalk(ByVal UserIndex As Integer) 184 If .clase = e_Class.Pirat Then ' Pierde la apariencia de fragata fantasmal 186 Call EquiparBarco(UserIndex) -188 Call WriteConsoleMsg(UserIndex, "¡Has recuperado tu apariencia normal!", e_FontTypeNames.FONTTYPE_INFO) +188 ' Msg592=¡Has recuperado tu apariencia normal! + Call WriteLocaleMsg(UserIndex, "592", e_FontTypeNames.FONTTYPE_INFO) 190 Call ChangeUserChar(UserIndex, .char.body, .char.head, .char.Heading, NingunArma, NingunEscudo, NingunCasco, NoCart) 192 Call RefreshCharStatus(UserIndex) End If @@ -1786,7 +1788,8 @@ Private Sub HandleAttack(ByVal UserIndex As Integer) End If 112 If .Invent.HerramientaEqpObjIndex > 0 Then -114 Call WriteConsoleMsg(UserIndex, "Para atacar debes desequipar la herramienta.", e_FontTypeNames.FONTTYPE_INFOIAO) +114 ' Msg694=Para atacar debes desequipar la herramienta. + Call WriteLocaleMsg(UserIndex, "694", e_FontTypeNames.FONTTYPE_INFOIAO) Exit Sub End If @@ -1839,7 +1842,8 @@ Private Sub HandlePickUp(ByVal UserIndex As Integer) 'Lower rank administrators can't pick up items 106 If (.flags.Privilegios And (e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -108 Call WriteConsoleMsg(UserIndex, "No podés tomar ningun objeto.", e_FontTypeNames.FONTTYPE_INFO) +108 ' Msg695=No podés tomar ningun objeto. + Call WriteLocaleMsg(UserIndex, "695", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1891,10 +1895,12 @@ Private Sub HandleSafeToggle(ByVal UserIndex As Integer) 108 .flags.Seguro = Not .flags.Seguro Else - Call WriteConsoleMsg(UserIndex, "Solo los ciudadanos pueden cambiar el seguro.", e_FontTypeNames.FONTTYPE_TALK) + ' Msg696=Solo los ciudadanos pueden cambiar el seguro. + Call WriteLocaleMsg(UserIndex, "696", e_FontTypeNames.FONTTYPE_TALK) End If Else - Call WriteConsoleMsg(UserIndex, "Debes abandonar el clan para poder sacar el seguro.", e_FontTypeNames.FONTTYPE_TALK) + ' Msg697=Debes abandonar el clan para poder sacar el seguro. + Call WriteLocaleMsg(UserIndex, "697", e_FontTypeNames.FONTTYPE_TALK) End If End With @@ -2224,7 +2230,8 @@ Private Sub HandleUserCommerceReject(ByVal UserIndex As Integer) End If -112 Call WriteConsoleMsg(UserIndex, "Has rechazado la oferta del otro usuario.", e_FontTypeNames.FONTTYPE_TALK) +112 ' Msg698=Has rechazado la oferta del otro usuario. + Call WriteLocaleMsg(UserIndex, "698", e_FontTypeNames.FONTTYPE_TALK) 114 Call FinComerciarUsu(UserIndex) End With @@ -2288,12 +2295,14 @@ Private Sub HandleDrop(ByVal UserIndex As Integer) 'End If 118 If .flags.Montado = 1 Then -120 Call WriteConsoleMsg(UserIndex, "Debes descender de tu montura para dejar objetos en el suelo.", e_FontTypeNames.FONTTYPE_INFO) +120 ' Msg699=Debes descender de tu montura para dejar objetos en el suelo. + Call WriteLocaleMsg(UserIndex, "699", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If If UserList(UserIndex).flags.SigueUsuario.ArrayIndex > 0 Then - Call WriteConsoleMsg(UserIndex, "No podes tirar items cuando estas siguiendo a alguien.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg700=No podes tirar items cuando estas siguiendo a alguien. + Call WriteLocaleMsg(UserIndex, "700", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 'Are we dropping gold or other items?? @@ -2306,12 +2315,14 @@ Private Sub HandleDrop(ByVal UserIndex As Integer) '04-05-08 Ladder 126 If (.flags.Privilegios And e_PlayerType.Admin) <> 16 Then 128 If EsNewbie(UserIndex) And ObjData(.Invent.Object(Slot).ObjIndex).Newbie = 1 Then -130 Call WriteConsoleMsg(UserIndex, "No se pueden tirar los objetos Newbies.", e_FontTypeNames.FONTTYPE_INFO) +130 ' Msg701=No se pueden tirar los objetos Newbies. + Call WriteLocaleMsg(UserIndex, "701", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 132 If ObjData(.Invent.Object(Slot).ObjIndex).Intirable = 1 And Not EsGM(UserIndex) Then -134 Call WriteConsoleMsg(UserIndex, "Acción no permitida.", e_FontTypeNames.FONTTYPE_INFO) +134 ' Msg702=Acción no permitida. + Call WriteLocaleMsg(UserIndex, "702", e_FontTypeNames.FONTTYPE_INFO) Exit Sub 136 ElseIf ObjData(.Invent.Object(Slot).ObjIndex).Intirable = 1 And EsGM(UserIndex) Then 138 If Slot <= UserList(UserIndex).CurrentInventorySlots And Slot > 0 Then @@ -2322,7 +2333,8 @@ Private Sub HandleDrop(ByVal UserIndex As Integer) End If 144 If ObjData(.Invent.Object(Slot).ObjIndex).Instransferible = 1 Then -146 Call WriteConsoleMsg(UserIndex, "Acción no permitida.", e_FontTypeNames.FONTTYPE_INFO) +146 ' Msg702=Acción no permitida. + Call WriteLocaleMsg(UserIndex, "702", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2330,7 +2342,8 @@ Private Sub HandleDrop(ByVal UserIndex As Integer) End If 148 If ObjData(.Invent.Object(Slot).ObjIndex).OBJType = e_OBJType.otBarcos And UserList(UserIndex).flags.Navegando Then -150 Call WriteConsoleMsg(UserIndex, "Para tirar la barca deberias estar en tierra firme.", e_FontTypeNames.FONTTYPE_INFO) +150 ' Msg703=Para tirar la barca deberias estar en tierra firme. + Call WriteLocaleMsg(UserIndex, "703", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If Else @@ -2531,7 +2544,8 @@ Private Sub HandleWork(ByVal UserIndex As Integer) '[CDT 17-02-2004] 118 If Not .flags.UltimoMensaje = 3 Then -120 Call WriteConsoleMsg(UserIndex, "No podés ocultarte si estás montado.", e_FontTypeNames.FONTTYPE_INFO) +120 ' Msg704=No podés ocultarte si estás montado. + Call WriteLocaleMsg(UserIndex, "704", e_FontTypeNames.FONTTYPE_INFO) 122 .flags.UltimoMensaje = 3 End If @@ -2557,25 +2571,29 @@ Private Sub HandleWork(ByVal UserIndex As Integer) End If 132 If .flags.EnReto Then -134 Call WriteConsoleMsg(UserIndex, "No podés ocultarte durante un reto.", e_FontTypeNames.FONTTYPE_INFO) +134 ' Msg705=No podés ocultarte durante un reto. + Call WriteLocaleMsg(UserIndex, "705", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 136 If .flags.EnConsulta Then -138 Call WriteConsoleMsg(UserIndex, "No podés ocultarte si estas en consulta.", e_FontTypeNames.FONTTYPE_INFO) +138 ' Msg706=No podés ocultarte si estas en consulta. + Call WriteLocaleMsg(UserIndex, "706", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If If .flags.invisible Then -139 Call WriteConsoleMsg(UserIndex, "No podés ocultarte si estás invisible.", e_FontTypeNames.FONTTYPE_INFO) +139 ' Msg707=No podés ocultarte si estás invisible. + Call WriteLocaleMsg(UserIndex, "707", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 140 If MapInfo(.Pos.Map).SinInviOcul Then -142 Call WriteConsoleMsg(UserIndex, "Una fuerza divina te impide ocultarte en esta zona.", e_FontTypeNames.FONTTYPE_INFO) +142 ' Msg708=Una fuerza divina te impide ocultarte en esta zona. + Call WriteLocaleMsg(UserIndex, "708", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2945,7 +2963,8 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) 162 If DummyInt <> 0 Then 164 If DummyInt = 1 Then -166 Call WriteConsoleMsg(UserIndex, "No tenés municiones.", e_FontTypeNames.FONTTYPE_INFO) +166 ' Msg709=No tenés municiones. + Call WriteLocaleMsg(UserIndex, "709", e_FontTypeNames.FONTTYPE_INFO) End If 168 Call Desequipar(UserIndex, .MunicionEqpSlot) 170 Call WriteWorkRequestTarget(UserIndex, 0) @@ -2971,15 +2990,16 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) 192 If IsValidUserRef(.flags.targetUser) Then 'Only allow to atack if the other one can retaliate (can see us) 194 If Abs(UserList(tU).Pos.Y - .Pos.Y) > RANGO_VISION_Y Then + ' Msg8=Estas demasiado lejos. 196 Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) - 'Call WriteConsoleMsg(UserIndex, "Estís demasiado lejos para atacar.", e_FontTypeNames.FONTTYPE_WARNING) 198 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub End If 'Prevent from hitting self 200 If tU = UserIndex Then -202 Call WriteConsoleMsg(UserIndex, "¡No podés atacarte a vos mismo!", e_FontTypeNames.FONTTYPE_INFO) +202 ' Msg710=¡No podés atacarte a vos mismo! + Call WriteLocaleMsg(UserIndex, "710", e_FontTypeNames.FONTTYPE_INFO) 204 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub End If @@ -3029,6 +3049,7 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) 'Only allow to atack if the other one can retaliate (can see us) 226 If Abs(NpcList(tN).Pos.Y - .Pos.Y) > RANGO_VISION_Y And Abs(NpcList(tN).Pos.X - .Pos.X) > RANGO_VISION_X Then + ' Msg8=Estas demasiado lejos. 228 Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) 230 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub @@ -3113,7 +3134,8 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) End If 282 .flags.Hechizo = 0 Else -284 Call WriteConsoleMsg(UserIndex, "¡Primero selecciona el hechizo que quieres lanzar!", e_FontTypeNames.FONTTYPE_INFO) +284 ' Msg587=¡Primero selecciona el hechizo que quieres lanzar! + Call WriteLocaleMsg(UserIndex, "587", e_FontTypeNames.FONTTYPE_INFO) End If @@ -3144,13 +3166,15 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) 410 If MapInfo(UserList(UserIndex).Pos.Map).Seguro = 1 Then 412 Call WriteWorkRequestTarget(UserIndex, 0) -414 Call WriteConsoleMsg(UserIndex, "Esta prohibido cortar raices en las ciudades.", e_FontTypeNames.FONTTYPE_INFO) +414 ' Msg711=Esta prohibido cortar raices en las ciudades. + Call WriteLocaleMsg(UserIndex, "711", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 416 If MapData(.Pos.Map, X, Y).ObjInfo.amount <= 0 Then -418 Call WriteConsoleMsg(UserIndex, "El árbol ya no te puede entregar mas raices.", e_FontTypeNames.FONTTYPE_INFO) +418 ' Msg712=El árbol ya no te puede entregar mas raices. + Call WriteLocaleMsg(UserIndex, "712", e_FontTypeNames.FONTTYPE_INFO) 420 Call WriteWorkRequestTarget(UserIndex, 0) 422 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Sub @@ -3170,7 +3194,8 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) End If 434 If .Pos.X = X And .Pos.Y = Y Then -436 Call WriteConsoleMsg(UserIndex, "No podés quitar raices allí.", e_FontTypeNames.FONTTYPE_INFO) +436 ' Msg713=No podés quitar raices allí. + Call WriteLocaleMsg(UserIndex, "713", e_FontTypeNames.FONTTYPE_INFO) 438 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub @@ -3184,7 +3209,8 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) End If Else -446 Call WriteConsoleMsg(UserIndex, "No hay ningún árbol ahí.", e_FontTypeNames.FONTTYPE_INFO) +446 ' Msg604=No podés quitar raices allí. + Call WriteLocaleMsg(UserIndex, "604", e_FontTypeNames.FONTTYPE_INFO) 448 Call WriteWorkRequestTarget(UserIndex, 0) 450 Call WriteMacroTrabajoToggle(UserIndex, False) @@ -3234,14 +3260,16 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) '17/09/02 'Check the trigger 528 If MapData(UserList(tU).Pos.Map, UserList(tU).Pos.X, UserList(tU).Pos.Y).trigger = e_Trigger.ZonaSegura Then -530 Call WriteConsoleMsg(UserIndex, "No podés robar aquí.", e_FontTypeNames.FONTTYPE_WARNING) +530 ' Msg714=No podés robar aquí. + Call WriteLocaleMsg(UserIndex, "714", e_FontTypeNames.FONTTYPE_WARNING) 532 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub End If 534 If MapData(.Pos.Map, .Pos.X, .Pos.Y).trigger = e_Trigger.ZonaSegura Then -536 Call WriteConsoleMsg(UserIndex, "No podés robar aquí.", e_FontTypeNames.FONTTYPE_WARNING) +536 ' Msg714=No podés robar aquí. + Call WriteLocaleMsg(UserIndex, "714", e_FontTypeNames.FONTTYPE_WARNING) 538 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub @@ -3254,13 +3282,15 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) End If Else -542 Call WriteConsoleMsg(UserIndex, "No a quien robarle!", e_FontTypeNames.FONTTYPE_INFO) +542 ' Msg715=No a quien robarle! + Call WriteLocaleMsg(UserIndex, "715", e_FontTypeNames.FONTTYPE_INFO) 544 Call WriteWorkRequestTarget(UserIndex, 0) End If Else -546 Call WriteConsoleMsg(UserIndex, "¡No podés robar en zonas seguras!", e_FontTypeNames.FONTTYPE_INFO) +546 ' Msg716=¡No podés robar en zonas seguras! + Call WriteLocaleMsg(UserIndex, "716", e_FontTypeNames.FONTTYPE_INFO) 548 Call WriteWorkRequestTarget(UserIndex, 0) End If @@ -3271,21 +3301,25 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) tN = .flags.TargetNPC.ArrayIndex 558 If NpcList(tN).flags.Domable > 0 Then 560 If Abs(.Pos.X - X) + Abs(.Pos.Y - Y) > 4 Then -562 Call WriteConsoleMsg(UserIndex, "Estas demasiado lejos.", e_FontTypeNames.FONTTYPE_INFO) +562 ' Msg8=Estas demasiado lejos. + Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 564 If GetOwnedBy(tN) <> 0 Then -566 Call WriteConsoleMsg(UserIndex, "No puedes domar una criatura que esta luchando con un jugador.", e_FontTypeNames.FONTTYPE_INFO) +566 ' Msg717=No puedes domar una criatura que esta luchando con un jugador. + Call WriteLocaleMsg(UserIndex, "717", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 568 Call DoDomar(UserIndex, tN) Else -570 Call WriteConsoleMsg(UserIndex, "No puedes domar a esa criatura.", e_FontTypeNames.FONTTYPE_INFO) +570 ' Msg718=No puedes domar a esa criatura. + Call WriteLocaleMsg(UserIndex, "718", e_FontTypeNames.FONTTYPE_INFO) End If Else -572 Call WriteConsoleMsg(UserIndex, "No hay ninguna criatura alli!", e_FontTypeNames.FONTTYPE_INFO) +572 ' Msg719=No hay ninguna criatura alli! + Call WriteLocaleMsg(UserIndex, "719", e_FontTypeNames.FONTTYPE_INFO) End If 574 Case FundirMetal 'UGLY!!! This is a constant, not a skill!! @@ -3308,7 +3342,8 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) ''chequeamos que no se zarpe duplicando oro 586 If .Invent.Object(.flags.TargetObjInvSlot).ObjIndex <> .flags.TargetObjInvIndex Then 588 If .Invent.Object(.flags.TargetObjInvSlot).ObjIndex = 0 Or .Invent.Object(.flags.TargetObjInvSlot).amount = 0 Then -590 Call WriteConsoleMsg(UserIndex, "No tienes más minerales", e_FontTypeNames.FONTTYPE_INFO) +590 ' Msg605=No tienes más minerales + Call WriteLocaleMsg(UserIndex, "605", e_FontTypeNames.FONTTYPE_INFO) 592 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub @@ -3326,7 +3361,8 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) Else -600 Call WriteConsoleMsg(UserIndex, "Ahí no hay ninguna fragua.", e_FontTypeNames.FONTTYPE_INFO) +600 ' Msg606=Ahí no hay ninguna fragua. + Call WriteLocaleMsg(UserIndex, "606", e_FontTypeNames.FONTTYPE_INFO) 602 Call WriteWorkRequestTarget(UserIndex, 0) 604 If UserList(UserIndex).Counters.Trabajando > 1 Then @@ -3338,7 +3374,8 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) Else -608 Call WriteConsoleMsg(UserIndex, "Ahí no hay ninguna fragua.", e_FontTypeNames.FONTTYPE_INFO) +608 ' Msg606=Ahí no hay ninguna fragua. + Call WriteLocaleMsg(UserIndex, "606", e_FontTypeNames.FONTTYPE_INFO) 610 Call WriteWorkRequestTarget(UserIndex, 0) 612 If UserList(UserIndex).Counters.Trabajando > 1 Then @@ -3392,14 +3429,16 @@ Private Sub HandleWorkLeftClick(ByVal UserIndex As Integer) Dim clan_nivel As Byte 662 If UserList(UserIndex).GuildIndex = 0 Then -664 Call WriteConsoleMsg(UserIndex, "Servidor » No perteneces a ningún clan.", e_FontTypeNames.FONTTYPE_INFOIAO) +664 ' Msg720=Servidor » No perteneces a ningún clan. + Call WriteLocaleMsg(UserIndex, "720", e_FontTypeNames.FONTTYPE_INFOIAO) Exit Sub End If 666 clan_nivel = modGuilds.NivelDeClan(UserList(UserIndex).GuildIndex) 668 If clan_nivel < 3 Then -670 Call WriteConsoleMsg(UserIndex, "Servidor » El nivel de tu clan debe ser 3 para utilizar esta opción.", e_FontTypeNames.FONTTYPE_INFOIAO) +670 ' Msg721=Servidor » El nivel de tu clan debe ser 3 para utilizar esta opción. + Call WriteLocaleMsg(UserIndex, "721", e_FontTypeNames.FONTTYPE_INFOIAO) Exit Sub End If @@ -5636,7 +5675,8 @@ Private Sub HandleResucitate(ByVal UserIndex As Integer) UserList(userindex).Counters.timeFx = 3 114 Call SendData(SendTarget.ToPCAliveArea, userindex, PrepareMessageParticleFX(UserList(userindex).Char.charindex, e_ParticulasIndex.Curar, 100, False, , UserList(userindex).Pos.X, UserList(userindex).Pos.y)) 116 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessagePlayWave("104", UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.y)) -118 Call WriteConsoleMsg(UserIndex, "¡Has sido resucitado!", e_FontTypeNames.FONTTYPE_INFO) +118 ' Msg585=¡Has sido resucitado! + Call WriteLocaleMsg(UserIndex, "585", e_FontTypeNames.FONTTYPE_INFO) End With @@ -6831,7 +6871,7 @@ Private Sub HandlePerdonFaccion(ByVal userindex As Integer) End If End If Else -136 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +136 Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With @@ -6877,7 +6917,7 @@ Private Sub HandleGuildOnlineMembers(ByVal UserIndex As Integer) 114 Call WriteConsoleMsg(userindex, "Clan " & UCase$(GuildName) & ": " & modGuilds.m_ListaDeMiembrosOnline(userindex, tGuild), e_FontTypeNames.FONTTYPE_GUILDMSG) End If Else -116 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +116 Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With @@ -7596,7 +7636,8 @@ Public Sub HandleNavigateToggle(ByVal UserIndex As Integer) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -8664,7 +8705,8 @@ Private Sub HandleBusquedaTesoro(ByVal UserIndex As Integer) 114 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Eventos> Todavia nadie fue capaz de encontar el tesoro, recorda que se encuentra en " & get_map_name(TesoroNumMapa) & "(" & TesoroNumMapa & "). ¿Quien sera el valiente que lo encuentre?", e_FontTypeNames.FONTTYPE_TALK)) 116 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa. El tesoro se encuentra en: " & TesoroNumMapa & "-" & TesoroX & "-" & TesoroY, e_FontTypeNames.FONTTYPE_INFO) Else -118 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa.", e_FontTypeNames.FONTTYPE_INFO) +118 ' Msg734=Ya hay una busqueda del tesoro activa. + Call WriteLocaleMsg(UserIndex, "734", e_FontTypeNames.FONTTYPE_INFO) End If @@ -8680,7 +8722,8 @@ Private Sub HandleBusquedaTesoro(ByVal UserIndex As Integer) 128 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Eventos> Ningún valiente fue capaz de encontrar el item misterioso, recuerda que se encuentra en " & get_map_name(RegaloNumMapa) & "(" & RegaloNumMapa & "). ¡Ten cuidado!", e_FontTypeNames.FONTTYPE_TALK)) 130 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa. El tesoro se encuentra en: " & RegaloNumMapa & "-" & RegaloX & "-" & RegaloY, e_FontTypeNames.FONTTYPE_INFO) Else -132 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa.", e_FontTypeNames.FONTTYPE_INFO) +132 ' Msg734=Ya hay una busqueda del tesoro activa. + Call WriteLocaleMsg(UserIndex, "734", e_FontTypeNames.FONTTYPE_INFO) End If @@ -8701,7 +8744,8 @@ Private Sub HandleBusquedaTesoro(ByVal UserIndex As Integer) 150 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Eventos> Todavía nadie logró matar el NPC que se encuentra en el mapa " & NpcList(npc_index_evento).pos.Map & ".", e_FontTypeNames.FONTTYPE_TALK)) 152 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda de npc activo. El tesoro se encuentra en: " & NpcList(npc_index_evento).Pos.Map & "-" & NpcList(npc_index_evento).Pos.X & "-" & NpcList(npc_index_evento).Pos.Y, e_FontTypeNames.FONTTYPE_INFO) Else -154 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa.", e_FontTypeNames.FONTTYPE_INFO) +154 ' Msg734=Ya hay una busqueda del tesoro activa. + Call WriteLocaleMsg(UserIndex, "734", e_FontTypeNames.FONTTYPE_INFO) End If @@ -8709,7 +8753,8 @@ Private Sub HandleBusquedaTesoro(ByVal UserIndex As Integer) End Select Else -156 Call WriteConsoleMsg(UserIndex, "Servidor » No estas habilitado para hacer Eventos.", e_FontTypeNames.FONTTYPE_INFO) +156 ' Msg735=Servidor » No estas habilitado para hacer Eventos. + Call WriteLocaleMsg(UserIndex, "735", e_FontTypeNames.FONTTYPE_INFO) End If End With @@ -8827,7 +8872,8 @@ Private Sub HandleMarcaDeClan(ByVal UserIndex As Integer) 108 clan_nivel = modGuilds.NivelDeClan(UserList(UserIndex).GuildIndex) 110 If clan_nivel > 20 Then -112 Call WriteConsoleMsg(UserIndex, "Servidor » El nivel de tu clan debe ser 3 para utilizar esta opción.", e_FontTypeNames.FONTTYPE_INFOIAO) +112 ' Msg721=Servidor » El nivel de tu clan debe ser 3 para utilizar esta opción. + Call WriteLocaleMsg(UserIndex, "721", e_FontTypeNames.FONTTYPE_INFOIAO) Exit Sub End If @@ -8869,11 +8915,13 @@ Private Sub HandleResponderPregunta(ByVal UserIndex As Integer) End If 112 If IsValidUserRef(UserList(userIndex).Grupo.PropuestaDe) Then 114 If UserList(UserList(userIndex).Grupo.PropuestaDe.ArrayIndex).Grupo.Lider.ArrayIndex <> UserList(userIndex).Grupo.PropuestaDe.ArrayIndex Then -116 Call WriteConsoleMsg(UserIndex, "¡El lider del grupo a cambiado, imposible unirse!", e_FontTypeNames.FONTTYPE_INFOIAO) +116 ' Msg722=¡El lider del grupo ha cambiado, imposible unirse! + Call WriteLocaleMsg(UserIndex, "722", e_FontTypeNames.FONTTYPE_INFOIAO) Else 118 Log = "Repuesta Afirmativa 1-1 " 120 If Not IsValidUserRef(UserList(UserList(userIndex).Grupo.PropuestaDe.ArrayIndex).Grupo.Lider) Then -122 Call WriteConsoleMsg(UserIndex, "¡El grupo ya no existe!", e_FontTypeNames.FONTTYPE_INFOIAO) +122 ' Msg723=¡El grupo ya no existe! + Call WriteLocaleMsg(UserIndex, "723", e_FontTypeNames.FONTTYPE_INFOIAO) Else 124 Log = "Repuesta Afirmativa 1-2 " 126 If UserList(UserList(userIndex).Grupo.PropuestaDe.ArrayIndex).Grupo.CantidadMiembros = 1 Then @@ -8884,13 +8932,15 @@ Private Sub HandleResponderPregunta(ByVal UserIndex As Integer) End If End If Else -166 Call WriteConsoleMsg(UserIndex, "Servidor » Solicitud de grupo invalida, reintente...", e_FontTypeNames.FONTTYPE_SERVER) +166 ' Msg724=Servidor » Solicitud de grupo invalida, reintente... + Call WriteLocaleMsg(UserIndex, "724", e_FontTypeNames.FONTTYPE_SERVER) End If 'unirlo 168 Case 2 170 Log = "Repuesta Afirmativa 2" -172 Call WriteConsoleMsg(UserIndex, "¡Ahora sos un ciudadano!", e_FontTypeNames.FONTTYPE_INFOIAO) +172 ' Msg725=¡Ahora sos un ciudadano! + Call WriteLocaleMsg(UserIndex, "725", e_FontTypeNames.FONTTYPE_INFOIAO) 174 Call VolverCiudadano(UserIndex) 176 Case 3 @@ -8946,7 +8996,8 @@ Private Sub HandleResponderPregunta(ByVal UserIndex As Integer) 'Rutina para comerciar con otro usuario 232 Call IniciarComercioConUsuario(userIndex, UserList(userIndex).flags.targetUser.ArrayIndex) Else -234 Call WriteConsoleMsg(UserIndex, "Servidor » Solicitud de comercio invalida, reintente...", e_FontTypeNames.FONTTYPE_SERVER) +234 ' Msg726=Servidor » Solicitud de comercio invalida, reintente... + Call WriteLocaleMsg(UserIndex, "726", e_FontTypeNames.FONTTYPE_SERVER) End If Case 5 @@ -8974,7 +9025,8 @@ Private Sub HandleResponderPregunta(ByVal UserIndex As Integer) 236 262 Case Else -264 Call WriteConsoleMsg(UserIndex, "No tienes preguntas pendientes.", e_FontTypeNames.FONTTYPE_INFOIAO) +264 ' Msg727=No tienes preguntas pendientes. + Call WriteLocaleMsg(UserIndex, "727", e_FontTypeNames.FONTTYPE_INFOIAO) End Select @@ -9043,7 +9095,8 @@ Private Sub HandleResponderPregunta(ByVal UserIndex As Integer) 334 Case 5 336 Log = "Repuesta negativa 5" 338 Case Else -340 Call WriteConsoleMsg(UserIndex, "No tienes preguntas pendientes.", e_FontTypeNames.FONTTYPE_INFOIAO) +340 ' Msg727=No tienes preguntas pendientes. + Call WriteLocaleMsg(UserIndex, "727", e_FontTypeNames.FONTTYPE_INFOIAO) End Select End If End With @@ -9162,7 +9215,8 @@ Private Sub HandleSubastaInfo(ByVal UserIndex As Integer) 118 Call WriteConsoleMsg(UserIndex, "Tiempo Restante de subasta: " & SumarTiempo(Subasta.TiempoRestanteSubasta), e_FontTypeNames.FONTTYPE_SUBASTA) Else -120 Call WriteConsoleMsg(UserIndex, "No hay ninguna subasta activa en este momento.", e_FontTypeNames.FONTTYPE_SUBASTA) +120 ' Msg728=No hay ninguna subasta activa en este momento. + Call WriteLocaleMsg(UserIndex, "728", e_FontTypeNames.FONTTYPE_SUBASTA) End If @@ -9200,7 +9254,8 @@ Private Sub HandleEventoInfo(ByVal UserIndex As Integer) 102 If EventoActivo Then 104 Call WriteConsoleMsg(UserIndex, PublicidadEvento & ". Tiempo restante: " & TiempoRestanteEvento & " minuto(s).", e_FontTypeNames.FONTTYPE_New_Eventos) Else -106 Call WriteConsoleMsg(UserIndex, "Eventos> Actualmente no hay ningun evento en curso.", e_FontTypeNames.FONTTYPE_New_Eventos) +106 ' Msg729=Eventos> Actualmente no hay ningún evento en curso. + Call WriteLocaleMsg(UserIndex, "729", e_FontTypeNames.FONTTYPE_New_Eventos) End If @@ -9241,7 +9296,8 @@ Private Sub HandleEventoInfo(ByVal UserIndex As Integer) 132 If encontre Then 134 Call WriteConsoleMsg(UserIndex, "Eventos> El proximo evento " & DescribirEvento(HoraProximo) & " iniciara a las " & HoraProximo & ":00 horas.", e_FontTypeNames.FONTTYPE_New_Eventos) Else -136 Call WriteConsoleMsg(UserIndex, "Eventos> No hay eventos proximos.", e_FontTypeNames.FONTTYPE_New_Eventos) +136 ' Msg730=Eventos> No hay eventos próximos. + Call WriteLocaleMsg(UserIndex, "730", e_FontTypeNames.FONTTYPE_New_Eventos) End If @@ -9280,7 +9336,8 @@ Private Sub HandleCrearEvento(ByVal UserIndex As Integer) 112 If .flags.Privilegios >= e_PlayerType.Admin Then 114 If EventoActivo = False Then 116 If LenB(Tipo) = 0 Or LenB(Duracion) = 0 Or LenB(multiplicacion) = 0 Then -118 Call WriteConsoleMsg(UserIndex, "Utilice /CREAREVENTO TIPO@DURACION@MULTIPLICACION.", e_FontTypeNames.FONTTYPE_New_Eventos) +118 ' Msg731=Utilice /CREAREVENTO TIPO@DURACION@MULTIPLICACION. + Call WriteLocaleMsg(UserIndex, "731", e_FontTypeNames.FONTTYPE_New_Eventos) Else 120 Call ForzarEvento(Tipo, Duracion, multiplicacion, UserList(UserIndex).Name) @@ -9288,11 +9345,13 @@ Private Sub HandleCrearEvento(ByVal UserIndex As Integer) End If Else -122 Call WriteConsoleMsg(UserIndex, "Ya hay un evento en curso. Finalicelo con /FINEVENTO primero.", e_FontTypeNames.FONTTYPE_New_Eventos) +122 ' Msg732=Ya hay un evento en curso. Finalicelo con /FINEVENTO primero. + Call WriteLocaleMsg(UserIndex, "732", e_FontTypeNames.FONTTYPE_New_Eventos) End If Else -124 Call WriteConsoleMsg(UserIndex, "Servidor » Solo Administradores pueder crear estos eventos.", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg733=Servidor » Solo Administradores pueder crear estos eventos. + Call WriteLocaleMsg(UserIndex, "733", e_FontTypeNames.FONTTYPE_INFO) End If End With @@ -9435,7 +9494,8 @@ Public Sub HandleQuest(ByVal UserIndex As Integer) 102 NpcIndex = UserList(UserIndex).flags.TargetNPC.ArrayIndex 'Esta el personaje en la distancia correcta? 104 If Distancia(UserList(UserIndex).Pos, NpcList(NpcIndex).Pos) > 5 Then -106 Call WriteConsoleMsg(UserIndex, "Estas demasiado lejos.", e_FontTypeNames.FONTTYPE_INFO) +106 ' Msg8=Estas demasiado lejos. + Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -9481,7 +9541,8 @@ Public Sub HandleQuestAccept(ByVal UserIndex As Integer) 112 If Distancia(UserList(UserIndex).pos, NpcList(NpcIndex).pos) > 5 Then -114 Call WriteConsoleMsg(UserIndex, "Estas demasiado lejos.", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg8=Estas demasiado lejos. + Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -10618,7 +10679,8 @@ On Error GoTo HandleActionOnGroupFrame_Err: End If .flags.Hechizo = 0 Else - Call WriteConsoleMsg(UserIndex, "¡Primero selecciona el hechizo que quieres lanzar!", e_FontTypeNames.FONTTYPE_INFO) + ' Msg587=¡Primero selecciona el hechizo que quieres lanzar! + Call WriteLocaleMsg(UserIndex, "587", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub diff --git a/Codigo/Protocol_GmCommands.bas b/Codigo/Protocol_GmCommands.bas index 025d3b6b..0a9c3ce8 100644 --- a/Codigo/Protocol_GmCommands.bas +++ b/Codigo/Protocol_GmCommands.bas @@ -51,7 +51,9 @@ Public Sub HandleOnline(ByVal UserIndex As Integer) 136 Call WriteConsoleMsg(UserIndex, "Número de usuarios: " & CStr(count) & " conectados.", e_FontTypeNames.FONTTYPE_INFOIAO) Call WriteConsoleMsg(UserIndex, "Record de usuarios en simultaneo: " & RecordUsuarios & ".", e_FontTypeNames.FONTTYPE_INFOIAO) Else - Call WriteConsoleMsg(UserIndex, "Comando deshabilitado para tu rango.", e_FontTypeNames.FONTTYPE_INFOIAO) + ' Msg526=Comando deshabilitado para tu rango. + Call WriteLocaleMsg(UserIndex, "526", e_FontTypeNames.FONTTYPE_INFOIAO) + End If End With @@ -159,7 +161,8 @@ Public Sub HandleRoleMasterRequest(ByVal UserIndex As Integer) 102 request = Reader.ReadString8() 104 If LenB(request) <> 0 Then -106 Call WriteConsoleMsg(UserIndex, "Su solicitud ha sido enviada", e_FontTypeNames.FONTTYPE_INFO) +106 ' Msg527=Su solicitud ha sido enviada. + Call WriteLocaleMsg(UserIndex, "527", e_FontTypeNames.FONTTYPE_INFO) 108 Call SendData(SendTarget.ToRolesMasters, 0, PrepareMessageConsoleMsg(.name & " PREGUNTA ROL: " & request, e_FontTypeNames.FONTTYPE_GUILDMSG)) End If @@ -188,7 +191,8 @@ Public Sub HandlePunishments(ByVal UserIndex As Integer) If UserList(UserIndex).name <> name Then If (.flags.Privilegios And (e_PlayerType.Consejero Or e_PlayerType.SemiDios Or e_PlayerType.Admin Or e_PlayerType.Dios)) = 0 Then - Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If End If @@ -239,7 +243,8 @@ Public Sub HandlePunishments(ByVal UserIndex As Integer) 138 If count = 0 Then -140 Call WriteConsoleMsg(UserIndex, "Sin prontuario..", e_FontTypeNames.FONTTYPE_INFO) +140 ' Msg529=Sin prontuario.. + Call WriteLocaleMsg(UserIndex, "529", e_FontTypeNames.FONTTYPE_INFO) Else 144 Call SendUserPunishmentsDatabase(UserIndex, TargetUserName) End If @@ -266,7 +271,8 @@ Public Sub HandleGamble(ByVal UserIndex As Integer) 108 ElseIf Not IsValidNpcRef(.flags.TargetNPC) Then 'Validate target NPC -110 Call WriteConsoleMsg(UserIndex, "Primero tenés que seleccionar un personaje, haz click izquierdo sobre él.", e_FontTypeNames.FONTTYPE_INFO) +110 ' Msg530=Primero tenés que seleccionar un personaje, haz click izquierdo sobre él. + Call WriteLocaleMsg(UserIndex, "530", e_FontTypeNames.FONTTYPE_INFO) 112 ElseIf Distancia(NpcList(.flags.TargetNPC.ArrayIndex).Pos, .Pos) > 10 Then 114 Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) @@ -325,7 +331,8 @@ Public Sub HandleDenounce(ByVal UserIndex As Integer) 104 If LenB(name) = 0 Then Exit Sub 106 If EsGmChar(name) Then -108 Call WriteConsoleMsg(UserIndex, "No podés denunciar a un administrador.", e_FontTypeNames.FONTTYPE_INFO) +108 ' Msg531=No podés denunciar a un administrador. + Call WriteLocaleMsg(UserIndex, "531", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -334,7 +341,8 @@ Public Sub HandleDenounce(ByVal UserIndex As Integer) 110 tUser = NameIndex(name) 112 If Not IsValidUserRef(tUser) Then 'user abuse of this system to know if someone is online -114 Call WriteConsoleMsg(UserIndex, "Tu denuncia fue recibida por el equipo de soporte.", e_FontTypeNames.FONTTYPE_INFOIAO) +114 ' Msg532=Tu denuncia fue recibida por el equipo de soporte. + Call WriteLocaleMsg(UserIndex, "532", e_FontTypeNames.FONTTYPE_INFOIAO) Exit Sub End If @@ -351,13 +359,15 @@ Public Sub HandleDenounce(ByVal UserIndex As Integer) Next 126 If Not HayChat Then -128 Call WriteConsoleMsg(UserIndex, "El usuario no ha escrito nada. Recordá que las denuncias inválidas pueden ser motivo de advertencia.", e_FontTypeNames.FONTTYPE_INFO) +128 ' Msg533=El usuario no ha escrito nada. Recordá que las denuncias inválidas pueden ser motivo de advertencia. + Call WriteLocaleMsg(UserIndex, "533", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 136 Call Ayuda.Push(.name, Denuncia, "Denuncia a " & UserList(tUser.ArrayIndex).name) 138 Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg("Se ha recibido una nueva denuncia de parte de " & .name & ".", e_FontTypeNames.FONTTYPE_SERVER)) -140 Call WriteConsoleMsg(UserIndex, "Tu denuncia fue recibida por el equipo de soporte.", e_FontTypeNames.FONTTYPE_INFOIAO) +140 ' Msg534=Tu denuncia fue recibida por el equipo de soporte. + Call WriteLocaleMsg(UserIndex, "534", e_FontTypeNames.FONTTYPE_INFOIAO) 142 Call LogConsulta(.name & " (Denuncia a " & UserList(tUser.ArrayIndex).name & ")" & vbNewLine & Denuncia) End With Exit Sub @@ -440,9 +450,11 @@ Public Sub HandleGoNearby(ByVal UserIndex As Integer) 110 If Not IsValidUserRef(tUser) Then ' Si está offline, comparamos privilegios offline, para no revelar si está el gm conectado 112 If CompararPrivilegios(.flags.Privilegios, UserDarPrivilegioLevel(username)) >= 0 Then -114 Call WriteConsoleMsg(UserIndex, "Usuario offline.", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg535=Usuario offline. + Call WriteLocaleMsg(UserIndex, "535", e_FontTypeNames.FONTTYPE_INFO) Else -116 Call WriteConsoleMsg(UserIndex, "No podés ir cerca de un GM de mayor jerarquía.", e_FontTypeNames.FONTTYPE_INFO) +116 ' Msg536=No podés ir cerca de un GM de mayor jerarquía. + Call WriteLocaleMsg(UserIndex, "536", e_FontTypeNames.FONTTYPE_INFO) End If Else 118 If CompararPrivilegiosUser(userIndex, tUser.ArrayIndex) >= 0 Then @@ -464,14 +476,17 @@ Public Sub HandleGoNearby(ByVal UserIndex As Integer) 144 Next i 'No space found?? 146 If Not Found Then -148 Call WriteConsoleMsg(UserIndex, "Todos los lugares están ocupados.", e_FontTypeNames.FONTTYPE_INFO) +148 ' Msg537=Todos los lugares están ocupados. + Call WriteLocaleMsg(UserIndex, "537", e_FontTypeNames.FONTTYPE_INFO) End If Else -150 Call WriteConsoleMsg(UserIndex, "No podés ir cerca de un GM de mayor jerarquía.", e_FontTypeNames.FONTTYPE_INFO) +150 ' Msg538=No podés ir cerca de un GM de mayor jerarquía. + Call WriteLocaleMsg(UserIndex, "538", e_FontTypeNames.FONTTYPE_INFO) End If End If Else -152 Call WriteConsoleMsg(UserIndex, "Servidor » No podés ir cerca de ningun Usuario si no pidio SOS.", e_FontTypeNames.FONTTYPE_INFO) +152 ' Msg539=Servidor » No podés ir cerca de ningun Usuario si no pidio SOS. + Call WriteLocaleMsg(UserIndex, "539", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -490,7 +505,8 @@ Public Sub HandleWhere(ByVal UserIndex As Integer) 104 If (.flags.Privilegios And (e_PlayerType.RoleMaster Or e_PlayerType.Consejero Or e_PlayerType.user Or e_PlayerType.SemiDios)) = 0 Then 106 tUser = NameIndex(username) 108 If Not IsValidUserRef(tUser) Then -110 Call WriteConsoleMsg(UserIndex, "Usuario offline.", e_FontTypeNames.FONTTYPE_INFO) +110 ' Msg540=Usuario offline. + Call WriteLocaleMsg(UserIndex, "540", e_FontTypeNames.FONTTYPE_INFO) Else 112 If CompararPrivilegiosUser(userIndex, tUser.ArrayIndex) >= 0 Then 114 Call WriteConsoleMsg(UserIndex, "Ubicación " & username & ": " & UserList(tUser.ArrayIndex).Pos.Map & ", " & UserList(tUser.ArrayIndex).Pos.X & ", " & UserList(tUser.ArrayIndex).Pos.Y & ".", e_FontTypeNames.FONTTYPE_INFO) @@ -498,7 +514,8 @@ Public Sub HandleWhere(ByVal UserIndex As Integer) End If End If Else -118 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +118 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -738,13 +755,15 @@ Public Sub HandleSilence(ByVal UserIndex As Integer) Else -132 Call WriteConsoleMsg(UserIndex, "No puedes silenciar a un administrador de mayor o igual rango.", e_FontTypeNames.FONTTYPE_INFO) +132 ' Msg561=No puedes silenciar a un administrador de mayor o igual rango. + Call WriteLocaleMsg(UserIndex, "561", e_FontTypeNames.FONTTYPE_INFO) End If Else -134 Call WriteConsoleMsg(UserIndex, "El personaje no existe.", e_FontTypeNames.FONTTYPE_INFO) +134 ' Msg560=El personaje no existe. + Call WriteLocaleMsg(UserIndex, "560", e_FontTypeNames.FONTTYPE_INFO) End If @@ -772,7 +791,8 @@ Public Sub HandleSilence(ByVal UserIndex As Integer) Else -162 Call WriteConsoleMsg(UserIndex, "No puedes silenciar a un administrador de mayor o igual rango.", e_FontTypeNames.FONTTYPE_INFO) +162 ' Msg561=No puedes silenciar a un administrador de mayor o igual rango. + Call WriteLocaleMsg(UserIndex, "561", e_FontTypeNames.FONTTYPE_INFO) End If @@ -850,7 +870,8 @@ Public Sub HandleGoToChar(ByVal UserIndex As Integer) 108 tUser = NameIndex(username) 110 If Not IsValidUserRef(tUser) Then -112 Call WriteConsoleMsg(UserIndex, "El jugador no está online.", e_FontTypeNames.FONTTYPE_INFO) +112 ' Msg562=El jugador no está online. + Call WriteLocaleMsg(UserIndex, "562", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -939,7 +960,8 @@ Public Sub HandleRequestUserList(ByVal UserIndex As Integer) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.RoleMaster)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1022,7 +1044,8 @@ Public Sub HandleHiding(ByVal UserIndex As Integer) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.RoleMaster)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1112,12 +1135,13 @@ Public Sub HandleJail(ByVal UserIndex As Integer) End If 152 Call Encarcelar(tUser.ArrayIndex, jailTime, .name) -154 Call LogGM(.Name, " encarceló a " & username) +154 Call LogGM(.name, " encarceló a " & username) End If End If End If Else -156 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) + 'Msg528=Servidor » Comando deshabilitado para tu cargo. +156 Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -1175,7 +1199,8 @@ Public Sub HandleWarnUser(ByVal UserIndex As Integer) ' Tenes que ser Admin, Dios o Semi-Dios 106 If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios Or e_PlayerType.SemiDios Or e_PlayerType.Consejero)) = 0 Then -108 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +108 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1190,7 +1215,8 @@ Public Sub HandleWarnUser(ByVal UserIndex As Integer) ' No advertir a GM's 116 If EsGM(tUser.ArrayIndex) Then -118 Call WriteConsoleMsg(UserIndex, "No podes advertir a Game Masters.", e_FontTypeNames.FONTTYPE_INFO) +118 ' Msg541=No podes advertir a Game Masters. + Call WriteLocaleMsg(UserIndex, "541", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1299,7 +1325,8 @@ Public Sub HandleEditChar(ByVal UserIndex As Integer) 144 Call CheckUserLevel(tUser.ArrayIndex) 146 Call WriteUpdateExp(tUser.ArrayIndex) Else -148 Call WriteConsoleMsg(UserIndex, "El usuario es nivel máximo.", e_FontTypeNames.FONTTYPE_INFO) +148 ' Msg542=El usuario es nivel máximo. + Call WriteLocaleMsg(UserIndex, "542", e_FontTypeNames.FONTTYPE_INFO) End If 150 Case e_EditOptions.eo_Body @@ -1359,7 +1386,8 @@ Public Sub HandleEditChar(ByVal UserIndex As Integer) 280 Next LoopC 282 If LoopC > NUMCLASES Then -284 Call WriteConsoleMsg(userIndex, "Clase desconocida. Intente nuevamente.", e_FontTypeNames.FONTTYPE_INFO) +284 ' Msg543=Clase desconocida. Intente nuevamente. + Call WriteLocaleMsg(UserIndex, "543", e_FontTypeNames.FONTTYPE_INFO) Else 286 UserList(tUser.ArrayIndex).clase = LoopC End If @@ -1373,7 +1401,8 @@ Public Sub HandleEditChar(ByVal UserIndex As Integer) 294 Next LoopC 296 If LoopC > NUMSKILLS Then -298 Call WriteConsoleMsg(UserIndex, "Skill Inexistente!", e_FontTypeNames.FONTTYPE_INFO) +298 ' Msg544=Skill Inexistente! + Call WriteLocaleMsg(UserIndex, "544", e_FontTypeNames.FONTTYPE_INFO) Else 300 If Not IsValidUserRef(tUser) Then 304 Call SaveUserSkillDatabase(username, LoopC, val(Arg2)) @@ -1497,7 +1526,8 @@ Public Sub HandleEditChar(ByVal UserIndex As Integer) If DescripcionValida(Arg1) Then 498 UserList(tUser.ArrayIndex).Desc = Arg1 Else -500 Call WriteConsoleMsg(UserIndex, "Caracteres inválidos en la descripción.", e_FontTypeNames.FONTTYPE_INFO) +500 ' Msg545=Caracteres inválidos en la descripción. + Call WriteLocaleMsg(UserIndex, "545", e_FontTypeNames.FONTTYPE_INFO) End If 502 Case e_EditOptions.eo_Intervalo @@ -1572,7 +1602,8 @@ Public Sub HandleEditChar(ByVal UserIndex As Integer) End Select 610 Case Else -612 Call WriteConsoleMsg(UserIndex, "Comando no permitido.", e_FontTypeNames.FONTTYPE_INFO) +612 ' Msg546=Comando no permitido. + Call WriteLocaleMsg(UserIndex, "546", e_FontTypeNames.FONTTYPE_INFO) End Select 'Log it! 614 commandString = "/MOD " @@ -1695,7 +1726,8 @@ Public Sub HandleRequestCharInfo(ByVal UserIndex As Integer) End If End If Else -120 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +120 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -1720,7 +1752,8 @@ Public Sub HandleRequestCharStats(ByVal UserIndex As Integer) 116 Call SendUserMiniStatsTxt(userIndex, tUser.ArrayIndex) End If Else -118 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +118 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -1749,7 +1782,8 @@ Public Sub HandleRequestCharGold(ByVal UserIndex As Integer) 116 Call WriteConsoleMsg(userIndex, "El usuario " & username & " tiene " & UserList(tUser.ArrayIndex).Stats.Banco & " en el banco", e_FontTypeNames.FONTTYPE_TALK) End If Else -118 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +118 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -1776,7 +1810,8 @@ Public Sub HandleRequestCharInventory(ByVal UserIndex As Integer) 116 Call SendUserInvTxt(userIndex, tUser.ArrayIndex) End If Else -118 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +118 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With @@ -1799,12 +1834,14 @@ Public Sub HandleRequestCharBank(ByVal UserIndex As Integer) 106 If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios Or e_PlayerType.SemiDios)) Then 108 Call LogGM(.name, "/BOV " & username) 110 If Not IsValidUserRef(tUser) Then -112 Call WriteConsoleMsg(UserIndex, "Usuario offline.", e_FontTypeNames.FONTTYPE_TALK) +112 ' Msg547=Usuario offline. + Call WriteLocaleMsg(UserIndex, "547", e_FontTypeNames.FONTTYPE_TALK) Else 116 Call SendUserBovedaTxt(userIndex, tUser.ArrayIndex) End If Else -118 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +118 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With @@ -1842,7 +1879,8 @@ Public Sub HandleRequestCharSkills(ByVal UserIndex As Integer) 128 Call SendUserSkillsTxt(userIndex, tUser.ArrayIndex) End If Else -130 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +130 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -1897,7 +1935,8 @@ Public Sub HandleReviveChar(ByVal UserIndex As Integer) 134 Call LogGM(.name, "Resucito a " & username) End If Else -136 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +136 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -1914,7 +1953,8 @@ Public Sub HandleOnlineGM(ByVal UserIndex As Integer) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 priv = e_PlayerType.Consejero Or e_PlayerType.SemiDios @@ -1944,7 +1984,8 @@ Public Sub HandleOnlineMap(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2062,10 +2103,12 @@ Public Sub HandleKick(ByVal UserIndex As Integer) 106 If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios Or e_PlayerType.SemiDios)) Then 108 tUser = NameIndex(username) 110 If Not IsValidUserRef(tUser) Then -112 Call WriteConsoleMsg(UserIndex, "El usuario no esta online.", e_FontTypeNames.FONTTYPE_INFO) +112 ' Msg557=El usuario no esta online. + Call WriteLocaleMsg(UserIndex, "557", e_FontTypeNames.FONTTYPE_INFO) Else 114 If (UserList(tUser.ArrayIndex).flags.Privilegios And rank) > (.flags.Privilegios And rank) Then -116 Call WriteConsoleMsg(UserIndex, "No podes echar a alguien con jerarquia mayor a la tuya.", e_FontTypeNames.FONTTYPE_INFO) +116 ' Msg558=No podes echar a alguien con jerarquia mayor a la tuya. + Call WriteLocaleMsg(UserIndex, "558", e_FontTypeNames.FONTTYPE_INFO) Else 118 Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg(.name & " echo a " & username & ".", e_FontTypeNames.FONTTYPE_INFO)) 120 Call CloseSocket(tUser.ArrayIndex) @@ -2073,7 +2116,8 @@ Public Sub HandleKick(ByVal UserIndex As Integer) End If End If Else -124 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +124 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -2098,10 +2142,12 @@ Public Sub HandleExecute(ByVal UserIndex As Integer) 112 Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg(.name & " ha ejecutado a " & UserList(tUser.ArrayIndex).name, e_FontTypeNames.FONTTYPE_EJECUCION)) 114 Call LogGM(.name, " ejecuto a " & username) Else -116 Call WriteConsoleMsg(UserIndex, "No está online", e_FontTypeNames.FONTTYPE_INFO) +116 ' Msg559=No está online + Call WriteLocaleMsg(UserIndex, "559", e_FontTypeNames.FONTTYPE_INFO) End If Else -118 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +118 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -2121,7 +2167,8 @@ Public Sub HandleBanChar(ByVal UserIndex As Integer) 106 If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios Or e_PlayerType.SemiDios)) Then 108 Call BanPJ(UserIndex, username, Reason) Else -110 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +110 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -2137,7 +2184,8 @@ Public Sub HandleUnbanChar(ByVal UserIndex As Integer) 102 username = Reader.ReadString8() 104 If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios)) Then 106 If Not PersonajeExiste(username) Then -108 Call WriteConsoleMsg(UserIndex, "El personaje no existe.", e_FontTypeNames.FONTTYPE_INFO) +108 ' Msg560=El personaje no existe. + Call WriteLocaleMsg(UserIndex, "560", e_FontTypeNames.FONTTYPE_INFO) Else 110 If BANCheck(username) Then 112 Call SavePenaDatabase(username, .name & ": UNBAN. " & Date & " " & Time) @@ -2150,7 +2198,8 @@ Public Sub HandleUnbanChar(ByVal UserIndex As Integer) End If End If Else -122 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +122 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -2163,7 +2212,8 @@ Public Sub HandleNPCFollow(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2192,7 +2242,8 @@ Public Sub HandleSummonChar(ByVal UserIndex As Integer) 106 If LenB(username) <> 0 Then 108 tUser = NameIndex(username) 110 If Not IsValidUserRef(tUser) Then -112 Call WriteConsoleMsg(UserIndex, "El jugador no está online.", e_FontTypeNames.FONTTYPE_INFO) +112 ' Msg562=El jugador no está online. + Call WriteLocaleMsg(UserIndex, "562", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 114 ElseIf IsValidUserRef(.flags.targetUser) Then @@ -2201,7 +2252,8 @@ Public Sub HandleSummonChar(ByVal UserIndex As Integer) 118 ElseIf IsValidNpcRef(.flags.TargetNPC) Then 120 If NpcList(.flags.TargetNPC.ArrayIndex).Pos.map = .Pos.map Then 122 Call WarpNpcChar(.flags.TargetNPC.ArrayIndex, .Pos.map, .Pos.X, .Pos.y + 1, True) -124 Call WriteConsoleMsg(UserIndex, "Has desplazado a la criatura.", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg563=Has desplazado a la criatura. + Call WriteLocaleMsg(UserIndex, "563", e_FontTypeNames.FONTTYPE_INFO) Else 126 Call WriteConsoleMsg(UserIndex, "Sólo puedes mover NPCs dentro del mismo mapa.", e_FontTypeNames.FONTTYPE_INFO) End If @@ -2251,7 +2303,8 @@ Public Sub HandleSummonChar(ByVal UserIndex As Integer) Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg(.name & " ha trasladado al usuario " & username & " al Mapa " & .pos.Map, e_FontTypeNames.FONTTYPE_INFO)) End If Else -154 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +154 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -2266,7 +2319,8 @@ Public Sub HandleSpawnListRequest(ByVal UserIndex As Integer) 102 If .flags.Privilegios And e_PlayerType.user Then Exit Sub 104 ElseIf .flags.Privilegios And e_PlayerType.Consejero Then -106 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +106 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub 108 ElseIf .flags.Privilegios And (e_PlayerType.SemiDios) Then @@ -2294,7 +2348,8 @@ Public Sub HandleSpawnCreature(ByVal UserIndex As Integer) End If 110 Call LogGM(.name, "Sumoneo " & Declaraciones.SpawnList(npc).NpcName) Else -112 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +112 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -2308,7 +2363,8 @@ Public Sub HandleResetNPCInventory(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.RoleMaster)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 If Not IsValidNpcRef(.flags.TargetNPC) Then Exit Sub @@ -2325,7 +2381,8 @@ Public Sub HandleCleanWorld(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.RoleMaster)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 108 Call WriteConsoleMsg(UserIndex, "Se han limpiado los items del suelo.", e_FontTypeNames.FONTTYPE_INFO) @@ -2349,7 +2406,8 @@ Public Sub HandleServerMessage(ByVal UserIndex As Integer) 110 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg(.name & "> " & Message, e_FontTypeNames.FONTTYPE_SERVER)) End If Else -112 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +112 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -2404,7 +2462,8 @@ Public Sub HandleNickToIP(ByVal UserIndex As Integer) 140 Call WriteConsoleMsg(UserIndex, "No hay ningun personaje con ese nick", e_FontTypeNames.FONTTYPE_INFO) End If Else -142 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +142 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -2427,7 +2486,8 @@ Public Sub HandleIPToNick(ByVal UserIndex As Integer) 108 IP = IP & Reader.ReadInt8() 110 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.RoleMaster)) Then -112 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +112 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 114 Call LogGM(.name, "IP2NICK Solicito los Nicks de IP " & IP) @@ -2473,7 +2533,8 @@ Public Sub HandleTeleportCreate(ByVal UserIndex As Integer) Motivo = Reader.ReadString8() 108 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -110 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +110 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 112 Call LogGM(.name, "/CT " & Mapa & "," & X & "," & y & "," & Motivo) @@ -2523,7 +2584,8 @@ Public Sub HandleTeleportDestroy(ByVal UserIndex As Integer) Dim y As Byte '/dt 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2566,7 +2628,8 @@ Public Sub HandleRainToggle(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 Call LogGM(.name, "/LLUVIA") @@ -2691,7 +2754,8 @@ Public Sub HandleDestroyAllItemsInArea(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.RoleMaster)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2721,7 +2785,8 @@ Public Sub HandleItemsInTheFloor(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2899,7 +2964,8 @@ Public Sub HandleDestroyItems(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -2920,7 +2986,8 @@ Public Sub HandleForceMIDIAll(ByVal UserIndex As Integer) 102 midiID = Reader.ReadInt8() 104 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -106 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +106 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 108 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg(.name & " broadcast musica: " & midiID, e_FontTypeNames.FONTTYPE_SERVER)) @@ -2938,7 +3005,8 @@ Public Sub HandleForceWAVEAll(ByVal UserIndex As Integer) Dim waveID As Byte 102 waveID = Reader.ReadInt8() 104 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -106 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +106 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 108 Call SendData(SendTarget.ToAll, 0, PrepareMessagePlayWave(waveID, NO_3D_SOUND, NO_3D_SOUND)) @@ -2991,7 +3059,8 @@ Public Sub HandleTile_BlockedToggle(ByVal UserIndex As Integer) 'Author: Nicolas Matias Gonzalez (NIGO) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -3015,7 +3084,8 @@ Public Sub HandleKillNPCNoRespawn(ByVal UserIndex As Integer) 100 With UserList(UserIndex) If Not EsGM(UserIndex) Then Exit Sub 102 If .flags.Privilegios And e_PlayerType.Consejero Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 If Not IsValidNpcRef(.flags.TargetNPC) Then Exit Sub @@ -3034,7 +3104,8 @@ Public Sub HandleKillAllNearbyNPCs(ByVal UserIndex As Integer) 100 With UserList(UserIndex) If Not EsGM(UserIndex) Then Exit Sub 102 If (.flags.Privilegios And (e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -3126,7 +3197,8 @@ Public Sub HandleLastIP(ByVal UserIndex As Integer) Call WriteConsoleMsg(UserIndex, ip_list(LoopC), e_FontTypeNames.FONTTYPE_INFO) Next LoopC Else -146 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +146 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -3204,7 +3276,8 @@ Public Sub HandleCreateNPC(ByVal UserIndex As Integer) If Not EsGM(UserIndex) Then Exit Sub 104 If .flags.Privilegios And (e_PlayerType.Consejero Or e_PlayerType.SemiDios) Then -106 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +106 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -3403,7 +3476,8 @@ Public Sub HandleChangeMapInfoPK(ByVal UserIndex As Integer) Dim isMapPk As Boolean 102 isMapPk = Reader.ReadBool() 104 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios Or e_PlayerType.RoleMaster)) Then -106 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +106 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -3620,7 +3694,8 @@ Public Sub HandleSaveChars(ByVal UserIndex As Integer) 'Author: Lucas Tavolaro Ortiz (Tavo) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios Or e_PlayerType.RoleMaster)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 Call LogGM(.name, .name & " ha guardado todos los chars") @@ -3665,7 +3740,8 @@ Public Sub HandleNight(ByVal UserIndex As Integer) 'Last modified by: Juan Martín Sotuyo Dodero (Maraxus) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.RoleMaster)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 HoraMundo = GetTickCount() @@ -3787,7 +3863,8 @@ Public Sub HandleCheckSlot(ByVal UserIndex As Integer) 122 Call WriteConsoleMsg(UserIndex, "Slot Invílido.", e_FontTypeNames.FONTTYPE_TALK) End If Else -124 Call WriteConsoleMsg(UserIndex, "Usuario offline.", e_FontTypeNames.FONTTYPE_TALK) +124 ' Msg547=Usuario offline. + Call WriteLocaleMsg(UserIndex, "547", e_FontTypeNames.FONTTYPE_TALK) End If End With Exit Sub @@ -3823,7 +3900,8 @@ Public Sub HandleGlobalMessage(ByVal UserIndex As Integer) 108 If .flags.Silenciado = 1 Then 110 Call WriteLocaleMsg(UserIndex, "110", e_FontTypeNames.FONTTYPE_VENENO, .flags.MinutosRestantes) 112 ElseIf ElapsedTime < IntervaloMensajeGlobal Then -114 Call WriteConsoleMsg(UserIndex, "No puedes escribir mensajes globales tan rápido.", e_FontTypeNames.FONTTYPE_WARNING) +114 ' Msg548=No puedes escribir mensajes globales tan rápido. + Call WriteLocaleMsg(UserIndex, "548", e_FontTypeNames.FONTTYPE_WARNING) Else 116 UserList(UserIndex).Counters.MensajeGlobal = TActual @@ -3840,7 +3918,8 @@ Public Sub HandleGlobalMessage(ByVal UserIndex As Integer) 'Call SendData(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.map, "||" & vbBlue & "í< " & rData & " >í" & CStr(UserList(UserIndex).Char.CharIndex)) End If Else -132 Call WriteConsoleMsg(UserIndex, "El global se encuentra Desactivado.", e_FontTypeNames.FONTTYPE_GLOBAL) +132 ' Msg549=El global se encuentra Desactivado. + Call WriteLocaleMsg(UserIndex, "549", e_FontTypeNames.FONTTYPE_GLOBAL) End If End If End With @@ -3872,7 +3951,8 @@ Public Sub HandleDay(ByVal UserIndex As Integer) On Error GoTo HandleDay_Err 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 HoraMundo = GetTickCount() - DuracionDia \ 2 @@ -3889,7 +3969,8 @@ Public Sub HandleSetTime(ByVal UserIndex As Integer) Dim HoraDia As Long 102 HoraDia = Reader.ReadInt32 104 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.SemiDios)) Then -106 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +106 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 108 HoraMundo = GetTickCount() - HoraDia @@ -3936,13 +4017,15 @@ Public Sub HandleGiveItem(ByVal UserIndex As Integer) 130 If MeterItemEnInventario(tUser.ArrayIndex, Objeto) Then 132 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg(.name & " ha otorgado a " & UserList(tUser.ArrayIndex).name & " " & Cantidad & " " & ObjData(ObjIndex).name & ": " & Motivo, e_FontTypeNames.FONTTYPE_ROSA)) Else -134 Call WriteConsoleMsg(UserIndex, "El usuario no tiene espacio en el inventario.", e_FontTypeNames.FONTTYPE_INFO) +134 ' Msg550=El usuario no tiene espacio en el inventario. + Call WriteLocaleMsg(UserIndex, "550", e_FontTypeNames.FONTTYPE_INFO) End If ' Lo registro en los logs. 136 Call LogGM(.name, "/DAR " & username & " - Item: " & ObjData(objIndex).name & "(" & objIndex & ") Cantidad : " & Cantidad) 138 Call LogPremios(.name, username, objIndex, Cantidad, Motivo) Else -140 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo, debes pedir a un Admin que lo de.", e_FontTypeNames.FONTTYPE_INFO) +140 ' Msg551=Servidor » Comando deshabilitado para tu cargo, debes pedir a un Admin que lo de. + Call WriteLocaleMsg(UserIndex, "551", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -3987,14 +4070,16 @@ Public Sub HandleQuestionGM(ByVal UserIndex As Integer) End If If ElapsedTime < IntervaloConsultaGM Then -115 Call WriteConsoleMsg(UserIndex, "Solo puedes enviar una consulta cada 5 minutos.", e_FontTypeNames.FONTTYPE_WARNING) +115 ' Msg552=Solo puedes enviar una consulta cada 5 minutos. + Call WriteLocaleMsg(UserIndex, "552", e_FontTypeNames.FONTTYPE_WARNING) Exit Sub End If UserList(UserIndex).Counters.LastGmMessage = TActual 112 Call Ayuda.Push(.name, Consulta, TipoDeConsulta) 114 Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg("Se ha recibido un nuevo mensaje de soporte de " & UserList(UserIndex).name & ".", e_FontTypeNames.FONTTYPE_SERVER)) .Counters.CounterGmMessages = 0 -116 Call WriteConsoleMsg(UserIndex, "Tu mensaje fue recibido por el equipo de soporte.", e_FontTypeNames.FONTTYPE_INFOIAO) +116 ' Msg553=Tu mensaje fue recibido por el equipo de soporte. + Call WriteLocaleMsg(UserIndex, "553", e_FontTypeNames.FONTTYPE_INFOIAO) 118 Call LogConsulta(.name & " (" & TipoDeConsulta & ") " & Consulta) End With Exit Sub @@ -4037,11 +4122,13 @@ Public Sub HandlePossUser(ByVal UserIndex As Integer) 116 Call WriteConsoleMsg(UserIndex, "Servidor » Acción realizada con exito! La nueva posicion de " & username & " es: " & UserList(tUser.ArrayIndex).Pos.Map & "-" & UserList(tUser.ArrayIndex).Pos.X & "-" & UserList(tUser.ArrayIndex).Pos.Y & ".", e_FontTypeNames.FONTTYPE_INFO) 'ver porque si el usuario esta online lo dice igual Else -118 Call WriteConsoleMsg(UserIndex, "Servidor » El usuario debe estar deslogueado para dicha solicitud!", e_FontTypeNames.FONTTYPE_INFO) +118 ' Msg554=Servidor » El usuario debe estar deslogueado para dicha solicitud! + Call WriteLocaleMsg(UserIndex, "554", e_FontTypeNames.FONTTYPE_INFO) 'avisar al usuario que un gm lo destrabara pero debe desloguear End If Else -120 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +120 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -4054,7 +4141,8 @@ Public Sub HandleNieveToggle(ByVal UserIndex As Integer) 'Author: Pablo Mercavides 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 Call LogGM(.name, "/NIEVE") @@ -4072,7 +4160,8 @@ Public Sub HandleNieblaToggle(ByVal UserIndex As Integer) 'Author: Pablo Mercavides 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -4094,7 +4183,8 @@ Public Sub HandleGenio(ByVal UserIndex As Integer) 104 For i = 1 To NUMSKILLS 106 .Stats.UserSkills(i) = 100 108 Next i -110 Call WriteConsoleMsg(UserIndex, "Tus skills fueron editados.", e_FontTypeNames.FONTTYPE_INFOIAO) +110 ' Msg555=Tus skills fueron editados. + Call WriteLocaleMsg(UserIndex, "555", e_FontTypeNames.FONTTYPE_INFOIAO) End With Exit Sub HandleGenio_Err: @@ -4112,7 +4202,8 @@ Public Sub HandleBanCuenta(ByVal UserIndex As Integer) 106 If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios)) Then 108 Call BanearCuenta(UserIndex, username, Reason) Else -110 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +110 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -4133,10 +4224,12 @@ Public Sub HandleUnBanCuenta(ByVal UserIndex As Integer) 116 If DesbanearCuenta(UserIndex, UserNameOEmail) Then 118 Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg("Servidor » " & .Name & " ha desbaneado la cuenta de " & UserNameOEmail & ".", e_FontTypeNames.FONTTYPE_SERVER)) Else - Call WriteConsoleMsg(UserIndex, "No se ha podido desbanear la cuenta.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg556=No se ha podido desbanear la cuenta. + Call WriteLocaleMsg(UserIndex, "556", e_FontTypeNames.FONTTYPE_INFO) End If Else -120 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +120 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -4156,7 +4249,8 @@ Public Sub HandleCerrarCliente(ByVal UserIndex As Integer) 104 If (.flags.Privilegios And e_PlayerType.Admin) Then 106 tUser = NameIndex(username) 108 If Not IsValidUserRef(tUser) Then -110 Call WriteConsoleMsg(UserIndex, "El usuario no esta online.", e_FontTypeNames.FONTTYPE_INFO) +110 ' Msg557=El usuario no esta online. + Call WriteLocaleMsg(UserIndex, "557", e_FontTypeNames.FONTTYPE_INFO) Else 112 Call SendData(SendTarget.ToAdminsYDioses, 0, PrepareMessageConsoleMsg(.name & " cerro el cliente de " & username & ".", e_FontTypeNames.FONTTYPE_INFO)) 114 Call WriteCerrarleCliente(tUser.ArrayIndex) @@ -4177,7 +4271,8 @@ Public Sub HandleEventoInfo(ByVal UserIndex As Integer) 102 If EventoActivo Then 104 Call WriteConsoleMsg(UserIndex, PublicidadEvento & ". Tiempo restante: " & TiempoRestanteEvento & " minuto(s).", e_FontTypeNames.FONTTYPE_New_Eventos) Else -106 Call WriteConsoleMsg(UserIndex, "Eventos> Actualmente no hay ningun evento en curso.", e_FontTypeNames.FONTTYPE_New_Eventos) +106 ' Msg729=Eventos> Actualmente no hay ningún evento en curso. + Call WriteLocaleMsg(UserIndex, "729", e_FontTypeNames.FONTTYPE_New_Eventos) End If Dim i As Byte @@ -4206,7 +4301,8 @@ Public Sub HandleEventoInfo(ByVal UserIndex As Integer) 132 If encontre Then 134 Call WriteConsoleMsg(UserIndex, "Eventos> El proximo evento " & DescribirEvento(HoraProximo) & " iniciara a las " & HoraProximo & ":00 horas.", e_FontTypeNames.FONTTYPE_New_Eventos) Else -136 Call WriteConsoleMsg(UserIndex, "Eventos> No hay eventos proximos.", e_FontTypeNames.FONTTYPE_New_Eventos) +136 ' Msg730=Eventos> No hay eventos próximos. + Call WriteLocaleMsg(UserIndex, "730", e_FontTypeNames.FONTTYPE_New_Eventos) End If End With Exit Sub @@ -4234,15 +4330,18 @@ Public Sub HandleCrearEvento(ByVal UserIndex As Integer) 112 If .flags.Privilegios >= e_PlayerType.Admin Then 114 If EventoActivo = False Then 116 If LenB(Tipo) = 0 Or LenB(Duracion) = 0 Or LenB(multiplicacion) = 0 Then -118 Call WriteConsoleMsg(UserIndex, "Utilice /CREAREVENTO TIPO@DURACION@MULTIPLICACION.", e_FontTypeNames.FONTTYPE_New_Eventos) +118 ' Msg731=Utilice /CREAREVENTO TIPO@DURACION@MULTIPLICACION. + Call WriteLocaleMsg(UserIndex, "731", e_FontTypeNames.FONTTYPE_New_Eventos) Else 120 Call ForzarEvento(Tipo, Duracion, multiplicacion, UserList(UserIndex).name) End If Else -122 Call WriteConsoleMsg(UserIndex, "Ya hay un evento en curso. Finalicelo con /FINEVENTO primero.", e_FontTypeNames.FONTTYPE_New_Eventos) +122 ' Msg732=Ya hay un evento en curso. Finalicelo con /FINEVENTO primero. + Call WriteLocaleMsg(UserIndex, "732", e_FontTypeNames.FONTTYPE_New_Eventos) End If Else -124 Call WriteConsoleMsg(UserIndex, "Servidor » Solo Administradores pueder crear estos eventos.", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg733=Servidor » Solo Administradores pueder crear estos eventos. + Call WriteLocaleMsg(UserIndex, "733", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -4266,7 +4365,8 @@ Public Sub HandleBanTemporal(ByVal UserIndex As Integer) 108 If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios Or e_PlayerType.SemiDios)) Then 110 Call Admin.BanTemporal(username, dias, Reason, UserList(UserIndex).name) Else -112 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +112 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -4418,7 +4518,8 @@ Public Sub HandleBusquedaTesoro(ByVal UserIndex As Integer) 114 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Eventos> Todavia nadie fue capaz de encontar el tesoro, recorda que se encuentra en " & get_map_name(TesoroNumMapa) & "(" & TesoroNumMapa & "). ¿Quien sera el valiente que lo encuentre?", e_FontTypeNames.FONTTYPE_TALK)) 116 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa. El tesoro se encuentra en: " & TesoroNumMapa & "-" & TesoroX & "-" & TesoroY, e_FontTypeNames.FONTTYPE_INFO) Else -118 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa.", e_FontTypeNames.FONTTYPE_INFO) +118 ' Msg734=Ya hay una busqueda del tesoro activa. + Call WriteLocaleMsg(UserIndex, "734", e_FontTypeNames.FONTTYPE_INFO) End If End If 120 Case 1 @@ -4429,7 +4530,8 @@ Public Sub HandleBusquedaTesoro(ByVal UserIndex As Integer) 128 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Eventos> Ningún valiente fue capaz de encontrar el item misterioso, recuerda que se encuentra en " & get_map_name(RegaloNumMapa) & "(" & RegaloNumMapa & "). ¡Ten cuidado!", e_FontTypeNames.FONTTYPE_TALK)) 130 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa. El tesoro se encuentra en: " & RegaloNumMapa & "-" & RegaloX & "-" & RegaloY, e_FontTypeNames.FONTTYPE_INFO) Else -132 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa.", e_FontTypeNames.FONTTYPE_INFO) +132 ' Msg734=Ya hay una busqueda del tesoro activa. + Call WriteLocaleMsg(UserIndex, "734", e_FontTypeNames.FONTTYPE_INFO) End If End If 134 Case 2 @@ -4445,12 +4547,14 @@ Public Sub HandleBusquedaTesoro(ByVal UserIndex As Integer) 150 Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Eventos> Todavía nadie logró matar el NPC que se encuentra en el mapa " & NpcList(npc_index_evento).Pos.Map & ".", e_FontTypeNames.FONTTYPE_TALK)) 152 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda de npc activo. El tesoro se encuentra en: " & NpcList(npc_index_evento).Pos.map & "-" & NpcList(npc_index_evento).Pos.X & "-" & NpcList(npc_index_evento).Pos.y, e_FontTypeNames.FONTTYPE_INFO) Else -154 Call WriteConsoleMsg(UserIndex, "Ya hay una busqueda del tesoro activa.", e_FontTypeNames.FONTTYPE_INFO) +154 ' Msg734=Ya hay una busqueda del tesoro activa. + Call WriteLocaleMsg(UserIndex, "734", e_FontTypeNames.FONTTYPE_INFO) End If End If End Select Else -156 Call WriteConsoleMsg(UserIndex, "Servidor » No estas habilitado para hacer Eventos.", e_FontTypeNames.FONTTYPE_INFO) +156 ' Msg735=Servidor » No estas habilitado para hacer Eventos. + Call WriteLocaleMsg(UserIndex, "735", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -4473,7 +4577,8 @@ Public Sub HandleFinEvento(ByVal UserIndex As Integer) 'Author: Juan Martín Sotuyo Dodero (Maraxus) 100 With UserList(UserIndex) 102 If (.flags.Privilegios And (e_PlayerType.user Or e_PlayerType.Consejero Or e_PlayerType.RoleMaster)) Then -104 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +104 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 106 If EventoActivo Then @@ -4495,7 +4600,8 @@ Public Sub HandleCreateEvent(ByVal UserIndex As Integer) 102 name = Reader.ReadString8() 104 If LenB(name) = 0 Then Exit Sub 106 If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios)) = 0 Then -108 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +108 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 110 Select Case UCase$(name) @@ -4555,7 +4661,8 @@ End Sub Public Sub HandleCancelarEvento(ByVal UserIndex As Integer) On Error GoTo ErrHandler If (UserList(userIndex).flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios Or e_PlayerType.SemiDios)) = 0 Then - Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) + 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If If CurrentActiveEventType = CaptureTheFlag Then @@ -4706,7 +4813,8 @@ Public Sub HandleSeguirMouse(ByVal UserIndex As Integer) End If End If Else -136 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +136 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With @@ -4766,7 +4874,8 @@ On Error GoTo HandleLobbyCommand_err 106 Call WriteConsoleMsg(UserIndex, "Servidor » No se pudo procesar el comando.", e_FontTypeNames.FONTTYPE_INFO) 108 End If 110 Else -112 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +112 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) 114 End If 116 End With Exit Sub @@ -4845,7 +4954,8 @@ Public Sub HandleIniciarCaptura(ByVal UserIndex As Integer, EventSettings As t_N Call InstanciaCaptura.inicializar(EventSettings.MaxPlayers, EventSettings.RoundNumber, EventSettings.MinLevel, EventSettings.MaxLevel, EventSettings.InscriptionFee) End If Else -136 Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) +136 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) End If End With Exit Sub @@ -4867,7 +4977,8 @@ On Error GoTo ErrHandler End If With UserList(UserIndex) If (.flags.Privilegios And (e_PlayerType.Admin Or e_PlayerType.Dios Or e_PlayerType.SemiDios)) = 0 Then - Call WriteConsoleMsg(UserIndex, "Servidor » Comando deshabilitado para tu cargo.", e_FontTypeNames.FONTTYPE_INFO) + 'Msg528=Servidor » Comando deshabilitado para tu cargo. + Call WriteLocaleMsg(UserIndex, "528", e_FontTypeNames.FONTTYPE_INFO) Else 136 'Me fijo si hay más participantes conectados que el cupo para jugar If Not ValidateLobbySettings(UserIndex, LobbySettings) Then diff --git a/Codigo/SistemaCombate.bas b/Codigo/SistemaCombate.bas index f5f8f5bf..d4ac8c15 100644 --- a/Codigo/SistemaCombate.bas +++ b/Codigo/SistemaCombate.bas @@ -2470,7 +2470,8 @@ Public Sub ThrowProjectileToTarget(ByVal UserIndex As Integer, ByVal TargetIndex If AmunitionState <> 0 Then If AmunitionState = 1 Then - Call WriteConsoleMsg(UserIndex, "No tenés municiones.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg709=No tenés municiones. + Call WriteLocaleMsg(UserIndex, "709", e_FontTypeNames.FONTTYPE_INFO) End If Call Desequipar(UserIndex, .MunicionEqpSlot) Call WriteWorkRequestTarget(UserIndex, 0) diff --git a/Codigo/Trabajo.bas b/Codigo/Trabajo.bas index 245b0de9..c7cbd0f7 100644 --- a/Codigo/Trabajo.bas +++ b/Codigo/Trabajo.bas @@ -28,84 +28,110 @@ Attribute VB_Name = "Trabajo" Option Explicit Public Const GOLD_OBJ_INDEX As Long = 12 + Public Const FISHING_NET_FX As Long = 12 + Public Const NET_INMO_DURATION = 10 -Function ExpectObjectTypeAt(ByVal objectType As Integer, ByVal Map As Integer, ByVal MapX As Byte, ByVal MapY As Byte) As Boolean +Function ExpectObjectTypeAt(ByVal objectType As Integer, _ + ByVal Map As Integer, _ + ByVal MapX As Byte, _ + ByVal MapY As Byte) As Boolean + Dim objIndex As Integer + objIndex = MapData(Map, MapX, MapY).ObjInfo.objIndex + If objIndex = 0 Then ExpectObjectTypeAt = False Exit Function + End If + ExpectObjectTypeAt = ObjData(objIndex).OBJType = objectType + End Function Function IsUserAtPos(ByVal map As Integer, ByVal X As Byte, ByVal y As Byte) As Boolean IsUserAtPos = MapData(map, X, y).UserIndex > 0 + End Function Function IsNpcAtPos(ByVal map As Integer, ByVal X As Byte, ByVal y As Byte) IsNpcAtPos = MapData(map, X, y).npcIndex > 0 + End Function Sub HandleFishingNet(ByVal UserIndex As Integer) -On Error GoTo HandleFishingNet_Err: - With UserList(UserIndex) -100 If (MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).Blocked And FLAG_AGUA) <> 0 _ - Or MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).trigger = e_Trigger.PESCAINVALIDA Then - -102 If Abs(.pos.x - .Trabajo.Target_X) + Abs(.pos.y - .Trabajo.Target_Y) > 8 Then -104 Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) -106 Call WriteWorkRequestTarget(UserIndex, 0) - Exit Sub - End If - -114 If MapInfo(UserList(UserIndex).pos.Map).Seguro = 1 Then -116 Call WriteConsoleMsg(UserIndex, "Esta prohibida la pesca masiva en las ciudades.", e_FontTypeNames.FONTTYPE_INFO) -118 Call WriteWorkRequestTarget(UserIndex, 0) - Exit Sub - End If - -120 If UserList(UserIndex).flags.Navegando = 0 Then -122 Call WriteConsoleMsg(UserIndex, "Necesitas estar sobre tu barca para utilizar la red de pesca.", e_FontTypeNames.FONTTYPE_INFO) -124 Call WriteWorkRequestTarget(UserIndex, 0) - Exit Sub - End If - - If FISHING_POOL_ID <> MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.ObjIndex Then -126 Call WriteConsoleMsg(UserIndex, "Para pescar con red deberás buscar un área de pesca.", e_FontTypeNames.FONTTYPE_INFO) -128 Call WriteWorkRequestTarget(UserIndex, 0) - Exit Sub - End If - - Call DoPescar(UserIndex, True) - - Else - -132 Call WriteConsoleMsg(UserIndex, "Zona de pesca no Autorizada. Busca otro lugar para hacerlo.", e_FontTypeNames.FONTTYPE_INFO) -142 Call WriteWorkRequestTarget(UserIndex, 0) - End If - End With - Exit Sub + On Error GoTo HandleFishingNet_Err: + + With UserList(UserIndex) + +100 If (MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).Blocked And FLAG_AGUA) <> 0 Or MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).trigger = e_Trigger.PESCAINVALIDA Then + +102 If Abs(.pos.x - .Trabajo.Target_X) + Abs(.pos.y - .Trabajo.Target_Y) > 8 Then +104 Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) +106 Call WriteWorkRequestTarget(UserIndex, 0) + Exit Sub + + End If + +114 If MapInfo(UserList(UserIndex).pos.Map).Seguro = 1 Then +116 ' Msg593=Esta prohibida la pesca masiva en las ciudades. + Call WriteLocaleMsg(UserIndex, "593", e_FontTypeNames.FONTTYPE_INFO) +118 Call WriteWorkRequestTarget(UserIndex, 0) + Exit Sub + + End If + +120 If UserList(UserIndex).flags.Navegando = 0 Then +122 ' Msg594=Necesitas estar sobre tu barca para utilizar la red de pesca. + Call WriteLocaleMsg(UserIndex, "594", e_FontTypeNames.FONTTYPE_INFO) +124 Call WriteWorkRequestTarget(UserIndex, 0) + Exit Sub + + End If + + If FISHING_POOL_ID <> MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.ObjIndex Then +126 ' Msg595=Para pescar con red deberás buscar un área de pesca. + Call WriteLocaleMsg(UserIndex, "595", e_FontTypeNames.FONTTYPE_INFO) +128 Call WriteWorkRequestTarget(UserIndex, 0) + Exit Sub + + End If + + Call DoPescar(UserIndex, True) + Else +132 ' Msg596=Zona de pesca no Autorizada. Busca otro lugar para hacerlo. + Call WriteLocaleMsg(UserIndex, "596", e_FontTypeNames.FONTTYPE_INFO) +142 Call WriteWorkRequestTarget(UserIndex, 0) + + End If + + End With + + Exit Sub HandleFishingNet_Err: - Call TraceError(Err.Number, Err.Description, "Trabajo.HandleFishingNet", Erl) + Call TraceError(Err.Number, Err.Description, "Trabajo.HandleFishingNet", Erl) + End Sub Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) + Dim DummyInt As Integer With UserList(UserIndex) - - Select Case Skill - + + Select Case Skill + Case e_Skill.Pescar + 288 If .Invent.HerramientaEqpObjIndex = 0 Then Exit Sub 290 If ObjData(.Invent.HerramientaEqpObjIndex).OBJType <> e_OBJType.otHerramientas Then Exit Sub - + 294 Select Case ObjData(.Invent.HerramientaEqpObjIndex).Subtipo - + Case e_ToolsSubtype.eFishingRod 296 If (MapData(.Pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).Blocked And FLAG_AGUA) <> 0 And Not MapData(.Pos.Map, .Pos.X, .Pos.Y).trigger = e_Trigger.PESCAINVALIDA Then @@ -115,49 +141,53 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) Else 304 Call WriteConsoleMsg(UserIndex, "Acércate a la costa para pescar.", e_FontTypeNames.FONTTYPE_INFO) 306 Call WriteMacroTrabajoToggle(UserIndex, False) + End If - + Else -308 Call WriteConsoleMsg(UserIndex, "Zona de pesca no Autorizada. Busca otro lugar para hacerlo.", e_FontTypeNames.FONTTYPE_INFO) +308 ' Msg596=Zona de pesca no Autorizada. Busca otro lugar para hacerlo. + Call WriteLocaleMsg(UserIndex, "596", e_FontTypeNames.FONTTYPE_INFO) 310 Call WriteMacroTrabajoToggle(UserIndex, False) + End If - + 312 Case e_ToolsSubtype.eFishingNet Call HandleFishingNet(UserIndex) + End Select - + Case e_Skill.Carpinteria + 'Veo cual es la cantidad máxima que puede construir de una Dim cantidad_maxima As Long - + If UserList(UserIndex).clase = e_Class.Trabajador Then cantidad_maxima = UserList(UserIndex).Stats.UserSkills(e_Skill.Carpinteria) / 10 + If cantidad_maxima = 0 Then cantidad_maxima = 1 Else 'Si no hace de a 1 cantidad_maxima = 1 + End If - + Call CarpinteroConstruirItem(UserIndex, UserList(UserIndex).Trabajo.Item, UserList(UserIndex).Trabajo.cantidad, cantidad_maxima) Case e_Skill.Mineria - + 454 If .Invent.HerramientaEqpObjIndex = 0 Then Exit Sub - 456 If ObjData(.Invent.HerramientaEqpObjIndex).OBJType <> e_OBJType.otHerramientas Then Exit Sub - + 'Check interval 458 If Not IntervaloPermiteTrabajarExtraer(UserIndex) Then Exit Sub 460 Select Case ObjData(.Invent.HerramientaEqpObjIndex).Subtipo - + Case 8 ' Herramientas de Mineria - Piquete - 'Target whatever is in the tile 462 Call LookatTile(UserIndex, .Pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y) - 464 DummyInt = MapData(.Pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.ObjIndex - + 466 If DummyInt > 0 Then 'Check distance @@ -176,19 +206,24 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) ' Se usa para el yacimiento de Oro. 476 If ObjData(DummyInt).Dorada <> ObjData(.invent.HerramientaEqpObjIndex).Dorada Or ObjData(DummyInt).Blodium <> ObjData(.invent.HerramientaEqpObjIndex).Blodium Then 478 + If ObjData(DummyInt).Blodium <> ObjData(.invent.HerramientaEqpObjIndex).Blodium Then - Call WriteConsoleMsg(UserIndex, "El pico minero especial solo puede extraer minerales del yacimiento de Blodium.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg597=El pico minero especial solo puede extraer minerales del yacimiento de Blodium. + Call WriteLocaleMsg(UserIndex, "597", e_FontTypeNames.FONTTYPE_INFO) Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub Else Call WriteConsoleMsg(UserIndex, "El pico dorado solo puede extraer minerales del yacimiento de Oro.", e_FontTypeNames.FONTTYPE_INFO) 480 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub + End If + End If 482 If MapData(.Pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.amount <= 0 Then -484 Call WriteConsoleMsg(UserIndex, "Este yacimiento no tiene mas minerales para entregar.", e_FontTypeNames.FONTTYPE_INFO) +484 ' Msg598=Este yacimiento no tiene más minerales para entregar. + Call WriteLocaleMsg(UserIndex, "598", e_FontTypeNames.FONTTYPE_INFO) 486 Call WriteWorkRequestTarget(UserIndex, 0) 488 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Sub @@ -196,15 +231,16 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) End If 490 Call DoMineria(UserIndex, .Trabajo.Target_X, .Trabajo.Target_Y, ObjData(.Invent.HerramientaEqpObjIndex).Dorada = 1) - Else -492 Call WriteConsoleMsg(UserIndex, "Ahí no hay ningún yacimiento.", e_FontTypeNames.FONTTYPE_INFO) +492 ' Msg599=Ahí no hay ningún yacimiento. + Call WriteLocaleMsg(UserIndex, "599", e_FontTypeNames.FONTTYPE_INFO) 494 Call WriteWorkRequestTarget(UserIndex, 0) End If Else -496 Call WriteConsoleMsg(UserIndex, "Ahí no hay ningun yacimiento.", e_FontTypeNames.FONTTYPE_INFO) +496 ' Msg600=Ahí no hay ningún yacimiento. + Call WriteLocaleMsg(UserIndex, "600", e_FontTypeNames.FONTTYPE_INFO) 498 Call WriteWorkRequestTarget(UserIndex, 0) End If @@ -214,18 +250,16 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) Case e_Skill.Talar 350 If .Invent.HerramientaEqpObjIndex = 0 Then Exit Sub - 352 If ObjData(.Invent.HerramientaEqpObjIndex).OBJType <> e_OBJType.otHerramientas Then Exit Sub - + 'Check interval 354 If Not IntervaloPermiteTrabajarExtraer(UserIndex) Then Exit Sub 356 Select Case ObjData(.Invent.HerramientaEqpObjIndex).Subtipo - - Case 6 ' Herramientas de Carpinteria - Hacha + Case 6 ' Herramientas de Carpinteria - Hacha 358 DummyInt = MapData(.Pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.ObjIndex - + 360 If DummyInt > 0 Then 362 If Abs(.Pos.X - .Trabajo.Target_X) + Abs(.Pos.Y - .Trabajo.Target_Y) > 1 Then 364 Call WriteLocaleMsg(UserIndex, "8", e_FontTypeNames.FONTTYPE_INFO) @@ -234,28 +268,34 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) Exit Sub End If - + 368 If .Pos.X = .Trabajo.Target_X And .Pos.Y = .Trabajo.Target_Y Then -370 Call WriteConsoleMsg(UserIndex, "No podés talar desde allí.", e_FontTypeNames.FONTTYPE_INFO) +370 ' Msg600=No podés talar desde allí. + Call WriteLocaleMsg(UserIndex, "600", e_FontTypeNames.FONTTYPE_INFO) 372 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub End If 374 If ObjData(DummyInt).Elfico <> ObjData(.Invent.HerramientaEqpObjIndex).Elfico Then -376 Call WriteConsoleMsg(UserIndex, "Sólo puedes talar árboles elficos con un hacha élfica.", e_FontTypeNames.FONTTYPE_INFO) +376 ' Msg601=Sólo puedes talar árboles elficos con un hacha élfica. + Call WriteLocaleMsg(UserIndex, "601", e_FontTypeNames.FONTTYPE_INFO) 378 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub End If + 379 If ObjData(DummyInt).Pino <> ObjData(.invent.HerramientaEqpObjIndex).Pino Then - Call WriteConsoleMsg(UserIndex, "Sólo puedes talar árboles de pino nudoso con un hacha de pino.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg602=Sólo puedes talar árboles de pino nudoso con un hacha de pino. + Call WriteLocaleMsg(UserIndex, "602", e_FontTypeNames.FONTTYPE_INFO) Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub End If + 380 If MapData(.Pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.amount <= 0 Then -382 Call WriteConsoleMsg(UserIndex, "El árbol ya no te puede entregar mas leña.", e_FontTypeNames.FONTTYPE_INFO) +382 ' Msg603=El árbol ya no te puede entregar más leña. + Call WriteLocaleMsg(UserIndex, "603", e_FontTypeNames.FONTTYPE_INFO) 384 Call WriteWorkRequestTarget(UserIndex, 0) 386 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Sub @@ -269,7 +309,8 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) End If Else -392 Call WriteConsoleMsg(UserIndex, "No hay ningún árbol ahí.", e_FontTypeNames.FONTTYPE_INFO) +392 ' Msg604=No hay ningún árbol ahí. + Call WriteLocaleMsg(UserIndex, "604", e_FontTypeNames.FONTTYPE_INFO) 394 Call WriteWorkRequestTarget(UserIndex, 0) 396 If UserList(UserIndex).Counters.Trabajando > 1 Then @@ -278,14 +319,14 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) End If End If - + End Select - + 574 Case FundirMetal 'UGLY!!! This is a constant, not a skill!! - + 'Check interval 576 If Not IntervaloPermiteTrabajarConstruir(UserIndex) Then Exit Sub - + 'Check there is a proper item there 580 If .flags.TargetObj > 0 Then 582 If ObjData(.flags.TargetObj).OBJType = e_OBJType.otFragua Then @@ -295,29 +336,28 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) Exit Sub End If - + ''chequeamos que no se zarpe duplicando oro 586 If .Invent.Object(.flags.TargetObjInvSlot).ObjIndex <> .flags.TargetObjInvIndex Then 588 If .Invent.Object(.flags.TargetObjInvSlot).ObjIndex = 0 Or .Invent.Object(.flags.TargetObjInvSlot).amount = 0 Then -590 Call WriteConsoleMsg(UserIndex, "No tienes más minerales", e_FontTypeNames.FONTTYPE_INFO) +590 ' Msg605=No tienes más minerales + Call WriteLocaleMsg(UserIndex, "605", e_FontTypeNames.FONTTYPE_INFO) 592 Call WriteWorkRequestTarget(UserIndex, 0) Exit Sub End If - + ''FUISTE 594 Call WriteShowMessageBox(UserIndex, "Has sido expulsado por el sistema anti cheats.") - 596 Call CloseSocket(UserIndex) Exit Sub End If - + 598 Call FundirMineral(UserIndex) - Else - -600 Call WriteConsoleMsg(UserIndex, "Ahí no hay ninguna fragua.", e_FontTypeNames.FONTTYPE_INFO) +600 ' Msg606=Ahí no hay ninguna fragua. + Call WriteLocaleMsg(UserIndex, "606", e_FontTypeNames.FONTTYPE_INFO) 602 Call WriteWorkRequestTarget(UserIndex, 0) 604 If UserList(UserIndex).Counters.Trabajando > 1 Then @@ -328,8 +368,8 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) End If Else - -608 Call WriteConsoleMsg(UserIndex, "Ahí no hay ninguna fragua.", e_FontTypeNames.FONTTYPE_INFO) +608 ' Msg606=Ahí no hay ninguna fragua. + Call WriteLocaleMsg(UserIndex, "606", e_FontTypeNames.FONTTYPE_INFO) 610 Call WriteWorkRequestTarget(UserIndex, 0) 612 If UserList(UserIndex).Counters.Trabajando > 1 Then @@ -338,49 +378,62 @@ Public Sub Trabajar(ByVal UserIndex As Integer, ByVal Skill As e_Skill) End If End If + End Select + End With + End Sub Public Sub DoPermanecerOculto(ByVal UserIndex As Integer) + '******************************************************** 'Autor: Nacho (Integer) 'Last Modif: 28/01/2007 'Chequea si ya debe mostrarse 'Pablo (ToxicWaste): Cambie los ordenes de prioridades porque sino no andaba. '******************************************************** - On Error GoTo DoPermanecerOculto_Err - + 100 With UserList(UserIndex) + Dim velocidadOcultarse As Integer + velocidadOcultarse = 1 + 'HarThaoS: Si tiene armadura de cazador, dependiendo skills vemos cuanto tiempo se oculta If .clase = e_Class.Hunter Then If TieneArmaduraCazador(UserIndex) Then + Select Case .Stats.UserSkills(e_Skill.Ocultarse) + Case Is = 100 Exit Sub + Case Is < 100 velocidadOcultarse = RandomNumber(0, 1) + End Select + End If + End If - + 104 .Counters.TiempoOculto = .Counters.TiempoOculto - velocidadOcultarse -106 If .Counters.TiempoOculto <= 0 Then +106 If .Counters.TiempoOculto <= 0 Then 108 .Counters.TiempoOculto = 0 110 .flags.Oculto = 0 112 If .flags.Navegando = 1 Then - 114 If .clase = e_Class.Pirat Then ' Pierde la apariencia de fragata fantasmal 116 Call EquiparBarco(UserIndex) -124 Call WriteConsoleMsg(UserIndex, "¡Has recuperado tu apariencia normal!", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg592=¡Has recuperado tu apariencia normal! + Call WriteLocaleMsg(UserIndex, "592", e_FontTypeNames.FONTTYPE_INFO) 126 Call ChangeUserChar(UserIndex, .Char.body, .Char.head, .Char.Heading, NingunArma, NingunEscudo, NingunCasco, NoCart) Call RefreshCharStatus(UserIndex) + End If Else @@ -392,18 +445,16 @@ Public Sub DoPermanecerOculto(ByVal UserIndex As Integer) End If End If - + End If - + End With Exit Sub - DoPermanecerOculto_Err: 134 Call TraceError(Err.Number, Err.Description, "Trabajo.DoPermanecerOculto", Erl) - 136 - + End Sub Public Sub DoOcultarse(ByVal UserIndex As Integer) @@ -413,61 +464,67 @@ Public Sub DoOcultarse(ByVal UserIndex As Integer) On Error GoTo ErrHandler Dim Suerte As Double + Dim res As Integer + Dim Skill As Integer - + 100 With UserList(UserIndex) 102 If .flags.Navegando = 1 And .clase <> e_Class.Pirat Then 104 Call WriteLocaleMsg(UserIndex, "56", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If + If GlobalFrameTime - .Counters.LastAttackTime < HideAfterHitTime Then Exit Sub + End If - - + 106 Skill = .Stats.UserSkills(e_Skill.Ocultarse) 108 Suerte = (((0.000002 * Skill - 0.0002) * Skill + 0.0064) * Skill + 0.1124) * 100 110 res = RandomNumber(1, 100) 112 If res <= Suerte Then - 114 .flags.Oculto = 1 116 Suerte = (-0.000001 * (100 - Skill) ^ 3) 118 Suerte = Suerte + (0.00009229 * (100 - Skill) ^ 2) 120 Suerte = Suerte + (-0.0088 * (100 - Skill)) 122 Suerte = Suerte + (0.9571) 124 Suerte = Suerte * IntervaloOculto - + Select Case .clase + Case e_Class.Bandit, e_Class.Thief 128 .Counters.TiempoOculto = Int(Suerte / 2) - + Case e_Class.Hunter 130 .Counters.TiempoOculto = Int(Suerte / 2) - + Case Else 129 .Counters.TiempoOculto = Int(Suerte / 3) + End Select - + 138 If .flags.Navegando = 1 Then 140 If .clase = e_Class.Pirat Then 142 .Char.Body = iFragataFantasmal 144 .flags.Oculto = 1 146 .Counters.TiempoOculto = IntervaloOculto - 148 Call ChangeUserChar(UserIndex, .Char.body, .Char.head, .Char.Heading, NingunArma, NingunEscudo, NingunCasco, NoCart) 150 Call WriteConsoleMsg(UserIndex, "¡Te has camuflado como barco fantasma!", e_FontTypeNames.FONTTYPE_INFO) Call RefreshCharStatus(UserIndex) + End If + Else UserList(UserIndex).Counters.timeFx = 3 152 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, True, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y)) 'Call WriteConsoleMsg(UserIndex, "¡Te has escondido entre las sombras!", e_FontTypeNames.FONTTYPE_INFO) 154 Call WriteLocaleMsg(UserIndex, "55", e_FontTypeNames.FONTTYPE_INFO) - End If + End If 156 Call SubirSkill(UserIndex, Ocultarse) Else @@ -476,16 +533,16 @@ Public Sub DoOcultarse(ByVal UserIndex As Integer) 'Call WriteConsoleMsg(UserIndex, "¡No has logrado esconderte!", e_FontTypeNames.FONTTYPE_INFO) 160 Call WriteLocaleMsg(UserIndex, "57", e_FontTypeNames.FONTTYPE_INFO) 162 .flags.UltimoMensaje = 4 + End If End If 164 .Counters.Ocultando = .Counters.Ocultando + 1 - + End With Exit Sub - ErrHandler: 166 Call LogError("Error en Sub DoOcultarse") @@ -494,154 +551,159 @@ End Sub Public Sub DoNavega(ByVal UserIndex As Integer, _ ByRef Barco As t_ObjData, _ ByVal Slot As Integer) - + On Error GoTo DoNavega_Err 100 With UserList(UserIndex) 102 If .Invent.BarcoObjIndex <> .Invent.Object(Slot).ObjIndex Then - 104 If Not EsGM(UserIndex) Then - + 106 Select Case Barco.Subtipo - + Case 2 'Galera - + 108 If .clase <> e_Class.Trabajador And .clase <> e_Class.Pirat Then 110 Call WriteConsoleMsg(UserIndex, "¡Solo Piratas y trabajadores pueden usar galera!", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If - + 112 Case 3 'Galeón - + 114 If .clase <> e_Class.Pirat Then 116 Call WriteConsoleMsg(UserIndex, "Solo los Piratas pueden usar Galeón!!", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If - + End Select - + End If - + Dim SkillNecesario As Byte - + 118 SkillNecesario = IIf(.clase = e_Class.Trabajador Or .clase = e_Class.Pirat, Barco.MinSkill \ 2, Barco.MinSkill) - + ' Tiene el skill necesario? 120 If .Stats.UserSkills(e_Skill.Navegacion) < SkillNecesario Then 122 Call WriteConsoleMsg(UserIndex, "Necesitas al menos " & SkillNecesario & " puntos en navegación para poder usar este " & IIf(Barco.Subtipo = 0, "traje", "barco") & ".", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If - + 124 If .Invent.BarcoObjIndex = 0 Then 126 Call WriteNavigateToggle(UserIndex, True) 128 .flags.Navegando = 1 Call TargetUpdateTerrain(.EffectOverTime) + End If - + 130 .Invent.BarcoObjIndex = .Invent.Object(Slot).ObjIndex 132 .Invent.BarcoSlot = Slot - + 134 If .flags.Montado > 0 Then 136 Call DoMontar(UserIndex, ObjData(.Invent.MonturaObjIndex), .Invent.MonturaSlot) + End If - + 138 If .flags.Mimetizado <> e_EstadoMimetismo.Desactivado Then 140 Call WriteConsoleMsg(UserIndex, "Pierdes el efecto del mimetismo.", e_FontTypeNames.FONTTYPE_INFO) 142 .Counters.Mimetismo = 0 144 .flags.Mimetizado = e_EstadoMimetismo.Desactivado Call RefreshCharStatus(UserIndex) + End If - - + 146 Call EquiparBarco(UserIndex) - Else 148 Call WriteNadarToggle(UserIndex, False) .flags.Navegando = 0 150 Call WriteNavigateToggle(UserIndex, False) - 152 Call TargetUpdateTerrain(.EffectOverTime) 154 .Invent.BarcoObjIndex = 0 156 .Invent.BarcoSlot = 0 - + 158 If .flags.Muerto = 0 Then 160 .Char.Head = .OrigChar.Head - + 162 If .Invent.ArmourEqpObjIndex > 0 Then 164 .Char.Body = ObtenerRopaje(UserIndex, ObjData(.Invent.ArmourEqpObjIndex)) Else Call SetNakedBody(UserList(userIndex)) + End If - + 168 If .Invent.EscudoEqpObjIndex > 0 Then .Char.ShieldAnim = ObjData(.Invent.EscudoEqpObjIndex).ShieldAnim 170 If .Invent.WeaponEqpObjIndex > 0 Then .Char.WeaponAnim = ObjData(.Invent.WeaponEqpObjIndex).WeaponAnim 174 If .Invent.HerramientaEqpObjIndex > 0 Then .Char.WeaponAnim = ObjData(.Invent.HerramientaEqpObjIndex).WeaponAnim 176 If .Invent.CascoEqpObjIndex > 0 Then .Char.CascoAnim = ObjData(.Invent.CascoEqpObjIndex).CascoAnim 177 If .invent.MagicoObjIndex > 0 Then If ObjData(.invent.MagicoObjIndex).Ropaje > 0 Then .Char.CartAnim = ObjData(.invent.MagicoObjIndex).Ropaje + End If + Else 178 .Char.Body = iCuerpoMuerto 180 .Char.Head = 0 182 Call ClearClothes(.Char) End If + Call ActualizarVelocidadDeUsuario(UserIndex) End If - + ' Volver visible 190 If .flags.Oculto = 1 And .flags.AdminInvisible = 0 And .flags.invisible = 0 Then 192 .flags.Oculto = 0 194 .Counters.TiempoOculto = 0 - 'Call WriteConsoleMsg(UserIndex, "Has vuelto a ser visible.", e_FontTypeNames.FONTTYPE_INFO) 196 Call WriteLocaleMsg(UserIndex, "307", e_FontTypeNames.FONTTYPE_INFO) 198 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, False, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y)) + End If 200 Call ChangeUserChar(UserIndex, .Char.body, .Char.head, .Char.Heading, .Char.WeaponAnim, .Char.ShieldAnim, .Char.CascoAnim, .Char.CartAnim) 202 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(e_FXSound.BARCA_SOUND, .Pos.X, .Pos.y)) - + End With - - Exit Sub + Exit Sub DoNavega_Err: 204 Call TraceError(Err.Number, Err.Description, "Trabajo.DoNavega", Erl) - 206 - + End Sub Public Sub FundirMineral(ByVal UserIndex As Integer) - + On Error GoTo FundirMineral_Err 100 If UserList(UserIndex).clase <> e_Class.Trabajador Then -102 Call WriteConsoleMsg(UserIndex, "Tu clase no tiene el conocimiento suficiente para trabajar este mineral.", e_FontTypeNames.FONTTYPE_INFO) +102 ' Msg607=Tu clase no tiene el conocimiento suficiente para trabajar este mineral. + Call WriteLocaleMsg(UserIndex, "607", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If - + 104 If UserList(userindex).flags.Privilegios And (e_PlayerType.Consejero Or e_PlayerType.SemiDios Or e_PlayerType.Dios) Then Exit Sub + End If 106 If UserList(UserIndex).flags.TargetObjInvIndex > 0 Then Dim SkillRequerido As Integer + 108 SkillRequerido = ObjData(UserList(UserIndex).flags.TargetObjInvIndex).MinSkill - -110 If ObjData(UserList(UserIndex).flags.TargetObjInvIndex).OBJType = e_OBJType.otMinerales And _ - UserList(UserIndex).Stats.UserSkills(e_Skill.Mineria) >= SkillRequerido Then - + +110 If ObjData(UserList(UserIndex).flags.TargetObjInvIndex).OBJType = e_OBJType.otMinerales And UserList(UserIndex).Stats.UserSkills(e_Skill.Mineria) >= SkillRequerido Then 112 Call DoLingotes(UserIndex) - 114 ElseIf SkillRequerido > 100 Then -116 Call WriteConsoleMsg(UserIndex, "Los mortales no pueden fundir este mineral.", e_FontTypeNames.FONTTYPE_INFO) - +116 ' Msg608=Los mortales no pueden fundir este mineral. + Call WriteLocaleMsg(UserIndex, "608", e_FontTypeNames.FONTTYPE_INFO) Else 118 Call WriteConsoleMsg(UserIndex, "No tenés conocimientos de minería suficientes para trabajar este mineral. Necesitas " & SkillRequerido & " puntos en minería.", e_FontTypeNames.FONTTYPE_INFO) @@ -649,27 +711,28 @@ Public Sub FundirMineral(ByVal UserIndex As Integer) End If - Exit Sub - FundirMineral_Err: 120 Call TraceError(Err.Number, Err.Description, "Trabajo.FundirMineral", Erl) 122 - + End Sub -Function TieneObjetos(ByVal ItemIndex As Integer, ByVal cant As Integer, ByVal UserIndex As Integer) As Boolean +Function TieneObjetos(ByVal ItemIndex As Integer, _ + ByVal cant As Integer, _ + ByVal UserIndex As Integer) As Boolean + On Error GoTo TieneObjetos_Err - Dim i As Long Dim Total As Long - + If (ItemIndex = GOLD_OBJ_INDEX) Then Total = UserList(UserIndex).Stats.GLD + End If - + 100 For i = 1 To UserList(UserIndex).CurrentInventorySlots 102 If UserList(UserIndex).Invent.Object(i).ObjIndex = ItemIndex Then @@ -684,83 +747,86 @@ Function TieneObjetos(ByVal ItemIndex As Integer, ByVal cant As Integer, ByVal U Exit Function End If - - - Exit Function + Exit Function TieneObjetos_Err: 112 Call TraceError(Err.Number, Err.Description, "Trabajo.TieneObjetos", Erl) 114 - + End Function -Function QuitarObjetos(ByVal ItemIndex As Integer, ByVal cant As Integer, ByVal UserIndex As Integer) As Boolean +Function QuitarObjetos(ByVal ItemIndex As Integer, _ + ByVal cant As Integer, _ + ByVal UserIndex As Integer) As Boolean + On Error GoTo QuitarObjetos_Err - + 100 With UserList(UserIndex) + Dim i As Long - + 102 For i = 1 To .CurrentInventorySlots - + 104 If .Invent.Object(i).ObjIndex = ItemIndex Then - 106 .Invent.Object(i).amount = .Invent.Object(i).amount - cant - + 108 If .Invent.Object(i).amount <= 0 Then 110 If .Invent.Object(i).Equipped Then 112 Call Desequipar(UserIndex, i) + End If - + 114 cant = Abs(.Invent.Object(i).amount) 116 .Invent.Object(i).amount = 0 118 .Invent.Object(i).ObjIndex = 0 Else 120 cant = 0 - + End If 122 Call UpdateUserInv(False, UserIndex, i) - + 124 If cant = 0 Then 126 QuitarObjetos = True Exit Function + End If - + End If - + 128 Next i - + If (ItemIndex = GOLD_OBJ_INDEX And cant > 0) Then .Stats.GLD = .Stats.GLD - cant - + If (.Stats.GLD < 0) Then cant = Abs(.Stats.GLD) - .Stats.GLD = 0 + End If - + Call WriteUpdateGold(UserIndex) - + If (cant = 0) Then QuitarObjetos = True Exit Function + End If + End If - + End With - - Exit Function + Exit Function QuitarObjetos_Err: 130 Call TraceError(Err.Number, Err.Description, "Trabajo.QuitarObjetos", Erl) 132 - + End Function Sub HerreroQuitarMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) - + On Error GoTo HerreroQuitarMateriales_Err - 100 If ObjData(ItemIndex).LingH > 0 Then Call QuitarObjetos(LingoteHierro, ObjData(ItemIndex).LingH, UserIndex) 102 If ObjData(ItemIndex).LingP > 0 Then Call QuitarObjetos(LingotePlata, ObjData(ItemIndex).LingP, UserIndex) @@ -768,13 +834,17 @@ Sub HerreroQuitarMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integ 106 If ObjData(ItemIndex).Coal > 0 Then Call QuitarObjetos(e_Minerales.Coal, ObjData(ItemIndex).Coal, UserIndex) Exit Sub HerreroQuitarMateriales_Err: - Call TraceError(Err.Number, Err.Description, "Trabajo.HerreroQuitarMateriales", Erl) + Call TraceError(Err.Number, Err.Description, "Trabajo.HerreroQuitarMateriales", Erl) + End Sub -Sub CarpinteroQuitarMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integer, ByVal Cantidad As Integer, ByVal CantidadElfica As Integer, ByVal CantidadPino As Integer) - +Sub CarpinteroQuitarMateriales(ByVal UserIndex As Integer, _ + ByVal ItemIndex As Integer, _ + ByVal Cantidad As Integer, _ + ByVal CantidadElfica As Integer, _ + ByVal CantidadPino As Integer) + On Error GoTo CarpinteroQuitarMateriales_Err - 100 If ObjData(ItemIndex).Madera > 0 Then Call QuitarObjetos(Wood, Cantidad, UserIndex) 102 If ObjData(ItemIndex).MaderaElfica > 0 Then Call QuitarObjetos(ElvenWood, CantidadElfica, UserIndex) @@ -782,12 +852,12 @@ Sub CarpinteroQuitarMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As In Exit Sub CarpinteroQuitarMateriales_Err: 106 Call TraceError(Err.Number, Err.Description, "Trabajo.CarpinteroQuitarMateriales", Erl) + End Sub Sub AlquimistaQuitarMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) - + On Error GoTo AlquimistaQuitarMateriales_Err - 100 If ObjData(ItemIndex).Raices > 0 Then Call QuitarObjetos(Raices, ObjData(ItemIndex).Raices, UserIndex) If ObjData(ItemIndex).Botella > 0 Then Call QuitarObjetos(Botella, ObjData(ItemIndex).Botella, UserIndex) @@ -810,19 +880,16 @@ Sub AlquimistaQuitarMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As In If ObjData(ItemIndex).HojasRojas > 0 Then Call QuitarObjetos(HojasRojas, ObjData(ItemIndex).HojasRojas, UserIndex) If ObjData(ItemIndex).SemillasPros > 0 Then Call QuitarObjetos(SemillasPros, ObjData(ItemIndex).SemillasPros, UserIndex) If ObjData(ItemIndex).Pimiento > 0 Then Call QuitarObjetos(Pimiento, ObjData(ItemIndex).Pimiento, UserIndex) - Exit Sub - AlquimistaQuitarMateriales_Err: 102 Call TraceError(Err.Number, Err.Description, "Trabajo.AlquimistaQuitarMateriales", Erl) 104 - + End Sub Sub SastreQuitarMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) - + On Error GoTo SastreQuitarMateriales_Err - 100 If ObjData(ItemIndex).PielLobo > 0 Then Call QuitarObjetos(PieldeLobo, ObjData(ItemIndex).PielLobo, UserIndex) 102 If ObjData(ItemIndex).PielOsoPardo > 0 Then Call QuitarObjetos(PieldeOsoPardo, ObjData(ItemIndex).PielOsoPardo, UserIndex) @@ -830,21 +897,22 @@ Sub SastreQuitarMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Intege 106 If ObjData(ItemIndex).PielLoboNegro > 0 Then Call QuitarObjetos(PielLoboNegro, ObjData(ItemIndex).PielLoboNegro, UserIndex) 107 If ObjData(ItemIndex).PielTigre > 0 Then Call QuitarObjetos(PielTigre, ObjData(ItemIndex).PielTigre, UserIndex) 108 If ObjData(ItemIndex).PielTigreBengala > 0 Then Call QuitarObjetos(PielTigreBengala, ObjData(ItemIndex).PielTigreBengala, UserIndex) - - Exit Sub - SastreQuitarMateriales_Err: - Call TraceError(Err.Number, Err.Description, "Trabajo.SastreQuitarMateriales", Erl) + Call TraceError(Err.Number, Err.Description, "Trabajo.SastreQuitarMateriales", Erl) + End Sub -Function CarpinteroTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integer, ByVal cantidad As Long) As Boolean - +Function CarpinteroTieneMateriales(ByVal UserIndex As Integer, _ + ByVal ItemIndex As Integer, _ + ByVal Cantidad As Long) As Boolean + On Error GoTo CarpinteroTieneMateriales_Err - + 100 If ObjData(ItemIndex).Madera > 0 Then 102 If Not TieneObjetos(Wood, ObjData(ItemIndex).Madera * Cantidad, UserIndex) Then -104 Call WriteConsoleMsg(UserIndex, "No tenes suficientes madera.", e_FontTypeNames.FONTTYPE_INFO) +104 ' Msg609=No tenés suficiente madera. + Call WriteLocaleMsg(UserIndex, "609", e_FontTypeNames.FONTTYPE_INFO) 106 CarpinteroTieneMateriales = False 108 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function @@ -852,44 +920,47 @@ Function CarpinteroTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex A End If End If - + 110 If ObjData(ItemIndex).MaderaElfica > 0 Then 112 If Not TieneObjetos(ElvenWood, ObjData(ItemIndex).MaderaElfica * Cantidad, UserIndex) Then -114 Call WriteConsoleMsg(UserIndex, "No tenes suficiente madera elfica.", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg610=No tenés suficiente madera élfica. + Call WriteLocaleMsg(UserIndex, "610", e_FontTypeNames.FONTTYPE_INFO) 116 CarpinteroTieneMateriales = False 118 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If End If - + 120 If ObjData(ItemIndex).MaderaPino > 0 Then 122 If Not TieneObjetos(PinoWood, ObjData(ItemIndex).MaderaPino * Cantidad, UserIndex) Then -124 Call WriteConsoleMsg(UserIndex, "No tenes suficiente madera pino nudoso.", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg611=No tenés suficiente madera de pino nudoso. + Call WriteLocaleMsg(UserIndex, "611", e_FontTypeNames.FONTTYPE_INFO) 126 CarpinteroTieneMateriales = False 128 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If End If - + CarpinteroTieneMateriales = True - Exit Function - CarpinteroTieneMateriales_Err: Call TraceError(Err.Number, Err.Description + " UI:" + UserIndex + " Item: " + ItemIndex, "Trabajo.CarpinteroTieneMateriales", Erl) - + End Function -Function AlquimistaTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) As Boolean - +Function AlquimistaTieneMateriales(ByVal UserIndex As Integer, _ + ByVal ItemIndex As Integer) As Boolean + On Error GoTo AlquimistaTieneMateriales_Err - - + 100 If ObjData(ItemIndex).Raices > 0 Then 102 If Not TieneObjetos(Raices, ObjData(ItemIndex).Raices, UserIndex) Then -104 Call WriteConsoleMsg(UserIndex, "No tenes suficientes raices.", e_FontTypeNames.FONTTYPE_INFO) +104 ' Msg612=No tenés suficientes raíces. + Call WriteLocaleMsg(UserIndex, "612", e_FontTypeNames.FONTTYPE_INFO) 106 AlquimistaTieneMateriales = False 108 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function @@ -897,310 +968,348 @@ Function AlquimistaTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex A End If End If - + If ObjData(ItemIndex).Botella > 0 Then - If Not TieneObjetos(Botella, ObjData(ItemIndex).Botella, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Botellas.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Botella, ObjData(ItemIndex).Botella, UserIndex) Then + ' Msg613=No tenés suficientes botellas. + Call WriteLocaleMsg(UserIndex, "613", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).Cuchara > 0 Then - If Not TieneObjetos(Cuchara, ObjData(ItemIndex).Cuchara, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Cucharas.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Cuchara, ObjData(ItemIndex).Cuchara, UserIndex) Then + ' Msg614=No tenés suficientes cucharas. + Call WriteLocaleMsg(UserIndex, "614", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).Mortero > 0 Then - If Not TieneObjetos(Mortero, ObjData(ItemIndex).Mortero, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Mortero.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Mortero, ObjData(ItemIndex).Mortero, UserIndex) Then + ' Msg615=No tenés suficientes morteros. + Call WriteLocaleMsg(UserIndex, "615", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).FrascoAlq > 0 Then - If Not TieneObjetos(FrascoAlq, ObjData(ItemIndex).FrascoAlq, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Frascos de alquimistas.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(FrascoAlq, ObjData(ItemIndex).FrascoAlq, UserIndex) Then + ' Msg616=No tenés suficientes frascos de alquimistas. + Call WriteLocaleMsg(UserIndex, "616", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If + If ObjData(ItemIndex).FrascoElixir > 0 Then - If Not TieneObjetos(FrascoElixir, ObjData(ItemIndex).FrascoElixir, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Frascos de elixir superior.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(FrascoElixir, ObjData(ItemIndex).FrascoElixir, UserIndex) Then + ' Msg617=No tenés suficientes frascos de elixir superior. + Call WriteLocaleMsg(UserIndex, "617", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If + If ObjData(ItemIndex).Dosificador > 0 Then - If Not TieneObjetos(Dosificador, ObjData(ItemIndex).Dosificador, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Dosificadores.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Dosificador, ObjData(ItemIndex).Dosificador, UserIndex) Then + ' Msg618=No tenés suficientes dosificadores. + Call WriteLocaleMsg(UserIndex, "618", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).Orquidea > 0 Then - If Not TieneObjetos(Orquidea, ObjData(ItemIndex).Orquidea, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Orquídeas Silvestres.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Orquidea, ObjData(ItemIndex).Orquidea, UserIndex) Then + ' Msg619=No tenés suficientes orquídeas silvestres. + Call WriteLocaleMsg(UserIndex, "619", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If + If ObjData(ItemIndex).Carmesi > 0 Then - If Not TieneObjetos(Carmesi, ObjData(ItemIndex).Carmesi, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Raíces Carmesí.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Carmesi, ObjData(ItemIndex).Carmesi, UserIndex) Then + ' Msg620=No tenés suficientes raíces carmesí. + Call WriteLocaleMsg(UserIndex, "620", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).HongoDeLuz > 0 Then - If Not TieneObjetos(HongoDeLuz, ObjData(ItemIndex).HongoDeLuz, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Hongos de Luz.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(HongoDeLuz, ObjData(ItemIndex).HongoDeLuz, UserIndex) Then + ' Msg621=No tenés suficientes hongos de luz. + Call WriteLocaleMsg(UserIndex, "621", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).Esporas > 0 Then - If Not TieneObjetos(Esporas, ObjData(ItemIndex).Esporas, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Esporas Silvestres.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Esporas, ObjData(ItemIndex).Esporas, UserIndex) Then + ' Msg622=No tenés suficientes esporas silvestres. + Call WriteLocaleMsg(UserIndex, "622", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).Tuna > 0 Then - If Not TieneObjetos(Tuna, ObjData(ItemIndex).Tuna, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Tunas Silvestres.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Tuna, ObjData(ItemIndex).Tuna, UserIndex) Then + ' Msg623=No tenés suficientes tunas silvestres. + Call WriteLocaleMsg(UserIndex, "623", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).Cala > 0 Then - If Not TieneObjetos(Cala, ObjData(ItemIndex).Cala, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Calas Venenosas.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Cala, ObjData(ItemIndex).Cala, UserIndex) Then + ' Msg624=No tenés suficientes calas venenosas. + Call WriteLocaleMsg(UserIndex, "624", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).ColaDeZorro > 0 Then - If Not TieneObjetos(ColaDeZorro, ObjData(ItemIndex).ColaDeZorro, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Colas de Zorro.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(ColaDeZorro, ObjData(ItemIndex).ColaDeZorro, UserIndex) Then + ' Msg625=No tenés suficientes colas de zorro. + Call WriteLocaleMsg(UserIndex, "625", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).FlorOceano > 0 Then - If Not TieneObjetos(FlorOceano, ObjData(ItemIndex).FlorOceano, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Flores del óceano.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(FlorOceano, ObjData(ItemIndex).FlorOceano, UserIndex) Then + ' Msg626=No tenés suficientes flores del óceano. + Call WriteLocaleMsg(UserIndex, "626", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).FlorRoja > 0 Then - If Not TieneObjetos(FlorRoja, ObjData(ItemIndex).FlorRoja, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Flores Roja.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(FlorRoja, ObjData(ItemIndex).FlorRoja, UserIndex) Then + ' Msg627=No tenés suficientes flores rojas. + Call WriteLocaleMsg(UserIndex, "627", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).Hierva > 0 Then - If Not TieneObjetos(Hierva, ObjData(ItemIndex).Hierva, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Hiervas de Sangre.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Hierva, ObjData(ItemIndex).Hierva, UserIndex) Then + ' Msg628=No tenés suficientes hierbas de sangre. + Call WriteLocaleMsg(UserIndex, "628", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).HojasDeRin > 0 Then - If Not TieneObjetos(HojasDeRin, ObjData(ItemIndex).HojasDeRin, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Hojas de Rin.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(HojasDeRin, ObjData(ItemIndex).HojasDeRin, UserIndex) Then + ' Msg629=No tenés suficientes hojas de rin. + Call WriteLocaleMsg(UserIndex, "629", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).HojasRojas > 0 Then - If Not TieneObjetos(HojasRojas, ObjData(ItemIndex).HojasRojas, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Hojas Rojas.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(HojasRojas, ObjData(ItemIndex).HojasRojas, UserIndex) Then + ' Msg630=No tenés suficientes hojas rojas. + Call WriteLocaleMsg(UserIndex, "630", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).SemillasPros > 0 Then - If Not TieneObjetos(SemillasPros, ObjData(ItemIndex).SemillasPros, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Semillas Prosperas.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(SemillasPros, ObjData(ItemIndex).SemillasPros, UserIndex) Then + ' Msg631=No tenés suficientes semillas prósperas. + Call WriteLocaleMsg(UserIndex, "631", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - + If ObjData(ItemIndex).Pimiento > 0 Then - If Not TieneObjetos(Pimiento, ObjData(ItemIndex).Pimiento, UserIndex) Then - Call WriteConsoleMsg(UserIndex, "No tenes suficientes Pimientos Muerte.", e_FontTypeNames.FONTTYPE_INFO) - AlquimistaTieneMateriales = False - Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Function - - End If + If Not TieneObjetos(Pimiento, ObjData(ItemIndex).Pimiento, UserIndex) Then + ' Msg632=No tenés suficientes Pimientos Muerte. + Call WriteLocaleMsg(UserIndex, "632", e_FontTypeNames.FONTTYPE_INFO) + AlquimistaTieneMateriales = False + Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Function + + End If End If - -110 AlquimistaTieneMateriales = True - +110 AlquimistaTieneMateriales = True Exit Function - AlquimistaTieneMateriales_Err: 112 Call TraceError(Err.Number, Err.Description, "Trabajo.AlquimistaTieneMateriales", Erl) 114 - + End Function -Function SastreTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) As Boolean - +Function SastreTieneMateriales(ByVal UserIndex As Integer, _ + ByVal ItemIndex As Integer) As Boolean + On Error GoTo SastreTieneMateriales_Err - + 100 If ObjData(ItemIndex).PielLobo > 0 Then 102 If Not TieneObjetos(PieldeLobo, ObjData(ItemIndex).PielLobo, UserIndex) Then -104 Call WriteConsoleMsg(UserIndex, "No tenes suficientes pieles de lobo.", e_FontTypeNames.FONTTYPE_INFO) +104 ' Msg633=No tenés suficientes pieles de lobo. + Call WriteLocaleMsg(UserIndex, "633", e_FontTypeNames.FONTTYPE_INFO) 106 SastreTieneMateriales = False 108 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If + End If - + 110 If ObjData(ItemIndex).PielOsoPardo > 0 Then 112 If Not TieneObjetos(PieldeOsoPardo, ObjData(ItemIndex).PielOsoPardo, UserIndex) Then -114 Call WriteConsoleMsg(UserIndex, "No tenes suficientes pieles de oso pardo.", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg634=No tenés suficientes pieles de oso pardo. + Call WriteLocaleMsg(UserIndex, "634", e_FontTypeNames.FONTTYPE_INFO) 116 SastreTieneMateriales = False 118 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If + End If - + 120 If ObjData(ItemIndex).PielOsoPolaR > 0 Then 122 If Not TieneObjetos(PieldeOsoPolar, ObjData(ItemIndex).PielOsoPolaR, UserIndex) Then -124 Call WriteConsoleMsg(UserIndex, "No tenes suficientes pieles de oso polar.", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg635=No tenés suficientes pieles de oso polar. + Call WriteLocaleMsg(UserIndex, "635", e_FontTypeNames.FONTTYPE_INFO) 126 SastreTieneMateriales = False 128 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If + End If - + 130 If ObjData(ItemIndex).PielLoboNegro > 0 Then 132 If Not TieneObjetos(PielLoboNegro, ObjData(ItemIndex).PielLoboNegro, UserIndex) Then -134 Call WriteConsoleMsg(UserIndex, "No tenes suficientes pieles de lobo negro.", e_FontTypeNames.FONTTYPE_INFO) +134 ' Msg636=No tenés suficientes pieles de lobo negro. + Call WriteLocaleMsg(UserIndex, "636", e_FontTypeNames.FONTTYPE_INFO) 136 SastreTieneMateriales = False 138 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If - End If + End If 141 If ObjData(ItemIndex).PielTigre > 0 Then 142 If Not TieneObjetos(PielTigre, ObjData(ItemIndex).PielTigre, UserIndex) Then -143 Call WriteConsoleMsg(UserIndex, "No tenes suficientes pieles de tigre.", e_FontTypeNames.FONTTYPE_INFO) +143 ' Msg637=No tenés suficientes pieles de tigre. + Call WriteLocaleMsg(UserIndex, "637", e_FontTypeNames.FONTTYPE_INFO) 144 SastreTieneMateriales = False 145 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If + End If - -146 If ObjData(ItemIndex).PielTigreBengala > 0 Then + +146 If ObjData(ItemIndex).PielTigreBengala > 0 Then 147 If Not TieneObjetos(PielTigreBengala, ObjData(ItemIndex).PielTigreBengala, UserIndex) Then -148 Call WriteConsoleMsg(UserIndex, "No tenes suficientes pieles de tigre de bengala.", e_FontTypeNames.FONTTYPE_INFO) +148 ' Msg638=No tenés suficientes pieles de tigre de bengala. + Call WriteLocaleMsg(UserIndex, "638", e_FontTypeNames.FONTTYPE_INFO) 149 SastreTieneMateriales = False 150 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If + End If -154 SastreTieneMateriales = True - +154 SastreTieneMateriales = True Exit Function - SastreTieneMateriales_Err: - Call TraceError(Err.Number, Err.Description, "Trabajo.SastreTieneMateriales", Erl) + Call TraceError(Err.Number, Err.Description, "Trabajo.SastreTieneMateriales", Erl) + End Function -Function HerreroTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) As Boolean - +Function HerreroTieneMateriales(ByVal UserIndex As Integer, _ + ByVal ItemIndex As Integer) As Boolean + On Error GoTo HerreroTieneMateriales_Err - 100 If ObjData(ItemIndex).LingH > 0 Then 102 If Not TieneObjetos(LingoteHierro, ObjData(ItemIndex).LingH, UserIndex) Then -104 Call WriteConsoleMsg(UserIndex, "No tenes suficientes lingotes de hierro.", e_FontTypeNames.FONTTYPE_INFO) +104 ' Msg639=No tenés suficientes lingotes de hierro. + Call WriteLocaleMsg(UserIndex, "639", e_FontTypeNames.FONTTYPE_INFO) 106 HerreroTieneMateriales = False 108 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function @@ -1211,7 +1320,8 @@ Function HerreroTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As I 110 If ObjData(ItemIndex).LingP > 0 Then 112 If Not TieneObjetos(LingotePlata, ObjData(ItemIndex).LingP, UserIndex) Then -114 Call WriteConsoleMsg(UserIndex, "No tenes suficientes lingotes de plata.", e_FontTypeNames.FONTTYPE_INFO) +114 ' Msg640=No tenés suficientes lingotes de plata. + Call WriteLocaleMsg(UserIndex, "640", e_FontTypeNames.FONTTYPE_INFO) 116 HerreroTieneMateriales = False 118 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function @@ -1222,7 +1332,8 @@ Function HerreroTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As I 120 If ObjData(ItemIndex).LingO > 0 Then 122 If Not TieneObjetos(LingoteOro, ObjData(ItemIndex).LingO, UserIndex) Then -124 Call WriteConsoleMsg(UserIndex, "No tenes suficientes lingotes de oro.", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg641=No tenés suficientes lingotes de oro. + Call WriteLocaleMsg(UserIndex, "641", e_FontTypeNames.FONTTYPE_INFO) 126 HerreroTieneMateriales = False 128 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function @@ -1230,44 +1341,42 @@ Function HerreroTieneMateriales(ByVal UserIndex As Integer, ByVal ItemIndex As I End If End If - + 130 If ObjData(ItemIndex).Coal > 0 Then 132 If Not TieneObjetos(e_Minerales.Coal, ObjData(ItemIndex).Coal, UserIndex) Then -134 Call WriteConsoleMsg(UserIndex, "No tenes suficientes carbon.", e_FontTypeNames.FONTTYPE_INFO) +134 ' Msg642=No tenés suficientes carbón. + Call WriteLocaleMsg(UserIndex, "642", e_FontTypeNames.FONTTYPE_INFO) 136 HerreroTieneMateriales = False 138 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Function + End If + End If 140 HerreroTieneMateriales = True - - Exit Function - HerreroTieneMateriales_Err: - Call TraceError(Err.Number, Err.Description, "Trabajo.HerreroTieneMateriales", Erl) + Call TraceError(Err.Number, Err.Description, "Trabajo.HerreroTieneMateriales", Erl) + End Function -Public Function PuedeConstruir(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) As Boolean - +Public Function PuedeConstruir(ByVal UserIndex As Integer, _ + ByVal ItemIndex As Integer) As Boolean + On Error GoTo PuedeConstruir_Err - -100 PuedeConstruir = HerreroTieneMateriales(UserIndex, ItemIndex) And UserList(UserIndex).Stats.UserSkills(e_Skill.Herreria) >= ObjData(ItemIndex).SkHerreria - +100 PuedeConstruir = HerreroTieneMateriales(UserIndex, ItemIndex) And UserList(UserIndex).Stats.UserSkills(e_Skill.Herreria) >= ObjData(ItemIndex).SkHerreria Exit Function - PuedeConstruir_Err: 102 Call TraceError(Err.Number, Err.Description, "Trabajo.PuedeConstruir", Erl) 104 - + End Function Public Function PuedeConstruirHerreria(ByVal ItemIndex As Integer) As Boolean - + On Error GoTo PuedeConstruirHerreria_Err - Dim i As Long @@ -1292,37 +1401,37 @@ Public Function PuedeConstruirHerreria(ByVal ItemIndex As Integer) As Boolean 114 Next i 116 PuedeConstruirHerreria = False - - Exit Function - PuedeConstruirHerreria_Err: 118 Call TraceError(Err.Number, Err.Description, "Trabajo.PuedeConstruirHerreria", Erl) 120 - + End Function Public Sub HerreroConstruirItem(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) - + On Error GoTo HerreroConstruirItem_Err - + 100 If Not IntervaloPermiteTrabajarConstruir(UserIndex) Then Exit Sub - If Not HayLugarEnInventario(UserIndex, ItemIndex, 1) Then - Call WriteConsoleMsg(UserIndex, "No tienes suficiente espacio en el inventario", e_FontTypeNames.FONTTYPE_INFO) + ' Msg643=No tienes suficiente espacio en el inventario. + Call WriteLocaleMsg(UserIndex, "643", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If - + 102 If UserList(UserIndex).flags.Privilegios And (e_PlayerType.Consejero) Then Exit Sub + End If - + 104 If PuedeConstruir(UserIndex, ItemIndex) And PuedeConstruirHerreria(ItemIndex) Then 106 Call HerreroQuitarMateriales(UserIndex, ItemIndex) 108 UserList(UserIndex).Stats.MinSta = UserList(UserIndex).Stats.MinSta - 2 110 Call WriteUpdateSta(UserIndex) ' AGREGAR FX Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(UserList(UserIndex).Char.CharIndex, 253, 25, False, ObjData(ItemIndex).GrhIndex)) + 112 If ObjData(ItemIndex).OBJType = e_OBJType.otWeapon Then ' Call WriteConsoleMsg(UserIndex, "Has construido el arma!", e_FontTypeNames.FONTTYPE_INFO) 114 Call WriteTextCharDrop(UserIndex, "+1", UserList(UserIndex).Char.CharIndex, vbWhite) @@ -1342,30 +1451,24 @@ Public Sub HerreroConstruirItem(ByVal UserIndex As Integer, ByVal ItemIndex As I 128 MiObj.amount = 1 130 MiObj.ObjIndex = ItemIndex - 132 Call MeterItemEnInventario(UserIndex, MiObj) - 136 Call SubirSkill(UserIndex, e_Skill.Herreria) 138 Call UpdateUserInv(True, UserIndex, 0) 140 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(MARTILLOHERRERO, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.y)) - 142 UserList(UserIndex).Counters.Trabajando = UserList(UserIndex).Counters.Trabajando + 1 End If - Exit Sub - HerreroConstruirItem_Err: 144 Call TraceError(Err.Number, Err.Description, "Trabajo.HerreroConstruirItem", Erl) 146 - + End Sub Public Function PuedeConstruirCarpintero(ByVal ItemIndex As Integer) As Boolean - + On Error GoTo PuedeConstruirCarpintero_Err - Dim i As Long @@ -1380,23 +1483,18 @@ Public Function PuedeConstruirCarpintero(ByVal ItemIndex As Integer) As Boolean 106 Next i 108 PuedeConstruirCarpintero = False - - Exit Function - PuedeConstruirCarpintero_Err: 110 Call TraceError(Err.Number, Err.Description, "Trabajo.PuedeConstruirCarpintero", Erl) 112 - + End Function Public Function PuedeConstruirAlquimista(ByVal ItemIndex As Integer) As Boolean - + On Error GoTo PuedeConstruirAlquimista_Err - Dim i As Long - 100 For i = 1 To UBound(ObjAlquimista) @@ -1409,20 +1507,16 @@ Public Function PuedeConstruirAlquimista(ByVal ItemIndex As Integer) As Boolean 106 Next i 108 PuedeConstruirAlquimista = False - - Exit Function - PuedeConstruirAlquimista_Err: 110 Call TraceError(Err.Number, Err.Description, "Trabajo.PuedeConstruirAlquimista", Erl) 112 - + End Function Public Function PuedeConstruirSastre(ByVal ItemIndex As Integer) As Boolean - + On Error GoTo PuedeConstruirSastre_Err - Dim i As Long @@ -1437,26 +1531,26 @@ Public Function PuedeConstruirSastre(ByVal ItemIndex As Integer) As Boolean 106 Next i 108 PuedeConstruirSastre = False - - Exit Function - PuedeConstruirSastre_Err: 110 Call TraceError(Err.Number, Err.Description, "Trabajo.PuedeConstruirSastre", Erl) 112 - + End Function -Public Sub CarpinteroConstruirItem(ByVal UserIndex As Integer, ByVal ItemIndex As Integer, ByVal cantidad As Long, ByVal cantidad_maxima As Integer) - +Public Sub CarpinteroConstruirItem(ByVal UserIndex As Integer, _ + ByVal ItemIndex As Integer, _ + ByVal Cantidad As Long, _ + ByVal cantidad_maxima As Integer) + On Error GoTo CarpinteroConstruirItem_Err - -100 If Not IntervaloPermiteTrabajarConstruir(UserIndex) Then Exit Sub +100 If Not IntervaloPermiteTrabajarConstruir(UserIndex) Then Exit Sub 102 If UserList(userindex).flags.Privilegios And (e_PlayerType.Consejero Or e_PlayerType.SemiDios Or e_PlayerType.Dios) Then Exit Sub + End If - + 104 If ItemIndex = 0 Then Exit Sub 'Si no tiene equipado el serrucho @@ -1465,28 +1559,29 @@ Public Sub CarpinteroConstruirItem(ByVal UserIndex As Integer, ByVal ItemIndex A 108 Call WriteLocaleMsg(UserIndex, "376", e_FontTypeNames.FONTTYPE_INFO) 110 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Sub + End If - - Dim cantidad_a_construir As Long - Dim madera_requerida As Long + + Dim cantidad_a_construir As Long + + Dim madera_requerida As Long + Dim madera_elfica_requerida As Long - Dim madera_pino_requerida As Long + + Dim madera_pino_requerida As Long + cantidad_a_construir = IIf(UserList(UserIndex).Trabajo.cantidad >= cantidad_maxima, cantidad_maxima, UserList(UserIndex).Trabajo.cantidad) - + If cantidad_a_construir <= 0 Then -121 Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Sub +121 Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Sub + End If - -112 If CarpinteroTieneMateriales(UserIndex, ItemIndex, cantidad_a_construir) _ - And UserList(UserIndex).Stats.UserSkills(e_Skill.Carpinteria) >= ObjData(ItemIndex).SkCarpinteria _ - And PuedeConstruirCarpintero(ItemIndex) _ - And ObjData(UserList(UserIndex).Invent.HerramientaEqpObjIndex).OBJType = e_OBJType.otHerramientas _ - And ObjData(UserList(UserIndex).Invent.HerramientaEqpObjIndex).Subtipo = 5 Then - + +112 If CarpinteroTieneMateriales(UserIndex, ItemIndex, cantidad_a_construir) And UserList(UserIndex).Stats.UserSkills(e_Skill.Carpinteria) >= ObjData(ItemIndex).SkCarpinteria And PuedeConstruirCarpintero(ItemIndex) And ObjData(UserList(UserIndex).invent.HerramientaEqpObjIndex).OBJType = e_OBJType.otHerramientas And ObjData(UserList(UserIndex).invent.HerramientaEqpObjIndex).Subtipo = 5 Then + 114 If UserList(UserIndex).Stats.MinSta > 2 Then 116 Call QuitarSta(UserIndex, 2) - Else 118 Call WriteLocaleMsg(UserIndex, "93", e_FontTypeNames.FONTTYPE_INFO) 'Call WriteConsoleMsg(UserIndex, "Estás muy cansado para trabajar.", e_FontTypeNames.FONTTYPE_INFO) @@ -1494,146 +1589,121 @@ Public Sub CarpinteroConstruirItem(ByVal UserIndex As Integer, ByVal ItemIndex A Exit Sub End If - + If ObjData(ItemIndex).Madera > 0 Then madera_requerida = ObjData(ItemIndex).Madera * cantidad_a_construir If ObjData(ItemIndex).MaderaElfica > 0 Then madera_elfica_requerida = ObjData(ItemIndex).MaderaElfica * cantidad_a_construir If ObjData(ItemIndex).MaderaPino > 0 Then madera_pino_requerida = ObjData(ItemIndex).MaderaPino * cantidad_a_construir - - 122 Call CarpinteroQuitarMateriales(UserIndex, ItemIndex, madera_requerida, madera_elfica_requerida, madera_pino_requerida) - UserList(UserIndex).Trabajo.cantidad = UserList(UserIndex).Trabajo.cantidad - cantidad_a_construir - - 'Call WriteConsoleMsg(UserIndex, "Has construido un objeto!", e_FontTypeNames.FONTTYPE_INFO) 'Call WriteOroOverHead(UserIndex, 1, UserList(UserIndex).Char.CharIndex) 124 Call WriteTextCharDrop(UserIndex, "+" & cantidad_a_construir, UserList(UserIndex).Char.charindex, vbWhite) - + Dim MiObj As t_Obj 126 MiObj.amount = cantidad_a_construir 128 MiObj.ObjIndex = ItemIndex - ' AGREGAR FX + ' AGREGAR FX 130 Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(UserList(UserIndex).Char.CharIndex, 253, 25, False, ObjData(MiObj.ObjIndex).GrhIndex)) + 132 If Not MeterItemEnInventario(UserIndex, MiObj) Then 134 Call TirarItemAlPiso(UserList(UserIndex).Pos, MiObj) End If - - + 136 Call SubirSkill(UserIndex, e_Skill.Carpinteria) 'Call UpdateUserInv(True, UserIndex, 0) 138 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(LABUROCARPINTERO, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.y)) - 140 UserList(UserIndex).Counters.Trabajando = UserList(UserIndex).Counters.Trabajando + 1 End If - Exit Sub - CarpinteroConstruirItem_Err: 142 Call TraceError(Err.Number, Err.Description, "Trabajo.CarpinteroConstruirItem", Erl) - End Sub Public Sub AlquimistaConstruirItem(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) - + On Error GoTo AlquimistaConstruirItem_Err - Rem Debug.Print UserList(UserIndex).Invent.HerramientaEqpObjIndex - 100 If Not UserList(UserIndex).Stats.MinSta > 0 Then 102 Call WriteLocaleMsg(UserIndex, "93", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If -104 If AlquimistaTieneMateriales(UserIndex, ItemIndex) _ - And UserList(UserIndex).Stats.UserSkills(e_Skill.Alquimia) >= ObjData(ItemIndex).SkPociones _ - And PuedeConstruirAlquimista(ItemIndex) _ - And ObjData(UserList(UserIndex).Invent.HerramientaEqpObjIndex).OBJType = e_OBJType.otHerramientas _ - And ObjData(UserList(UserIndex).Invent.HerramientaEqpObjIndex).Subtipo = 4 Then - +104 If AlquimistaTieneMateriales(UserIndex, ItemIndex) And UserList(UserIndex).Stats.UserSkills(e_Skill.Alquimia) >= ObjData(ItemIndex).SkPociones And PuedeConstruirAlquimista(ItemIndex) And ObjData(UserList(UserIndex).invent.HerramientaEqpObjIndex).OBJType = e_OBJType.otHerramientas And ObjData(UserList(UserIndex).invent.HerramientaEqpObjIndex).Subtipo = 4 Then + 'si tiene el hechizoAlquimista salgo Dim hIndex As Integer hIndex = ObjData(ItemIndex).Hechizo 'cambiar por la variable del Obj en Hechizo If TieneHechizo(hIndex, UserIndex) Then - 106 UserList(UserIndex).Stats.MinSta = UserList(UserIndex).Stats.MinSta - 1 108 Call WriteUpdateSta(UserIndex) - ' AGREGAR FX Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(UserList(UserIndex).Char.charindex, 253, 25, False, ObjData(ItemIndex).GrhIndex)) 110 Call AlquimistaQuitarMateriales(UserIndex, ItemIndex) 'Call WriteConsoleMsg(UserIndex, "Has construido el objeto.", e_FontTypeNames.FONTTYPE_INFO) 112 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessagePlayWave(1152, UserList(UserIndex).pos.x, UserList(UserIndex).pos.y)) - + Dim MiObj As t_Obj - + 114 MiObj.amount = 1 116 MiObj.ObjIndex = ItemIndex - + 118 If Not MeterItemEnInventario(UserIndex, MiObj) Then 120 Call TirarItemAlPiso(UserList(UserIndex).pos, MiObj) - + End If - - + 122 Call SubirSkill(UserIndex, e_Skill.Alquimia) 124 Call UpdateUserInv(True, UserIndex, 0) 'Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave(LABUROCARPINTERO, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y)) - 126 UserList(UserIndex).Counters.Trabajando = UserList(UserIndex).Counters.Trabajando + 1 Else - Call WriteConsoleMsg(UserIndex, "Lamentablemente no aprendiste la receta para crear esta poción.", e_FontTypeNames.FONTTYPE_INFOBOLD) + ' Msg644=Lamentablemente no aprendiste la receta para crear esta poción. + Call WriteLocaleMsg(UserIndex, "644", e_FontTypeNames.FONTTYPE_INFOBOLD) + End If + End If - Exit Sub - AlquimistaConstruirItem_Err: 128 Call TraceError(Err.Number, Err.Description, "Trabajo.AlquimistaConstruirItem", Erl) 130 - + End Sub Public Sub SastreConstruirItem(ByVal UserIndex As Integer, ByVal ItemIndex As Integer) - + On Error GoTo SastreConstruirItem_Err - -100 If Not IntervaloPermiteTrabajarConstruir(UserIndex) Then Exit Sub +100 If Not IntervaloPermiteTrabajarConstruir(UserIndex) Then Exit Sub 102 If Not UserList(UserIndex).Stats.MinSta > 0 Then 104 Call WriteLocaleMsg(UserIndex, "93", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If + If ItemIndex = 0 Then Exit Sub If UserList(UserIndex).invent.HerramientaEqpObjIndex = 0 Then Exit Sub + End If -106 If SastreTieneMateriales(UserIndex, ItemIndex) _ - And UserList(UserIndex).Stats.UserSkills(e_Skill.Sastreria) >= ObjData(ItemIndex).SkSastreria _ - And PuedeConstruirSastre(ItemIndex) _ - And ObjData(UserList(UserIndex).Invent.HerramientaEqpObjIndex).OBJType = e_OBJType.otHerramientas _ - And ObjData(UserList(UserIndex).Invent.HerramientaEqpObjIndex).Subtipo = 9 Then - + +106 If SastreTieneMateriales(UserIndex, ItemIndex) And UserList(UserIndex).Stats.UserSkills(e_Skill.Sastreria) >= ObjData(ItemIndex).SkSastreria And PuedeConstruirSastre(ItemIndex) And ObjData(UserList(UserIndex).invent.HerramientaEqpObjIndex).OBJType = e_OBJType.otHerramientas And ObjData(UserList(UserIndex).invent.HerramientaEqpObjIndex).Subtipo = 9 Then 108 UserList(UserIndex).Stats.MinSta = UserList(UserIndex).Stats.MinSta - 2 - 110 Call WriteUpdateSta(UserIndex) - 112 Call SastreQuitarMateriales(UserIndex, ItemIndex) - 114 Call WriteTextCharDrop(UserIndex, "+1", UserList(UserIndex).Char.CharIndex, vbWhite) - 116 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(63, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.y)) - + Dim MiObj As t_Obj 118 MiObj.amount = 1 @@ -1641,28 +1711,26 @@ Public Sub SastreConstruirItem(ByVal UserIndex As Integer, ByVal ItemIndex As In 122 If Not MeterItemEnInventario(UserIndex, MiObj) Then 124 Call TirarItemAlPiso(UserList(UserIndex).Pos, MiObj) + End If - + 126 Call SubirSkill(UserIndex, e_Skill.Sastreria) 128 Call UpdateUserInv(True, UserIndex, 0) - 130 UserList(UserIndex).Counters.Trabajando = UserList(UserIndex).Counters.Trabajando + 1 End If - - - Exit Sub + Exit Sub SastreConstruirItem_Err: 132 Call TraceError(Err.Number, Err.Description, "Trabajo.SastreConstruirItem", Erl) 134 - + End Sub -Private Function MineralesParaLingote(ByVal Lingote As e_Minerales, ByVal cant As Byte) As Integer - +Private Function MineralesParaLingote(ByVal Lingote As e_Minerales, _ + ByVal cant As Byte) As Integer + On Error GoTo MineralesParaLingote_Err - 100 Select Case Lingote @@ -1680,88 +1748,88 @@ Private Function MineralesParaLingote(ByVal Lingote As e_Minerales, ByVal cant A End Select - Exit Function - MineralesParaLingote_Err: 116 Call TraceError(Err.Number, Err.Description, "Trabajo.MineralesParaLingote", Erl) 118 - + End Function Public Sub DoLingotes(ByVal UserIndex As Integer) - On Error GoTo DoLingotes_Err - Dim Slot As Integer - Dim obji As Integer - Dim cant As Byte - Dim necesarios As Integer + On Error GoTo DoLingotes_Err -100 If UserList(UserIndex).Stats.MinSta > 2 Then -102 Call QuitarSta(UserIndex, 2) + Dim Slot As Integer - Else -104 Call WriteLocaleMsg(UserIndex, "93", e_FontTypeNames.FONTTYPE_INFO) - 'Call WriteConsoleMsg(UserIndex, "Estás muy cansado para excavar.", e_FontTypeNames.FONTTYPE_INFO) -106 Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Sub + Dim obji As Integer - End If + Dim cant As Byte -108 Slot = UserList(UserIndex).flags.TargetObjInvSlot -110 obji = UserList(UserIndex).Invent.Object(Slot).ObjIndex + Dim necesarios As Integer -112 cant = RandomNumber(10, 20) -114 necesarios = MineralesParaLingote(obji, cant) +100 If UserList(UserIndex).Stats.MinSta > 2 Then +102 Call QuitarSta(UserIndex, 2) + Else +104 Call WriteLocaleMsg(UserIndex, "93", e_FontTypeNames.FONTTYPE_INFO) + 'Call WriteConsoleMsg(UserIndex, "Estás muy cansado para excavar.", e_FontTypeNames.FONTTYPE_INFO) +106 Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Sub -116 If UserList(UserIndex).Invent.Object(Slot).amount < MineralesParaLingote(obji, cant) Or ObjData(obji).OBJType <> e_OBJType.otMinerales Then -118 Call WriteConsoleMsg(UserIndex, "No tienes suficientes minerales para hacer un lingote.", e_FontTypeNames.FONTTYPE_INFO) -120 Call WriteMacroTrabajoToggle(UserIndex, False) - Exit Sub + End If - End If +108 Slot = UserList(UserIndex).flags.TargetObjInvSlot +110 obji = UserList(UserIndex).invent.Object(Slot).ObjIndex +112 cant = RandomNumber(10, 20) +114 necesarios = MineralesParaLingote(obji, cant) -122 UserList(UserIndex).Invent.Object(Slot).amount = UserList(UserIndex).Invent.Object(Slot).amount - MineralesParaLingote(obji, cant) +116 If UserList(UserIndex).invent.Object(Slot).amount < MineralesParaLingote(obji, cant) Or ObjData(obji).OBJType <> e_OBJType.otMinerales Then +118 ' Msg645=No tienes suficientes minerales para hacer un lingote. + Call WriteLocaleMsg(UserIndex, "645", e_FontTypeNames.FONTTYPE_INFO) +120 Call WriteMacroTrabajoToggle(UserIndex, False) + Exit Sub -124 If UserList(UserIndex).Invent.Object(Slot).amount < 1 Then -126 UserList(UserIndex).Invent.Object(Slot).amount = 0 -128 UserList(UserIndex).Invent.Object(Slot).ObjIndex = 0 + End If - End If +122 UserList(UserIndex).invent.Object(Slot).amount = UserList(UserIndex).invent.Object(Slot).amount - MineralesParaLingote(obji, cant) - Dim nPos As t_WorldPos +124 If UserList(UserIndex).invent.Object(Slot).amount < 1 Then +126 UserList(UserIndex).invent.Object(Slot).amount = 0 +128 UserList(UserIndex).invent.Object(Slot).ObjIndex = 0 - Dim MiObj As t_Obj + End If -130 MiObj.amount = cant -132 MiObj.ObjIndex = ObjData(UserList(UserIndex).flags.TargetObjInvIndex).LingoteIndex + Dim nPos As t_WorldPos -134 If Not MeterItemEnInventario(UserIndex, MiObj) Then -136 Call TirarItemAlPiso(UserList(UserIndex).Pos, MiObj) + Dim MiObj As t_Obj - End If +130 MiObj.amount = cant +132 MiObj.ObjIndex = ObjData(UserList(UserIndex).flags.TargetObjInvIndex).LingoteIndex -138 Call UpdateUserInv(False, UserIndex, Slot) -140 Call WriteTextCharDrop(UserIndex, "+" & cant, UserList(UserIndex).Char.CharIndex, vbWhite) -142 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(41, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.y)) -144 Call SubirSkill(UserIndex, e_Skill.Mineria) +134 If Not MeterItemEnInventario(UserIndex, MiObj) Then +136 Call TirarItemAlPiso(UserList(UserIndex).pos, MiObj) -146 UserList(UserIndex).Counters.Trabajando = UserList(UserIndex).Counters.Trabajando + 1 + End If -148 If UserList(UserIndex).Counters.Trabajando = 1 And Not UserList(UserIndex).flags.UsandoMacro Then -150 Call WriteMacroTrabajoToggle(UserIndex, True) +138 Call UpdateUserInv(False, UserIndex, Slot) +140 Call WriteTextCharDrop(UserIndex, "+" & cant, UserList(UserIndex).Char.charindex, vbWhite) +142 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessagePlayWave(41, UserList(UserIndex).pos.x, UserList(UserIndex).pos.y)) +144 Call SubirSkill(UserIndex, e_Skill.Mineria) +146 UserList(UserIndex).Counters.Trabajando = UserList(UserIndex).Counters.Trabajando + 1 - End If +148 If UserList(UserIndex).Counters.Trabajando = 1 And Not UserList(UserIndex).flags.UsandoMacro Then +150 Call WriteMacroTrabajoToggle(UserIndex, True) - Exit Sub + End If + Exit Sub DoLingotes_Err: -152 Call TraceError(Err.Number, Err.Description, "Trabajo.DoLingotes", Erl) +152 Call TraceError(Err.Number, Err.Description, "Trabajo.DoLingotes", Erl) 154 End Sub Function ModAlquimia(ByVal clase As e_Class) As Integer + On Error GoTo ModAlquimia_Err 100 Select Case clase @@ -1778,7 +1846,6 @@ Function ModAlquimia(ByVal clase As e_Class) As Integer End Select Exit Function - ModAlquimia_Err: 112 Call TraceError(Err.Number, Err.Description, "Trabajo.ModAlquimia", Erl) 114 @@ -1786,9 +1853,8 @@ ModAlquimia_Err: End Function Function ModSastre(ByVal clase As e_Class) As Integer - + On Error GoTo ModSastre_Err - 100 Select Case clase @@ -1800,19 +1866,16 @@ Function ModSastre(ByVal clase As e_Class) As Integer End Select - Exit Function - ModSastre_Err: 108 Call TraceError(Err.Number, Err.Description, "Trabajo.ModSastre", Erl) 110 - + End Function Function ModCarpinteria(ByVal clase As e_Class) As Integer - + On Error GoTo ModCarpinteria_Err - 100 Select Case clase @@ -1824,19 +1887,16 @@ Function ModCarpinteria(ByVal clase As e_Class) As Integer End Select - Exit Function - ModCarpinteria_Err: 108 Call TraceError(Err.Number, Err.Description, "Trabajo.ModCarpinteria", Erl) 110 - + End Function Function ModHerreria(ByVal clase As e_Class) As Single - + On Error GoTo ModHerreriA_Err - 100 Select Case clase @@ -1848,63 +1908,55 @@ Function ModHerreria(ByVal clase As e_Class) As Single End Select - Exit Function - ModHerreriA_Err: 108 Call TraceError(Err.Number, Err.Description, "Trabajo.ModHerreriA", Erl) 110 - + End Function Sub DoAdminInvisible(ByVal UserIndex As Integer, Optional ByVal invisible As Byte = 2) - + On Error GoTo DoAdminInvisible_Err - - + 100 With UserList(UserIndex) - If invisible = 2 Then - .flags.AdminInvisible = IIf(.flags.AdminInvisible = 1, 0, 1) - Else - .flags.AdminInvisible = invisible - End If - -102 If .flags.AdminInvisible = 1 Then - -106 .flags.invisible = 1 -108 .flags.Oculto = 1 - -110 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, True)) - -112 Call SendData(SendTarget.ToPCAreaButGMs, UserIndex, PrepareMessageCharacterRemove(2, .Char.charindex, True)) - - Else - -116 .flags.invisible = 0 -118 .flags.Oculto = 0 -120 .Counters.TiempoOculto = 0 - -122 Call MakeUserChar(True, 0, UserIndex, .Pos.map, .Pos.X, .Pos.y, 1) -124 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, False)) - - End If - + If invisible = 2 Then + .flags.AdminInvisible = IIf(.flags.AdminInvisible = 1, 0, 1) + Else + .flags.AdminInvisible = invisible + + End If + +102 If .flags.AdminInvisible = 1 Then +106 .flags.invisible = 1 +108 .flags.Oculto = 1 +110 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, True)) +112 Call SendData(SendTarget.ToPCAreaButGMs, UserIndex, PrepareMessageCharacterRemove(2, .Char.charindex, True)) + Else +116 .flags.invisible = 0 +118 .flags.Oculto = 0 +120 .Counters.TiempoOculto = 0 +122 Call MakeUserChar(True, 0, UserIndex, .pos.Map, .pos.x, .pos.y, 1) +124 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, False)) + + End If + End With Exit Sub - DoAdminInvisible_Err: 126 Call TraceError(Err.Number, Err.Description, "Trabajo.DoAdminInvisible", Erl) - 128 - + End Sub -Sub TratarDeHacerFogata(ByVal Map As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal UserIndex As Integer) - +Sub TratarDeHacerFogata(ByVal Map As Integer, _ + ByVal x As Integer, _ + ByVal y As Integer, _ + ByVal UserIndex As Integer) + On Error GoTo TratarDeHacerFogata_Err - Dim Suerte As Byte @@ -1924,7 +1976,8 @@ Sub TratarDeHacerFogata(ByVal Map As Integer, ByVal X As Integer, ByVal Y As Int End With 110 If MapData(Map, X, Y).ObjInfo.ObjIndex <> 58 Then -112 Call WriteConsoleMsg(UserIndex, "Necesitas clickear sobre Leña para hacer ramitas", e_FontTypeNames.FONTTYPE_INFO) +112 ' Msg646=Necesitas clickear sobre Leña para hacer ramitas. + Call WriteLocaleMsg(UserIndex, "646", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1937,13 +1990,15 @@ Sub TratarDeHacerFogata(ByVal Map As Integer, ByVal X As Integer, ByVal Y As Int End If 118 If UserList(UserIndex).flags.Muerto = 1 Then -120 Call WriteConsoleMsg(UserIndex, "No podés hacer fogatas estando muerto.", e_FontTypeNames.FONTTYPE_INFO) +120 ' Msg647=No podés hacer fogatas estando muerto. + Call WriteLocaleMsg(UserIndex, "647", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If 122 If MapData(Map, X, Y).ObjInfo.amount < 3 Then -124 Call WriteConsoleMsg(UserIndex, "Necesitas por lo menos tres troncos para hacer una fogata.", e_FontTypeNames.FONTTYPE_INFO) +124 ' Msg648=Necesitas por lo menos tres troncos para hacer una fogata. + Call WriteLocaleMsg(UserIndex, "648", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If @@ -1962,67 +2017,71 @@ Sub TratarDeHacerFogata(ByVal Map As Integer, ByVal X As Integer, ByVal Y As Int 140 If exito = 1 Then 142 obj.ObjIndex = FOGATA_APAG 144 obj.amount = MapData(Map, X, Y).ObjInfo.amount \ 3 - 146 Call WriteConsoleMsg(UserIndex, "Has hecho " & obj.amount & " ramitas.", e_FontTypeNames.FONTTYPE_INFO) - 148 Call MakeObj(obj, Map, X, Y) - 'Seteamos la fogata como el nuevo TargetObj del user 150 UserList(UserIndex).flags.TargetObj = FOGATA_APAG End If 152 Call SubirSkill(UserIndex, Supervivencia) - - Exit Sub - TratarDeHacerFogata_Err: 154 Call TraceError(Err.Number, Err.Description, "Trabajo.TratarDeHacerFogata", Erl) 156 - + End Sub -Public Sub DoPescar(ByVal UserIndex As Integer, Optional ByVal RedDePesca As Boolean = False) - -On Error GoTo ErrHandler - Dim bonificacionPescaLvl(1 To 47) As Single - Dim bonificacionCaña As Double - Dim bonificacionZona As Double - Dim bonificacionLvl As Double - Dim bonificacionClase As Double - Dim bonificacionTotal As Double - Dim RestaStamina As Integer - Dim Reward As Double - Dim esEspecial As Boolean - Dim i As Integer - - +Public Sub DoPescar(ByVal UserIndex As Integer, _ + Optional ByVal RedDePesca As Boolean = False) + + On Error GoTo ErrHandler + + Dim bonificacionPescaLvl(1 To 47) As Single + + Dim bonificacionCaña As Double + + Dim bonificacionZona As Double + + Dim bonificacionLvl As Double + + Dim bonificacionClase As Double + + Dim bonificacionTotal As Double + + Dim RestaStamina As Integer + + Dim Reward As Double + + Dim esEspecial As Boolean + + Dim i As Integer + ' Shugar - 13/8/2024 ' Paso los poderes de las cañas al dateo de pesca.dat ' Paso la reducción de pesca en zona segura a balance.dat - - With UserList(UserIndex) - RestaStamina = IIf(RedDePesca, 12, RandomNumber(2, 3)) - + 104 If .flags.Privilegios And (e_PlayerType.Consejero) Then Exit Sub + End If - + 106 If .Stats.MinSta > RestaStamina Then 108 Call QuitarSta(UserIndex, RestaStamina) Else 110 Call WriteLocaleMsg(UserIndex, "93", e_FontTypeNames.FONTTYPE_INFO) 112 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Sub + End If - + If MapInfo(.Pos.map).Seguro = 1 Then 120 Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageArmaMov(.Char.charindex, 0)) Else Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageArmaMov(.Char.charindex, 0)) + End If bonificacionPescaLvl(1) = 0 @@ -2072,32 +2131,29 @@ On Error GoTo ErrHandler bonificacionPescaLvl(45) = 1.8 bonificacionPescaLvl(46) = 2# bonificacionPescaLvl(47) = 2.5 - 'Bonificación según el nivel 121 bonificacionLvl = 1 + bonificacionPescaLvl(.Stats.ELV) - 'Bonificacion de la caña dependiendo de su poder: 122 bonificacionCaña = PoderCanas(ObjData(.invent.HerramientaEqpObjIndex).Power) / 10 - 'Bonificación total 123 bonificacionTotal = bonificacionCaña * bonificacionLvl * RecoleccionMult - + 'Si es zona segura se aplica una penalización If MapInfo(.pos.Map).Seguro Then 124 bonificacionTotal = bonificacionTotal * PorcentajePescaSegura / 100 + End If - + 'Shugar: La reward ya estaba hardcodeada así... 'no la voy a tocar, pero ahora por lo menos puede ajustarse desde dateo con la bonificación de las cañas! - 'Calculo el botin esperado por iteracción. 'La base del calculo son 8000 por hora + 20% de chances de no pescar + un +/- 10% 125 Reward = (IntervaloTrabajarExtraer / 3600000) * 8000 * bonificacionTotal * 1.2 * (1 + (RandomNumber(0, 20) - 10) / 100) - - + 'Calculo la suerte de pescar o no pescar y aplico eso sobre el reward para promediar. Dim Suerte As Integer - Dim Pesco As Boolean - + + Dim Pesco As Boolean + If .Stats.UserSkills(e_Skill.Pescar) < 20 Then Suerte = 20 ElseIf .Stats.UserSkills(e_Skill.Pescar) < 40 Then @@ -2108,16 +2164,19 @@ On Error GoTo ErrHandler Suerte = 68 Else Suerte = 80 + End If - + Pesco = RandomNumber(1, 100) <= Suerte '80% de posibilidad de pescar - + If Pesco Then - - Dim nPos As t_WorldPos - Dim MiObj As t_Obj + + Dim nPos As t_WorldPos + + Dim MiObj As t_Obj + Dim objValue As Integer - + ' Shugar: al final no importa el valor del pez ya que se ajusta la cantidad... ' Genero el obj pez que pesqué y su cantidad 126 MiObj.ObjIndex = ObtenerPezRandom(ObjData(.invent.HerramientaEqpObjIndex).Power) @@ -2126,108 +2185,121 @@ On Error GoTo ErrHandler If MiObj.amount <= 0 Then MiObj.amount = 1 + End If - + Dim StopWorking As Boolean + StopWorking = False - + ' Si es insegura y es un fishing pool: If MapInfo(UserList(UserIndex).pos.Map).Seguro = 0 And FISHING_POOL_ID = MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.ObjIndex Then - + ' Si se está por vaciar el fishing pool: 134 If MiObj.amount > MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.amount Then 136 MiObj.amount = MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.amount Call CreateFishingPool(.pos.Map) Call EraseObj(MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.amount, .pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y) -137 Call WriteConsoleMsg(UserIndex, "No hay mas peces aqui.", e_FontTypeNames.FONTTYPE_INFO) +137 ' Msg649=No hay mas peces aqui. + Call WriteLocaleMsg(UserIndex, "649", e_FontTypeNames.FONTTYPE_INFO) StopWorking = True + End If - + ' Resto los recursos que saqué MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.amount = MapData(.pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y).ObjInfo.amount - MiObj.amount + End If - + ' Verifico si el pescado es especial o no If Not RedDePesca Then esEspecial = False + For i = 1 To UBound(PecesEspeciales) + If PecesEspeciales(i).ObjIndex = MiObj.ObjIndex Then esEspecial = True + End If + Next i + End If - + ' Si no es especial, actualizo el UserIndex If Not esEspecial Then Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(.Char.charindex, 253, 25, False, ObjData(MiObj.ObjIndex).GrhIndex)) - - ' Si es especial, corto el macro y activo el minijuego - ' Solo aplica a cañas, no a red de pesca + ' Si es especial, corto el macro y activo el minijuego + ' Solo aplica a cañas, no a red de pesca ElseIf Not RedDePesca Then .flags.PescandoEspecial = True -156 Call WriteMacroTrabajoToggle(UserIndex, False) - .Stats.NumObj_PezEspecial = MiObj.objIndex - Call WritePelearConPezEspecial(UserIndex) - Exit Sub - End If - -158 If MiObj.objIndex = 0 Then Exit Sub - - ' Si no entra en el inventario se cae al piso -160 If Not MeterItemEnInventario(UserIndex, MiObj) Then -162 Call TirarItemAlPiso(.pos, MiObj) - End If - -164 Call WriteTextCharDrop(UserIndex, "+" & MiObj.amount, .Char.charindex, vbWhite) -166 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessagePlayWave(SND_PESCAR, .pos.x, .pos.y)) - - ' Al pescar también podés sacar cosas raras (se setean desde RecursosEspeciales.dat) - ' Por cada drop posible - Dim res As Long -168 For i = 1 To UBound(EspecialesPesca) +156 Call WriteMacroTrabajoToggle(UserIndex, False) + .Stats.NumObj_PezEspecial = MiObj.ObjIndex + Call WritePelearConPezEspecial(UserIndex) + Exit Sub + + End If + +158 If MiObj.ObjIndex = 0 Then Exit Sub + + ' Si no entra en el inventario se cae al piso +160 If Not MeterItemEnInventario(UserIndex, MiObj) Then +162 Call TirarItemAlPiso(.pos, MiObj) + + End If + +164 Call WriteTextCharDrop(UserIndex, "+" & MiObj.amount, .Char.charindex, vbWhite) +166 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessagePlayWave(SND_PESCAR, .pos.x, .pos.y)) + + ' Al pescar también podés sacar cosas raras (se setean desde RecursosEspeciales.dat) + ' Por cada drop posible + Dim res As Long + +168 For i = 1 To UBound(EspecialesPesca) ' Tiramos al azar entre 1 y la probabilidad -170 res = RandomNumber(1, IIf(RedDePesca, EspecialesPesca(i).Data * 2, EspecialesPesca(i).Data)) ' Red de pesca chance x2 (revisar) - +170 res = RandomNumber(1, IIf(RedDePesca, EspecialesPesca(i).Data * 2, EspecialesPesca(i).Data)) ' Red de pesca chance x2 (revisar) + ' Si tiene suerte y le pega -172 If res = 1 Then -174 MiObj.objIndex = EspecialesPesca(i).objIndex -176 MiObj.amount = 1 ' Solo un item por vez - -178 If Not MeterItemEnInventario(UserIndex, MiObj) Then Call TirarItemAlPiso(.pos, MiObj) - +172 If res = 1 Then +174 MiObj.ObjIndex = EspecialesPesca(i).ObjIndex +176 MiObj.amount = 1 ' Solo un item por vez + +178 If Not MeterItemEnInventario(UserIndex, MiObj) Then Call TirarItemAlPiso(.pos, MiObj) ' Le mandamos un mensaje -180 Call WriteConsoleMsg(UserIndex, "¡Has conseguido " & ObjData(EspecialesPesca(i).ObjIndex).name & "!", e_FontTypeNames.FONTTYPE_INFO) +180 Call WriteConsoleMsg(UserIndex, "¡Has conseguido " & ObjData(EspecialesPesca(i).ObjIndex).name & "!", e_FontTypeNames.FONTTYPE_INFO) + End If Next - Else - Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(.Char.charindex, 253, 25, False, GRH_FALLO_PESCA)) + Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(.Char.charindex, 253, 25, False, GRH_FALLO_PESCA)) + End If - - + If MapInfo(UserList(UserIndex).pos.Map).Seguro = 0 Then 182 Call SubirSkill(UserIndex, e_Skill.Pescar) - End If + End If If StopWorking Then 184 Call WriteWorkRequestTarget(UserIndex, 0) 186 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Sub + End If - + 188 .Counters.Trabajando = .Counters.Trabajando + 1 .Counters.LastTrabajo = Int(IntervaloTrabajarExtraer / 1000) - - 'Ladder 06/07/14 Activamos el macro de trabajo + + 'Ladder 06/07/14 Activamos el macro de trabajo 190 If .Counters.Trabajando = 1 And Not .flags.UsandoMacro Then Call WriteMacroTrabajoToggle(UserIndex, True) + End If - - End With -Exit Sub + End With + + Exit Sub ErrHandler: 192 Call LogError("Error en DoPescar. Error " & Err.Number & " - " & Err.Description & " Line number: " & Erl) @@ -2238,8 +2310,8 @@ End Sub ' ' @param LadronIndex Specifies reference to user that stoles ' @param VictimaIndex Specifies reference to user that is being stolen - Public Sub DoRobar(ByVal LadronIndex As Integer, ByVal VictimaIndex As Integer) + '************************************************* 'Author: Unknown 'Last modified: 05/04/2010 @@ -2252,79 +2324,85 @@ Public Sub DoRobar(ByVal LadronIndex As Integer, ByVal VictimaIndex As Integer) '23/04/2010: ZaMa - No se puede robar mas sin energia. '23/04/2010: ZaMa - El alcance de robo pasa a ser de 1 tile. '************************************************* - On Error GoTo ErrHandler Dim OtroUserIndex As Integer - -100 If UserList(LadronIndex).flags.Privilegios And (e_PlayerType.Consejero) Then Exit Sub +100 If UserList(LadronIndex).flags.Privilegios And (e_PlayerType.Consejero) Then Exit Sub 102 If MapInfo(UserList(VictimaIndex).Pos.Map).Seguro = 1 Then Exit Sub - If Not UserMod.CanMove(UserList(VictimaIndex).flags, UserList(VictimaIndex).Counters) Then Call WriteConsoleMsg(LadronIndex, "No podes robarle a objetivos inmovilizados.", e_FontTypeNames.FONTTYPE_FIGHT) Exit Sub + End If - + 104 If UserList(VictimaIndex).flags.EnConsulta Then 106 Call WriteConsoleMsg(LadronIndex, "¡No puedes robar a usuarios en consulta!", e_FontTypeNames.FONTTYPE_INFO) Exit Sub End If - + Dim Penable As Boolean - + 108 With UserList(LadronIndex) If esCiudadano(LadronIndex) Then If (.flags.Seguro) Then -114 Call WriteConsoleMsg(LadronIndex, "Debes quitarte el seguro para robarle a un ciudadano o a un miembro del Ejército Real", e_FontTypeNames.FONTTYPE_FIGHT) +114 Call WriteConsoleMsg(LadronIndex, "Debes quitarte el seguro para robarle a un ciudadano o a un miembro del Ejército Real", e_FontTypeNames.FONTTYPE_FIGHT) Exit Sub + End If + ElseIf esArmada(LadronIndex) Then ' Armada robando a armada or ciudadano? -122 If (esCiudadano(VictimaIndex) Or esArmada(VictimaIndex)) Then + +122 If (esCiudadano(VictimaIndex) Or esArmada(VictimaIndex)) Then 124 Call WriteConsoleMsg(LadronIndex, "Los miembros del Ejército Real no tienen permitido robarle a ciudadanos o a otros miembros del Ejército Real", e_FontTypeNames.FONTTYPE_FIGHT) Exit Sub + End If + ElseIf esCaos(LadronIndex) Then ' Caos robando a caos? + If (esCaos(VictimaIndex)) Then Call WriteConsoleMsg(LadronIndex, "No puedes robar a otros miembros de la Legión Oscura.", e_FontTypeNames.FONTTYPE_FIGHT) Exit Sub + End If + End If - + 'Me fijo si el ladrón tiene clan If .GuildIndex > 0 Then + 'Si tiene clan me fijo si su clan es de alineación ciudadana If esCiudadano(LadronIndex) And GuildAlignmentIndex(.GuildIndex) = e_ALINEACION_GUILD.ALINEACION_CIUDADANA Then If PersonajeEsLeader(.Id) Then Call WriteConsoleMsg(LadronIndex, "No puedes robar siendo lider de un clan ciudadano.", e_FontTypeNames.FONTTYPE_FIGHT) Exit Sub + End If + End If + End If 126 If TriggerZonaPelea(LadronIndex, VictimaIndex) <> TRIGGER6_AUSENTE Then Exit Sub - + ' Tiene energia? 128 If .Stats.MinSta < 15 Then - 130 If .genero = e_Genero.Hombre Then 132 Call WriteConsoleMsg(LadronIndex, "Estás muy cansado para robar.", e_FontTypeNames.FONTTYPE_INFO) - Else 134 Call WriteConsoleMsg(LadronIndex, "Estás muy cansada para robar.", e_FontTypeNames.FONTTYPE_INFO) End If - + Exit Sub End If - + 136 If .GuildIndex > 0 Then - 138 If .flags.SeguroClan And NivelDeClan(.GuildIndex) >= 3 Then - 140 If .GuildIndex = UserList(VictimaIndex).GuildIndex Then 142 Call WriteConsoleMsg(LadronIndex, "No podes robarle a un miembro de tu clan.", e_FontTypeNames.FONTTYPE_INFOIAO) Exit Sub @@ -2345,7 +2423,7 @@ Public Sub DoRobar(ByVal LadronIndex As Integer, ByVal VictimaIndex As Integer) Dim res As Integer Dim RobarSkill As Byte - + 148 RobarSkill = .Stats.UserSkills(e_Skill.Robar) 150 If (RobarSkill > 0 And RobarSkill < 10) Then @@ -2370,25 +2448,23 @@ Public Sub DoRobar(ByVal LadronIndex As Integer, ByVal VictimaIndex As Integer) 188 Probabilidad = 80 190 ElseIf (RobarSkill = 100) Then 192 Probabilidad = 90 + End If 194 If (RandomNumber(1, 100) < Probabilidad) Then 'Exito robo - 196 If UserList(VictimaIndex).flags.Comerciando Then 198 OtroUserIndex = UserList(VictimaIndex).ComUsu.DestUsu.ArrayIndex - + 200 If OtroUserIndex > 0 And OtroUserIndex <= MaxUsers Then 202 Call WriteConsoleMsg(VictimaIndex, "Comercio cancelado, ¡te están robando!", e_FontTypeNames.FONTTYPE_TALK) 204 Call WriteConsoleMsg(OtroUserIndex, "Comercio cancelado, al otro usuario le robaron.", e_FontTypeNames.FONTTYPE_TALK) - 206 Call LimpiarComercioSeguro(VictimaIndex) End If End If - + 208 If (RandomNumber(1, 50) < 25) And (.clase = e_Class.Thief) Then '50% de robar items - 210 If TieneObjetosRobables(VictimaIndex) Then 212 Call RobarObjeto(LadronIndex, VictimaIndex) Else @@ -2403,58 +2479,76 @@ Public Sub DoRobar(ByVal LadronIndex As Integer, ByVal VictimaIndex As Integer) Dim n As Long Dim Extra As Single - + ' Multiplicador extra por niveles - Select Case .Stats.ELV + Case Is < 13 Extra = 1 + Case Is < 25 Extra = 1.1 + Case Is < 35 Extra = 1.2 + Case Is >= 35 And .Stats.ELV <= 40 Extra = 1.3 + Case Is >= 41 And .Stats.ELV < 45 Extra = 1.4 + Case Is >= 45 And .Stats.ELV <= 46 Extra = 1.5 + Case Is = 47 Extra = 5 + End Select - + 238 If .clase = e_Class.Thief Then + 'Si no tiene puestos los guantes de hurto roba un 50% menos. 240 If .invent.WeaponEqpObjIndex > 0 Then 242 If ObjData(.invent.WeaponEqpObjIndex).Subtipo = 5 Then 244 n = RandomNumber(.Stats.ELV * 50 * Extra, .Stats.ELV * 100 * Extra) * OroMult Else 246 n = RandomNumber(.Stats.ELV * 25 * Extra, .Stats.ELV * 50 * Extra) * OroMult + End If + Else 248 n = RandomNumber(.Stats.ELV * 25 * Extra, .Stats.ELV * 50 * Extra) * OroMult + End If + Else 250 n = RandomNumber(1, 100) * OroMult + End If 252 If n > UserList(VictimaIndex).Stats.GLD Then n = UserList(VictimaIndex).Stats.GLD + Dim prevGold As Long: prevGold = UserList(VictimaIndex).Stats.GLD + 254 UserList(VictimaIndex).Stats.GLD = UserList(VictimaIndex).Stats.GLD - n + Dim ProtectedGold As Long + ProtectedGold = OroPorNivelBilletera * UserList(VictimaIndex).Stats.ELV + If prevGold >= ProtectedGold And UserList(VictimaIndex).Stats.GLD < ProtectedGold Then n = prevGold - ProtectedGold UserList(VictimaIndex).Stats.GLD = ProtectedGold + End If + 256 .Stats.GLD = .Stats.GLD + n 258 If .Stats.GLD > MAXORO Then .Stats.GLD = MAXORO - 260 Call WriteConsoleMsg(LadronIndex, "Le has robado " & PonerPuntos(n) & " monedas de oro a " & UserList(VictimaIndex).Name, e_FontTypeNames.FONTTYPE_New_Rojo_Salmon) 262 Call WriteConsoleMsg(VictimaIndex, UserList(LadronIndex).Name & " te ha robado " & PonerPuntos(n) & " monedas de oro.", e_FontTypeNames.FONTTYPE_New_Rojo_Salmon) 264 Call WriteUpdateGold(LadronIndex) 'Le actualizamos la billetera al ladron - 266 Call WriteUpdateGold(VictimaIndex) 'Le actualizamos la billetera a la victima Else 268 Call WriteConsoleMsg(LadronIndex, UserList(VictimaIndex).Name & " no tiene oro.", e_FontTypeNames.FONTTYPE_INFO) @@ -2462,17 +2556,15 @@ Public Sub DoRobar(ByVal LadronIndex As Integer, ByVal VictimaIndex As Integer) End If End If - + 270 Call SubirSkill(LadronIndex, e_Skill.Robar) - Else 272 Call WriteConsoleMsg(LadronIndex, "¡No has logrado robar nada!", e_FontTypeNames.FONTTYPE_INFO) 274 Call WriteConsoleMsg(VictimaIndex, "¡" & .name & " ha intentado robarte!", e_FontTypeNames.FONTTYPE_INFO) - 276 Call SubirSkill(LadronIndex, e_Skill.Robar) End If - + 278 If Status(LadronIndex) = Ciudadano Then Call VolverCriminal(LadronIndex) End If @@ -2480,41 +2572,28 @@ Public Sub DoRobar(ByVal LadronIndex As Integer, ByVal VictimaIndex As Integer) End With Exit Sub - ErrHandler: 282 Call LogError("Error en DoRobar. Error " & Err.Number & " : " & Err.Description) End Sub -Public Function ObjEsRobable(ByVal VictimaIndex As Integer, ByVal Slot As Integer) As Boolean +Public Function ObjEsRobable(ByVal VictimaIndex As Integer, _ + ByVal Slot As Integer) As Boolean + ' Agregué los barcos ' Agrego poción negra ' Esta funcion determina qué objetos son robables. - On Error GoTo ObjEsRobable_Err - Dim OI As Integer 100 OI = UserList(VictimaIndex).Invent.Object(Slot).ObjIndex - -102 ObjEsRobable = ObjData(OI).OBJType <> e_OBJType.otLlaves And _ - ObjData(OI).OBJType <> e_OBJType.otBarcos And _ - ObjData(OI).OBJType <> e_OBJType.otMonturas And _ - ObjData(OI).OBJType <> e_OBJType.otRunas And _ - ObjData(OI).ObjDonador = 0 And _ - ObjData(OI).Instransferible = 0 And _ - ObjData(OI).Real = 0 And _ - ObjData(OI).Caos = 0 And _ - UserList(VictimaIndex).Invent.Object(Slot).Equipped = 0 - - +102 ObjEsRobable = ObjData(OI).OBJType <> e_OBJType.otLlaves And ObjData(OI).OBJType <> e_OBJType.otBarcos And ObjData(OI).OBJType <> e_OBJType.otMonturas And ObjData(OI).OBJType <> e_OBJType.otRunas And ObjData(OI).ObjDonador = 0 And ObjData(OI).Instransferible = 0 And ObjData(OI).Real = 0 And ObjData(OI).Caos = 0 And UserList(VictimaIndex).invent.Object(Slot).Equipped = 0 Exit Function - ObjEsRobable_Err: 104 Call TraceError(Err.Number, Err.Description, "Trabajo.ObjEsRobable", Erl) 106 - + End Function '' @@ -2522,19 +2601,17 @@ End Function ' ' @param LadrOnIndex Specifies reference to user that stoles ' @param VictimaIndex Specifies reference to user that is being stolen - Private Sub RobarObjeto(ByVal LadronIndex As Integer, ByVal VictimaIndex As Integer) + '*************************************************** 'Author: Unknown 'Last Modification: 02/04/2010 '02/04/2010: ZaMa - Modifico la cantidad de items robables por el ladron. '*************************************************** - On Error GoTo RobarObjeto_Err - - Dim flag As Boolean + Dim i As Integer 100 flag = False @@ -2548,11 +2625,9 @@ Private Sub RobarObjeto(ByVal LadronIndex As Integer, ByVal VictimaIndex As Inte 'Hay objeto en este slot? 110 If .Invent.Object(i).ObjIndex > 0 Then - 112 If ObjEsRobable(VictimaIndex, i) Then - 114 If RandomNumber(1, 10) < 4 Then flag = True - + End If End If @@ -2566,11 +2641,9 @@ Private Sub RobarObjeto(ByVal LadronIndex As Integer, ByVal VictimaIndex As Inte 'Hay objeto en este slot? 122 If .Invent.Object(i).ObjIndex > 0 Then - 124 If ObjEsRobable(VictimaIndex, i) Then - 126 If RandomNumber(1, 10) < 4 Then flag = True - + End If End If @@ -2579,41 +2652,40 @@ Private Sub RobarObjeto(ByVal LadronIndex As Integer, ByVal VictimaIndex As Inte Loop End If - + 130 If flag Then Dim MiObj As t_Obj + Dim Num As Integer + Dim ObjAmount As Integer 132 ObjAmount = .Invent.Object(i).amount - 'Cantidad al azar entre el 3 y el 6% del total, con minimo 1. 134 Num = MaximoInt(1, RandomNumber(ObjAmount * 0.03, ObjAmount * 0.06)) - 136 MiObj.amount = Num 138 MiObj.ObjIndex = .Invent.Object(i).ObjIndex - 140 .Invent.Object(i).amount = ObjAmount - Num - + 142 If .Invent.Object(i).amount <= 0 Then 144 Call QuitarUserInvItem(VictimaIndex, CByte(i), 1) End If - + 146 Call UpdateUserInv(False, VictimaIndex, CByte(i)) - + 148 If Not MeterItemEnInventario(LadronIndex, MiObj) Then 150 Call TirarItemAlPiso(UserList(LadronIndex).Pos, MiObj) - + End If - + 152 If UserList(LadronIndex).clase = e_Class.Thief Then 154 Call WriteConsoleMsg(LadronIndex, "Has robado " & MiObj.amount & " " & ObjData(MiObj.ObjIndex).Name, e_FontTypeNames.FONTTYPE_New_Rojo_Salmon) 156 Call WriteConsoleMsg(VictimaIndex, UserList(LadronIndex).Name & " te ha robado " & MiObj.amount & " " & ObjData(MiObj.ObjIndex).Name, e_FontTypeNames.FONTTYPE_New_Rojo_Salmon) Else 158 Call WriteConsoleMsg(LadronIndex, "Has hurtado " & MiObj.amount & " " & ObjData(MiObj.ObjIndex).Name, e_FontTypeNames.FONTTYPE_New_Rojo_Salmon) - + End If Else @@ -2626,31 +2698,26 @@ Private Sub RobarObjeto(ByVal LadronIndex As Integer, ByVal VictimaIndex As Inte End With - Exit Sub - RobarObjeto_Err: 164 Call TraceError(Err.Number, Err.Description, "Trabajo.RobarObjeto", Erl) - End Sub Public Sub QuitarSta(ByVal UserIndex As Integer, ByVal Cantidad As Integer) - + On Error GoTo QuitarSta_Err - + 100 UserList(UserIndex).Stats.MinSta = UserList(UserIndex).Stats.MinSta - Cantidad 102 If UserList(UserIndex).Stats.MinSta < 0 Then UserList(UserIndex).Stats.MinSta = 0 104 If UserList(UserIndex).Stats.MinSta = 0 Then Exit Sub 106 Call WriteUpdateSta(UserIndex) - Exit Sub - QuitarSta_Err: 108 Call TraceError(Err.Number, Err.Description, "Trabajo.QuitarSta", Erl) 110 - + End Sub Public Sub DoRaices(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte) @@ -2658,106 +2725,107 @@ Public Sub DoRaices(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte On Error GoTo ErrHandler Dim Suerte As Integer + Dim res As Integer - + 100 With UserList(UserIndex) - + 102 If .flags.Privilegios And (e_PlayerType.Consejero) Then Exit Sub + End If - + 104 If .Stats.MinSta > 2 Then 106 Call QuitarSta(UserIndex, 2) - Else - 108 Call WriteLocaleMsg(UserIndex, "93", e_FontTypeNames.FONTTYPE_INFO) - Call WriteConsoleMsg(UserIndex, "Estás muy cansado para obtener raices.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg650=Estás muy cansado para obtener raices. + Call WriteLocaleMsg(UserIndex, "650", e_FontTypeNames.FONTTYPE_INFO) 110 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Sub - + End If - + Dim Skill As Integer -112 Skill = .Stats.UserSkills(e_Skill.Alquimia) - + +112 Skill = .Stats.UserSkills(e_Skill.Alquimia) 114 Suerte = Int(-0.00125 * Skill * Skill - 0.3 * Skill + 49) 116 res = RandomNumber(1, Suerte) - -'118 Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageArmaMov(.Char.CharIndex)) - + + '118 Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageArmaMov(.Char.CharIndex)) Rem Ladder 06/08/14 Subo un poco la probabilidad de sacar raices... porque era muy lento 120 If res < 7 Then - + Dim nPos As t_WorldPos + Dim MiObj As t_Obj - + Call ActualizarRecurso(.pos.Map, x, y) - 'If .clase = e_Class.Druid Then 'MiObj.Amount = RandomNumber(6, 8) ' Else 122 MiObj.amount = RandomNumber(5, 7) ' End If - 128 MiObj.amount = Round(MiObj.amount * 2.5 * RecoleccionMult) 130 MiObj.ObjIndex = Raices - 132 MapData(.Pos.Map, X, Y).ObjInfo.amount = MapData(.Pos.Map, X, Y).ObjInfo.amount - MiObj.amount - + 134 If MapData(.Pos.Map, X, Y).ObjInfo.amount < 0 Then 136 MapData(.Pos.Map, X, Y).ObjInfo.amount = 0 + End If - + 140 If Not MeterItemEnInventario(UserIndex, MiObj) Then - 142 Call TirarItemAlPiso(.Pos, MiObj) - + End If - + 'Call WriteConsoleMsg(UserIndex, "¡Has conseguido algunas raices!", e_FontTypeNames.FONTTYPE_INFO) 144 Call WriteTextCharDrop(UserIndex, "+" & MiObj.amount, .Char.CharIndex, vbWhite) 146 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessagePlayWave(SND_TALAR, .pos.x, .pos.y)) Else 148 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessagePlayWave(SND_TALAR, .pos.x, .pos.y)) - + End If - + 150 Call SubirSkill(UserIndex, e_Skill.Alquimia) - 152 .Counters.Trabajando = .Counters.Trabajando + 1 .Counters.LastTrabajo = Int(IntervaloTrabajarExtraer / 1000) - + 154 If .Counters.Trabajando = 1 And Not .flags.UsandoMacro Then 156 Call WriteMacroTrabajoToggle(UserIndex, True) + End If - + End With - - Exit Sub + Exit Sub ErrHandler: 158 Call LogError("Error en DoRaices") End Sub -Public Sub DoTalar(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte, Optional ByVal ObjetoDorado As Boolean = False) +Public Sub DoTalar(ByVal UserIndex As Integer, _ + ByVal x As Byte, _ + ByVal y As Byte, _ + Optional ByVal ObjetoDorado As Boolean = False) + On Error GoTo ErrHandler Dim Suerte As Integer + Dim res As Integer 100 With UserList(UserIndex) -102 If .flags.Privilegios And (e_PlayerType.Consejero) Then +102 If .flags.Privilegios And (e_PlayerType.Consejero) Then Exit Sub - End If + End If - 'EsfuerzoTalarLeñador = 1 + 'EsfuerzoTalarLeñador = 1 104 If .Stats.MinSta > 5 Then 106 Call QuitarSta(UserIndex, 5) - Else 108 Call WriteLocaleMsg(UserIndex, "93", e_FontTypeNames.FONTTYPE_INFO) 'Call WriteConsoleMsg(UserIndex, "Estás muy cansado para talar.", e_FontTypeNames.FONTTYPE_INFO) @@ -2770,7 +2838,6 @@ Public Sub DoTalar(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte, 112 Skill = .Stats.UserSkills(e_Skill.Talar) 114 Suerte = Int(-0.00125 * Skill * Skill - 0.3 * Skill + 49) - 'HarThaoS: Le agrego más dificultad al talar en zona segura. 37% probabilidad de fallo en segura vs 16% en insegura 116 res = RandomNumber(1, IIf(MapInfo(UserList(userindex).Pos.map).Seguro = 1, Suerte + 4, Suerte)) @@ -2778,10 +2845,10 @@ Public Sub DoTalar(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte, If ObjData(MapData(.pos.map, x, y).ObjInfo.objIndex).Pino = 1 Then res = 1 Suerte = 100 - End If -'118 Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageArmaMov(.Char.CharIndex)) + End If + '118 Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageArmaMov(.Char.CharIndex)) 120 If res < 6 Then Dim nPos As t_WorldPos @@ -2790,41 +2857,46 @@ Public Sub DoTalar(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte, 122 Call ActualizarRecurso(.Pos.Map, X, Y) 124 MapData(.Pos.Map, X, Y).ObjInfo.Data = GetTickCount() ' Ultimo uso - + 125 If .clase = Trabajador Then 126 MiObj.amount = GetExtractResourceForLevel(.Stats.ELV) Else 127 MiObj.amount = RandomNumber(1, 2) + End If + 128 MiObj.amount = MiObj.amount * RecoleccionMult 129 If ObjData(MapData(.pos.map, x, y).ObjInfo.objIndex).Elfico = 1 Then 130 MiObj.objIndex = ElvenWood - ElseIf ObjData(MapData(.pos.map, x, y).ObjInfo.objIndex).Pino = 1 Then MiObj.objIndex = PinoWood - Else 132 MiObj.objIndex = Wood + End If - + 134 If MiObj.amount > MapData(.Pos.Map, X, Y).ObjInfo.amount Then 136 MiObj.amount = MapData(.Pos.Map, X, Y).ObjInfo.amount + End If - + 138 MapData(.Pos.Map, X, Y).ObjInfo.amount = MapData(.Pos.Map, X, Y).ObjInfo.amount - MiObj.amount - ' AGREGAR FX + ' AGREGAR FX Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(.Char.CharIndex, 253, 25, False, ObjData(MiObj.ObjIndex).GrhIndex)) + 140 If Not MeterItemEnInventario(UserIndex, MiObj) Then 142 Call TirarItemAlPiso(.Pos, MiObj) + End If - + 144 Call WriteTextCharDrop(UserIndex, "+" & MiObj.amount, .Char.CharIndex, vbWhite) If MapInfo(.Pos.Map).Seguro = 1 Then 146 Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessagePlayWave(SND_TALAR, .Pos.X, .Pos.Y)) Else 145 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(SND_TALAR, .Pos.X, .Pos.y)) + End If ' Al talar también podés dropear cosas raras (se setean desde RecursosEspeciales.dat) @@ -2839,9 +2911,9 @@ Public Sub DoTalar(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte, 152 If res = 1 Then 154 MiObj.ObjIndex = EspecialesTala(i).ObjIndex 156 MiObj.amount = 1 ' Solo un item por vez - ' Tiro siempre el item al piso, me parece más rolero, como que cae del árbol :P 158 Call TirarItemAlPiso(.Pos, MiObj) + End If 160 Next i @@ -2850,40 +2922,46 @@ Public Sub DoTalar(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte, 162 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(64, .Pos.X, .Pos.y)) End If - + 164 Call SubirSkill(UserIndex, e_Skill.Talar) - 166 .Counters.Trabajando = .Counters.Trabajando + 1 .Counters.LastTrabajo = Int(IntervaloTrabajarExtraer / 1000) - + 168 If .Counters.Trabajando = 1 And Not .flags.UsandoMacro Then 170 Call WriteMacroTrabajoToggle(UserIndex, True) + End If - + End With Exit Sub - ErrHandler: 172 Call LogError("Error en DoTalar") End Sub -Public Sub DoMineria(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byte, Optional ByVal ObjetoDorado As Boolean = False) +Public Sub DoMineria(ByVal UserIndex As Integer, _ + ByVal x As Byte, _ + ByVal y As Byte, _ + Optional ByVal ObjetoDorado As Boolean = False) On Error GoTo ErrHandler - Dim Suerte As Integer - Dim res As Integer - Dim Metal As Integer - Dim Yacimiento As t_ObjData + Dim Suerte As Integer + + Dim res As Integer + + Dim Metal As Integer + + Dim Yacimiento As t_ObjData 100 With UserList(UserIndex) - + 102 If .flags.Privilegios And (e_PlayerType.Consejero) Then Exit Sub + End If - + 'Por Ladder 06/07/2014 Cuando la estamina llega a 0 , el macro se desactiva 104 If .Stats.MinSta > 5 Then 106 Call QuitarSta(UserIndex, 5) @@ -2892,139 +2970,131 @@ Public Sub DoMineria(ByVal UserIndex As Integer, ByVal X As Byte, ByVal Y As Byt 'Call WriteConsoleMsg(UserIndex, "Estás muy cansado para excavar.", e_FontTypeNames.FONTTYPE_INFO) 110 Call WriteMacroTrabajoToggle(UserIndex, False) Exit Sub - + End If - + 'Por Ladder 06/07/2014 - Dim Skill As Integer - + 112 Skill = .Stats.UserSkills(e_Skill.Mineria) 114 Suerte = Int(-0.00125 * Skill * Skill - 0.3 * Skill + 49) - 'HarThaoS: Le agrego más dificultad al talar en zona segura. 37% probabilidad de fallo en segura vs 16% en insegura 116 res = RandomNumber(1, IIf(MapInfo(UserList(userindex).Pos.map).Seguro = 1, Suerte + 2, Suerte)) - -'118 Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageArmaMov(.Char.CharIndex)) - + '118 Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageArmaMov(.Char.CharIndex)) 'ReyarB: aumento chances solamente si es mineria de blodium. If ObjData(MapData(.pos.map, x, y).ObjInfo.objIndex).MineralIndex = 3787 Then res = 1 Suerte = 100 + End If - + 120 If res <= 5 Then - + Dim MiObj As t_Obj + Dim nPos As t_WorldPos - + 122 Call ActualizarRecurso(.Pos.Map, X, Y) 124 MapData(.Pos.Map, X, Y).ObjInfo.Data = GetTickCount() ' Ultimo uso - 126 Yacimiento = ObjData(MapData(.Pos.Map, X, Y).ObjInfo.ObjIndex) - 128 MiObj.ObjIndex = Yacimiento.MineralIndex + 129 If .clase = Trabajador Then 130 MiObj.amount = GetExtractResourceForLevel(.Stats.ELV) Else 131 MiObj.amount = RandomNumber(1, 2) + End If + 132 MiObj.amount = MiObj.amount * RecoleccionMult - + 133 If MiObj.amount > MapData(.pos.map, X, y).ObjInfo.amount Then 134 MiObj.amount = MapData(.Pos.Map, X, Y).ObjInfo.amount + End If - + 136 MapData(.Pos.Map, X, Y).ObjInfo.amount = MapData(.Pos.Map, X, Y).ObjInfo.amount - MiObj.amount - + 138 If Not MeterItemEnInventario(UserIndex, MiObj) Then Call TirarItemAlPiso(.Pos, MiObj) - ' AGREGAR FX + ' AGREGAR FX Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(.Char.CharIndex, 253, 25, False, ObjData(MiObj.ObjIndex).GrhIndex)) - 139 Call WriteTextCharDrop(UserIndex, "+" & MiObj.amount, .Char.CharIndex, vbWhite) +140 ' Msg651=¡Has extraído algunos minerales! + Call WriteLocaleMsg(UserIndex, "651", e_FontTypeNames.FONTTYPE_INFO) -140 Call WriteConsoleMsg(UserIndex, "¡Has extraido algunos minerales!", e_FontTypeNames.FONTTYPE_INFO) If MapInfo(.Pos.Map).Seguro = 1 Then 141 Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessagePlayWave(15, .Pos.X, .Pos.Y)) Else 142 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(15, .Pos.X, .Pos.y)) + End If - + ' Al minar también puede dropear una gema Dim i As Integer - + ' Por cada drop posible 144 For i = 1 To Yacimiento.CantItem ' Tiramos al azar entre 1 y la probabilidad 146 res = RandomNumber(1, Yacimiento.Item(i).amount) - + ' Si tiene suerte y le pega 148 If res = 1 Then ' Se lo metemos al inventario (o lo tiramos al piso) 150 MiObj.ObjIndex = Yacimiento.Item(i).ObjIndex 152 MiObj.amount = 1 ' Solo una gema por vez - -154 If Not MeterItemEnInventario(UserIndex, MiObj) Then Call TirarItemAlPiso(.Pos, MiObj) +154 If Not MeterItemEnInventario(UserIndex, MiObj) Then Call TirarItemAlPiso(.pos, MiObj) ' Le mandamos un mensaje 156 Call WriteConsoleMsg(UserIndex, "¡Has conseguido " & ObjData(Yacimiento.Item(i).ObjIndex).name & "!", e_FontTypeNames.FONTTYPE_INFO) + End If - + Next - Else 158 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessagePlayWave(2185, .Pos.X, .Pos.y)) End If 160 Call SubirSkill(UserIndex, e_Skill.Mineria) - 162 .Counters.Trabajando = .Counters.Trabajando + 1 .Counters.LastTrabajo = Int(IntervaloTrabajarExtraer / 1000) 164 If .Counters.Trabajando = 1 And Not .flags.UsandoMacro Then 166 Call WriteMacroTrabajoToggle(UserIndex, True) + End If - + End With - - Exit Sub + Exit Sub ErrHandler: 168 Call LogError("Error en Sub DoMineria") End Sub Public Sub DoMeditar(ByVal UserIndex As Integer) - + On Error GoTo DoMeditar_Err Dim Mana As Long - -100 With UserList(UserIndex) +100 With UserList(UserIndex) 102 .Counters.TimerMeditar = .Counters.TimerMeditar + 1 .Counters.TiempoInicioMeditar = .Counters.TiempoInicioMeditar + 1 -104 If .Counters.TimerMeditar >= IntervaloMeditar And .Counters.TiempoInicioMeditar > 20 Then +104 If .Counters.TimerMeditar >= IntervaloMeditar And .Counters.TiempoInicioMeditar > 20 Then 106 Mana = Porcentaje(.Stats.MaxMAN, Porcentaje(PorcentajeRecuperoMana, 50 + .Stats.UserSkills(e_Skill.Meditar) * 0.5)) 108 If Mana <= 0 Then Mana = 1 - 110 If .Stats.MinMAN + Mana >= .Stats.MaxMAN Then - 112 .Stats.MinMAN = .Stats.MaxMAN 114 .flags.Meditando = False 116 .Char.FX = 0 - 118 Call WriteUpdateMana(UserIndex) 120 Call SubirSkill(UserIndex, Meditar) - 122 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessageMeditateToggle(.Char.charindex, 0)) - Else - 124 .Stats.MinMAN = .Stats.MinMAN + Mana 126 Call WriteUpdateMana(UserIndex) 128 Call SubirSkill(UserIndex, Meditar) @@ -3032,68 +3102,82 @@ Public Sub DoMeditar(ByVal UserIndex As Integer) End If 130 .Counters.TimerMeditar = 0 + End If End With - Exit Sub - DoMeditar_Err: 132 Call TraceError(Err.Number, Err.Description, "Trabajo.DoMeditar", Erl) 134 - + End Sub -Public Sub DoMontar(ByVal UserIndex As Integer, ByRef Montura As t_ObjData, ByVal Slot As Integer) +Public Sub DoMontar(ByVal UserIndex As Integer, _ + ByRef Montura As t_ObjData, _ + ByVal Slot As Integer) + On Error GoTo DoMontar_Err 100 With UserList(UserIndex) + 102 If PuedeUsarObjeto(UserIndex, .Invent.Object(Slot).ObjIndex, True) > 0 Then Exit Sub + End If 104 If .flags.Montado = 0 And .Counters.EnCombate > 0 Then 106 Call WriteConsoleMsg(UserIndex, "Estás en combate, debes aguardar " & .Counters.EnCombate & " segundo(s) para montar...", e_FontTypeNames.FONTTYPE_INFOBOLD) Exit Sub + End If 108 If .flags.EnReto Then -110 Call WriteConsoleMsg(UserIndex, "No podés montar en un reto.", e_FontTypeNames.FONTTYPE_INFO) +110 ' Msg652=No podés montar en un reto. + Call WriteLocaleMsg(UserIndex, "652", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If 114 If .flags.Montado = 0 And (MapData(.pos.Map, .pos.x, .pos.y).trigger > 10) Then -116 Call WriteConsoleMsg(UserIndex, "No podés montar aquí.", e_FontTypeNames.FONTTYPE_INFO) +116 ' Msg653=No podés montar aquí. + Call WriteLocaleMsg(UserIndex, "653", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If - + If .flags.Mimetizado <> e_EstadoMimetismo.Desactivado Then - Call WriteConsoleMsg(UserIndex, "Pierdes el efecto del mimetismo.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg654=Pierdes el efecto del mimetismo. + Call WriteLocaleMsg(UserIndex, "654", e_FontTypeNames.FONTTYPE_INFO) .Counters.Mimetismo = 0 .flags.Mimetizado = e_EstadoMimetismo.Desactivado Call RefreshCharStatus(UserIndex) + End If - + ' Si está oculto o invisible, hago que pueda montar pero se haga visible 118 If (.flags.Oculto = 1 Or .flags.invisible = 1) And .flags.AdminInvisible = 0 Then - .flags.Oculto = 0 - .flags.invisible = 0 - .Counters.TiempoOculto = 0 - .Counters.DisabledInvisibility = 0 - Call WriteLocaleMsg(UserIndex, "307", e_FontTypeNames.FONTTYPE_INFO) - Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, False, UserList(UserIndex).pos.x, UserList(UserIndex).pos.y)) + .flags.Oculto = 0 + .flags.invisible = 0 + .Counters.TiempoOculto = 0 + .Counters.DisabledInvisibility = 0 + Call WriteLocaleMsg(UserIndex, "307", e_FontTypeNames.FONTTYPE_INFO) + Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareMessageSetInvisible(.Char.charindex, False, UserList(UserIndex).pos.x, UserList(UserIndex).pos.y)) + End If 120 If .flags.Meditando Then 122 .flags.Meditando = False 124 .Char.FX = 0 126 Call SendData(SendTarget.toPCAliveArea, UserIndex, PrepareMessageMeditateToggle(.Char.charindex, 0)) + End If 128 If .flags.Montado = 1 And .Invent.MonturaObjIndex > 0 Then 130 If ObjData(.Invent.MonturaObjIndex).ResistenciaMagica > 0 Then 132 Call UpdateUserInv(False, UserIndex, .Invent.MonturaSlot) + End If End If @@ -3114,9 +3198,9 @@ Public Sub DoMontar(ByVal UserIndex As Integer, ByRef Montura As t_ObjData, ByVa 152 .flags.Montado = 0 154 .Char.Head = .OrigChar.Head Call TargetUpdateTerrain(.EffectOverTime) + 156 If .Invent.ArmourEqpObjIndex > 0 Then 158 .Char.Body = ObtenerRopaje(UserIndex, ObjData(.Invent.ArmourEqpObjIndex)) - Else Call SetNakedBody(UserList(userIndex)) @@ -3127,19 +3211,19 @@ Public Sub DoMontar(ByVal UserIndex As Integer, ByRef Montura As t_ObjData, ByVa 166 If .Invent.CascoEqpObjIndex > 0 Then .Char.CascoAnim = ObjData(.Invent.CascoEqpObjIndex).CascoAnim 167 If .invent.MagicoObjIndex > 0 Then If ObjData(.invent.MagicoObjIndex).Ropaje > 0 Then .Char.CartAnim = ObjData(.invent.MagicoObjIndex).Ropaje + End If End If 168 Call ActualizarVelocidadDeUsuario(UserIndex) 170 Call ChangeUserChar(UserIndex, .Char.body, .Char.head, .Char.Heading, .Char.WeaponAnim, .Char.ShieldAnim, .Char.CascoAnim, .Char.CartAnim) - 172 Call UpdateUserInv(False, UserIndex, Slot) 174 Call WriteEquiteToggle(UserIndex) + End With Exit Sub - DoMontar_Err: 176 Call TraceError(Err.Number, Err.Description, "Trabajo.DoMontar", Erl) 178 @@ -3147,9 +3231,8 @@ DoMontar_Err: End Sub Public Sub ActualizarRecurso(ByVal Map As Integer, ByVal X As Integer, ByVal Y As Integer) - + On Error GoTo ActualizarRecurso_Err - Dim ObjIndex As Integer @@ -3166,42 +3249,33 @@ Public Sub ActualizarRecurso(ByVal Map As Integer, ByVal X As Integer, ByVal Y A End If - Exit Sub - ActualizarRecurso_Err: 110 Call TraceError(Err.Number, Err.Description, "Trabajo.ActualizarRecurso", Erl) 112 - + End Sub Public Function ObtenerPezRandom(ByVal PoderCania As Integer) As Long - + On Error GoTo ObtenerPezRandom_Err - Dim i As Long, SumaPesos As Long, ValorGenerado As Long - + 100 If PoderCania > UBound(PesoPeces) Then PoderCania = UBound(PesoPeces) 102 SumaPesos = PesoPeces(PoderCania) - 104 ValorGenerado = RandomNumber(0, SumaPesos - 1) - 106 ObtenerPezRandom = Peces(BinarySearchPeces(ValorGenerado)).ObjIndex - Exit Function - ObtenerPezRandom_Err: 108 Call TraceError(Err.Number, Err.Description, "Trabajo.ObtenerPezRandom", Erl) 110 - + End Function Function ModDomar(ByVal clase As e_Class) As Integer - + On Error GoTo ModDomar_Err - - '*************************************************** 'Author: Unknown @@ -3224,20 +3298,15 @@ Function ModDomar(ByVal clase As e_Class) As Integer End Select - Exit Function - ModDomar_Err: 116 Call TraceError(Err.Number, Err.Description, "Trabajo.ModDomar", Erl) - End Function Function FreeMascotaIndex(ByVal UserIndex As Integer) As Integer - + On Error GoTo FreeMascotaIndex_Err - - '*************************************************** 'Author: Unknown @@ -3255,22 +3324,21 @@ Function FreeMascotaIndex(ByVal UserIndex As Integer) As Integer End If 106 Next j - + FreeMascotaIndex = -1 - Exit Function - FreeMascotaIndex_Err: 108 Call TraceError(Err.Number, Err.Description, "Trabajo.FreeMascotaIndex", Erl) - End Function Private Function HayEspacioMascotas(ByVal UserIndex As Integer) As Boolean - HayEspacioMascotas = (FreeMascotaIndex(UserIndex) > 0) + HayEspacioMascotas = (FreeMascotaIndex(UserIndex) > 0) + End Function Sub DoDomar(ByVal UserIndex As Integer, ByVal NpcIndex As Integer) + '*************************************************** 'Author: Nacho (Integer) 'Last Modification: 01/05/2010 @@ -3278,32 +3346,32 @@ Sub DoDomar(ByVal UserIndex As Integer, ByVal NpcIndex As Integer) '02/03/2009: ZaMa - Las criaturas domadas en zona segura, esperan afuera (desaparecen). '01/05/2010: ZaMa - Agrego bonificacion 11% para domar con flauta magica. '*************************************************** - On Error GoTo ErrHandler - Dim puntosDomar As Integer + Dim puntosDomar As Integer + + Dim CanStay As Boolean - Dim CanStay As Boolean + Dim petType As Integer - Dim petType As Integer + Dim NroPets As Integer - Dim NroPets As Integer - 100 If IsValidUserRef(NpcList(npcIndex).MaestroUser) And NpcList(npcIndex).MaestroUser.ArrayIndex = userIndex Then -102 Call WriteConsoleMsg(UserIndex, "Ya domaste a esa criatura.", e_FontTypeNames.FONTTYPE_INFO) +102 ' Msg655=Ya domaste a esa criatura. + Call WriteLocaleMsg(UserIndex, "655", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If 104 With UserList(UserIndex) - 106 If .flags.Privilegios And e_PlayerType.Consejero Then Exit Sub - 108 If .NroMascotas < MAXMASCOTAS And HayEspacioMascotas(UserIndex) Then - 110 If IsValidNpcRef(NpcList(NpcIndex).MaestroNPC) > 0 Or IsValidUserRef(NpcList(NpcIndex).MaestroUser) Then -112 Call WriteConsoleMsg(UserIndex, "La criatura ya tiene amo.", e_FontTypeNames.FONTTYPE_INFO) +112 ' Msg656=La criatura ya tiene amo. + Call WriteLocaleMsg(UserIndex, "656", e_FontTypeNames.FONTTYPE_INFO) Exit Sub + End If 114 puntosDomar = CInt(.Stats.UserAtributos(e_Atributos.Carisma)) * CInt(.Stats.UserSkills(e_Skill.Domar)) @@ -3312,10 +3380,13 @@ Sub DoDomar(ByVal UserIndex As Integer, ByVal NpcIndex As Integer) 118 puntosDomar = puntosDomar / 6 'original es 6 Else 120 puntosDomar = puntosDomar / 118 'para que solo el druida dome + End If 122 If NpcList(NpcIndex).flags.Domable <= puntosDomar And RandomNumber(1, 5) = 1 Then + Dim Index As Integer + 124 .NroMascotas = .NroMascotas + 1 126 Index = FreeMascotaIndex(UserIndex) 128 Call SetNpcRef(.MascotasIndex(Index), NpcIndex) @@ -3324,8 +3395,8 @@ Sub DoDomar(ByVal UserIndex As Integer, ByVal NpcIndex As Integer) .flags.ModificoMascotas = True 134 Call FollowAmo(NpcIndex) 136 Call ReSpawnNpc(NpcList(NpcIndex)) - -138 Call WriteConsoleMsg(UserIndex, "La criatura te ha aceptado como su amo.", e_FontTypeNames.FONTTYPE_INFO) +138 ' Msg657=La criatura te ha aceptado como su amo. + Call WriteLocaleMsg(UserIndex, "657", e_FontTypeNames.FONTTYPE_INFO) ' Es zona segura? 140 If MapInfo(.pos.Map).NoMascotas = 1 Then @@ -3334,21 +3405,32 @@ Sub DoDomar(ByVal UserIndex As Integer, ByVal NpcIndex As Integer) 146 Call QuitarNPC(NpcIndex, eNewPet) 148 .MascotasType(Index) = petType 150 .NroMascotas = NroPets -152 Call WriteConsoleMsg(UserIndex, "No se permiten mascotas en zona segura. estas te esperaran afuera.", e_FontTypeNames.FONTTYPE_INFO) +152 ' Msg658=No se permiten mascotas en zona segura. estas te esperaran afuera. + Call WriteLocaleMsg(UserIndex, "658", e_FontTypeNames.FONTTYPE_INFO) + End If + Else + 154 If Not .flags.UltimoMensaje = 5 Then -156 Call WriteConsoleMsg(UserIndex, "No has logrado domar la criatura.", e_FontTypeNames.FONTTYPE_INFO) +156 ' Msg659=No has logrado domar la criatura. + Call WriteLocaleMsg(UserIndex, "659", e_FontTypeNames.FONTTYPE_INFO) 158 .flags.UltimoMensaje = 5 + End If + End If + 160 Call SubirSkill(UserIndex, e_Skill.Domar) Else -162 Call WriteConsoleMsg(UserIndex, "No puedes controlar mas criaturas.", e_FontTypeNames.FONTTYPE_INFO) +162 ' Msg660=No puedes controlar mas criaturas. + Call WriteLocaleMsg(UserIndex, "660", e_FontTypeNames.FONTTYPE_INFO) + End If + End With - Exit Sub + Exit Sub ErrHandler: 164 Call LogError("Error en DoDomar. Error " & Err.Number & " : " & Err.Description) @@ -3362,10 +3444,8 @@ End Sub ' @return boolean True if can, false if not. Private Function PuedeDomarMascota(ByVal UserIndex As Integer, _ ByVal NpcIndex As Integer) As Boolean - + On Error GoTo PuedeDomarMascota_Err - - '*************************************************** 'Author: ZaMa @@ -3376,7 +3456,7 @@ Private Function PuedeDomarMascota(ByVal UserIndex As Integer, _ Dim i As Long Dim numMascotas As Long - + 100 For i = 1 To MAXMASCOTAS 102 If UserList(UserIndex).MascotasType(i) = NpcList(NpcIndex).Numero Then @@ -3385,153 +3465,202 @@ Private Function PuedeDomarMascota(ByVal UserIndex As Integer, _ End If 106 Next i - + 108 If numMascotas <= 1 Then PuedeDomarMascota = True - - Exit Function - PuedeDomarMascota_Err: 110 Call TraceError(Err.Number, Err.Description, "Trabajo.PuedeDomarMascota", Erl) - End Function Public Function EntregarPezEspecial(ByVal UserIndex As Integer) + With UserList(UserIndex) + If .flags.PescandoEspecial Then + Dim obj As t_Obj + obj.amount = 1 obj.ObjIndex = .Stats.NumObj_PezEspecial + If Not MeterItemEnInventario(UserIndex, obj) Then Call TirarItemAlPiso(.Pos, obj) + End If - + Call SendData(SendTarget.ToIndex, UserIndex, PrepareMessageParticleFX(.Char.CharIndex, 253, 25, False, ObjData(obj.ObjIndex).GrhIndex)) Call WriteConsoleMsg(UserIndex, "Felicitaciones has pescado un pez de gran porte ( " & ObjData(obj.ObjIndex).Name & " )", e_FontTypeNames.FONTTYPE_INFOBOLD) .Stats.NumObj_PezEspecial = 0 .flags.PescandoEspecial = False + End If + End With + End Function Public Sub FishOrThrowNet(ByVal UserIndex As Integer) -On Error GoTo FishOrThrowNet_Err: -100 With UserList(UserIndex) -102 If ObjData(.invent.HerramientaEqpObjIndex).OBJType <> e_OBJType.otHerramientas Then Exit Sub -104 If ObjData(.invent.HerramientaEqpObjIndex).Subtipo = e_ToolsSubtype.eFishingNet Then -106 If MapInfo(.pos.map).Seguro = 1 Or _ - Not ExpectObjectTypeAt(e_OBJType.otFishingPool, .pos.map, .Trabajo.Target_X, .Trabajo.Target_Y) Then -108 If IsValidUserRef(.flags.TargetUser) Or IsValidNpcRef(.flags.TargetNPC) Then -110 ThrowNetToTarget (UserIndex) -112 Call WriteWorkRequestTarget(UserIndex, 0) - Exit Sub + + On Error GoTo FishOrThrowNet_Err: + +100 With UserList(UserIndex) + +102 If ObjData(.invent.HerramientaEqpObjIndex).OBJType <> e_OBJType.otHerramientas Then Exit Sub +104 If ObjData(.invent.HerramientaEqpObjIndex).Subtipo = e_ToolsSubtype.eFishingNet Then +106 If MapInfo(.pos.Map).Seguro = 1 Or Not ExpectObjectTypeAt(e_OBJType.otFishingPool, .pos.Map, .Trabajo.Target_X, .Trabajo.Target_Y) Then + +108 If IsValidUserRef(.flags.TargetUser) Or IsValidNpcRef(.flags.TargetNPC) Then +110 ThrowNetToTarget (UserIndex) +112 Call WriteWorkRequestTarget(UserIndex, 0) + Exit Sub + + End If + End If + End If - End If -114 Call Trabajar(UserIndex, e_Skill.Pescar) - End With - Exit Sub + +114 Call Trabajar(UserIndex, e_Skill.Pescar) + + End With + + Exit Sub FishOrThrowNet_Err: - Call TraceError(Err.Number, Err.Description, "Trabajo.FishOrThrowNet", Erl) + Call TraceError(Err.Number, Err.Description, "Trabajo.FishOrThrowNet", Erl) + End Sub Sub ThrowNetToTarget(ByVal UserIndex As Integer) -On Error GoTo ThrowNetToTarget_Err: -100 With UserList(UserIndex) -102 If .invent.HerramientaEqpObjIndex = 0 Then Exit Sub -104 If ObjData(.invent.HerramientaEqpObjIndex).OBJType <> e_OBJType.otHerramientas Then Exit Sub -106 If ObjData(.invent.HerramientaEqpObjIndex).Subtipo <> e_ToolsSubtype.eFishingNet Then Exit Sub - - 'If it's outside range log it and exit -108 If Abs(.pos.X - .Trabajo.Target_X) > RANGO_VISION_X Or Abs(.pos.y - .Trabajo.Target_Y) > RANGO_VISION_Y Then -110 Call LogSecurity("Ataque fuera de rango de " & .name & "(" & .pos.Map & "/" & .pos.x & "/" & .pos.y & ") ip: " & .ConnectionDetails.IP & " a la posicion (" & .pos.Map & "/" & .Trabajo.Target_X & "/" & .Trabajo.Target_Y & ")") - Exit Sub - End If - - 'Check bow's interval -112 If Not IntervaloPermiteUsarArcos(UserIndex, False) Then Exit Sub - 'Check attack-spell interval -114 If Not IntervaloPermiteGolpeMagia(UserIndex, False) Then Exit Sub - 'Check Magic interval -116 If Not IntervaloPermiteLanzarSpell(UserIndex) Then Exit Sub - 'check item cd - - -118 Dim ThrowNet As Boolean -120 ThrowNet = False -122 If IsValidUserRef(UserList(UserIndex).flags.TargetUser) Then -124 Dim tU As Integer -126 tU = UserList(UserIndex).flags.TargetUser.ArrayIndex -128 If UserIndex = tU Then -130 Call WriteLocaleMsg(UserIndex, MsgCantAttackYourself, e_FontTypeNames.FONTTYPE_FIGHT) - Exit Sub - End If - If IsSet(UserList(tU).flags.StatusMask, eCCInmunity) Then - Call WriteLocaleMsg(UserIndex, MsgCCInunity, e_FontTypeNames.FONTTYPE_FIGHT) - Exit Sub - End If - If Not UserMod.CanMove(UserList(tU).flags, UserList(tU).Counters) Then -136 Call WriteConsoleMsg(UserIndex, "No podes inmovilizar un objetivo que no puede moverse.", e_FontTypeNames.FONTTYPE_FIGHT) + + On Error GoTo ThrowNetToTarget_Err: + +100 With UserList(UserIndex) + +102 If .invent.HerramientaEqpObjIndex = 0 Then Exit Sub +104 If ObjData(.invent.HerramientaEqpObjIndex).OBJType <> e_OBJType.otHerramientas Then Exit Sub +106 If ObjData(.invent.HerramientaEqpObjIndex).Subtipo <> e_ToolsSubtype.eFishingNet Then Exit Sub + + 'If it's outside range log it and exit +108 If Abs(.pos.x - .Trabajo.Target_X) > RANGO_VISION_X Or Abs(.pos.y - .Trabajo.Target_Y) > RANGO_VISION_Y Then +110 Call LogSecurity("Ataque fuera de rango de " & .name & "(" & .pos.Map & "/" & .pos.x & "/" & .pos.y & ") ip: " & .ConnectionDetails.IP & " a la posicion (" & .pos.Map & "/" & .Trabajo.Target_X & "/" & .Trabajo.Target_Y & ")") Exit Sub + End If - -140 If Not PuedeAtacar(UserIndex, tU) Then Exit Sub - -142 Call UsuarioAtacadoPorUsuario(UserIndex, tU) - -144 UserList(tU).Counters.Inmovilizado = NET_INMO_DURATION -146 If UserList(tU).flags.Inmovilizado = 0 Then -148 UserList(tU).flags.Inmovilizado = 1 -150 Call SendData(SendTarget.ToPCAliveArea, tU, PrepareMessageCreateFX(UserList(tU).Char.charindex, FISHING_NET_FX, 0, UserList(tU).pos.X, UserList(tU).pos.y)) -152 Call WriteInmovilizaOK(tU) -154 Call WritePosUpdate(tU) -156 ThrowNet = True - End If -158 Call SetUserRef(UserList(UserIndex).flags.TargetUser, 0) -160 ElseIf IsValidNpcRef(UserList(UserIndex).flags.TargetNPC) Then - -162 Dim npcIndex As Integer -164 NpcIndex = UserList(UserIndex).flags.TargetNPC.ArrayIndex -166 If NpcList(npcIndex).flags.AfectaParalisis = 0 Then - - Dim UserAttackInteractionResult As t_AttackInteractionResult - UserAttackInteractionResult = UserCanAttackNpc(UserIndex, NpcIndex) - Call SendAttackInteractionMessage(UserIndex, UserAttackInteractionResult.Result) - If UserAttackInteractionResult.CanAttack Then - If UserAttackInteractionResult.TurnPK Then Call VolverCriminal(UserIndex) - Else + + 'Check bow's interval +112 If Not IntervaloPermiteUsarArcos(UserIndex, False) Then Exit Sub + + 'Check attack-spell interval +114 If Not IntervaloPermiteGolpeMagia(UserIndex, False) Then Exit Sub + + 'Check Magic interval +116 If Not IntervaloPermiteLanzarSpell(UserIndex) Then Exit Sub + + 'check item cd +118 Dim ThrowNet As Boolean + +120 ThrowNet = False + +122 If IsValidUserRef(UserList(UserIndex).flags.TargetUser) Then + +124 Dim tU As Integer + +126 tU = UserList(UserIndex).flags.TargetUser.ArrayIndex + +128 If UserIndex = tU Then +130 Call WriteLocaleMsg(UserIndex, MsgCantAttackYourself, e_FontTypeNames.FONTTYPE_FIGHT) Exit Sub + End If -170 Call NPCAtacado(npcIndex, UserIndex) -172 NpcList(npcIndex).flags.Inmovilizado = 1 -174 NpcList(npcIndex).Contadores.Inmovilizado = (NET_INMO_DURATION * 6.5) * 6 -176 NpcList(npcIndex).flags.Paralizado = 0 -178 NpcList(npcIndex).Contadores.Paralisis = 0 -180 Call AnimacionIdle(npcIndex, True) -182 ThrowNet = True -184 Call SendData(SendTarget.ToNPCAliveArea, npcIndex, PrepareMessageFxPiso(FISHING_NET_FX, NpcList(npcIndex).pos.X, NpcList(npcIndex).pos.y)) -186 Call ClearNpcRef(UserList(UserIndex).flags.TargetNPC) - Else -188 Call WriteLocaleMsg(UserIndex, MSgNpcInmuneToEffect, e_FontTypeNames.FONTTYPE_INFOIAO) + + If IsSet(UserList(tU).flags.StatusMask, eCCInmunity) Then + Call WriteLocaleMsg(UserIndex, MsgCCInunity, e_FontTypeNames.FONTTYPE_FIGHT) + Exit Sub + + End If + + If Not UserMod.CanMove(UserList(tU).flags, UserList(tU).Counters) Then +136 ' Msg661=No podes inmovilizar un objetivo que no puede moverse. + Call WriteLocaleMsg(UserIndex, "661", e_FontTypeNames.FONTTYPE_FIGHT) + Exit Sub + + End If + +140 If Not PuedeAtacar(UserIndex, tU) Then Exit Sub +142 Call UsuarioAtacadoPorUsuario(UserIndex, tU) +144 UserList(tU).Counters.Inmovilizado = NET_INMO_DURATION + +146 If UserList(tU).flags.Inmovilizado = 0 Then +148 UserList(tU).flags.Inmovilizado = 1 +150 Call SendData(SendTarget.ToPCAliveArea, tU, PrepareMessageCreateFX(UserList(tU).Char.charindex, FISHING_NET_FX, 0, UserList(tU).pos.x, UserList(tU).pos.y)) +152 Call WriteInmovilizaOK(tU) +154 Call WritePosUpdate(tU) +156 ThrowNet = True + + End If + +158 Call SetUserRef(UserList(UserIndex).flags.TargetUser, 0) +160 ElseIf IsValidNpcRef(UserList(UserIndex).flags.TargetNPC) Then + +162 Dim NpcIndex As Integer + +164 NpcIndex = UserList(UserIndex).flags.TargetNPC.ArrayIndex + +166 If NpcList(NpcIndex).flags.AfectaParalisis = 0 Then + + Dim UserAttackInteractionResult As t_AttackInteractionResult + + UserAttackInteractionResult = UserCanAttackNpc(UserIndex, NpcIndex) + Call SendAttackInteractionMessage(UserIndex, UserAttackInteractionResult.Result) + + If UserAttackInteractionResult.CanAttack Then + If UserAttackInteractionResult.TurnPK Then Call VolverCriminal(UserIndex) + Else + Exit Sub + + End If + +170 Call NPCAtacado(NpcIndex, UserIndex) +172 NpcList(NpcIndex).flags.Inmovilizado = 1 +174 NpcList(NpcIndex).Contadores.Inmovilizado = (NET_INMO_DURATION * 6.5) * 6 +176 NpcList(NpcIndex).flags.Paralizado = 0 +178 NpcList(NpcIndex).Contadores.Paralisis = 0 +180 Call AnimacionIdle(NpcIndex, True) +182 ThrowNet = True +184 Call SendData(SendTarget.ToNPCAliveArea, NpcIndex, PrepareMessageFxPiso(FISHING_NET_FX, NpcList(NpcIndex).pos.x, NpcList(NpcIndex).pos.y)) +186 Call ClearNpcRef(UserList(UserIndex).flags.TargetNPC) + Else +188 Call WriteLocaleMsg(UserIndex, MSgNpcInmuneToEffect, e_FontTypeNames.FONTTYPE_INFOIAO) + + End If + End If - End If - If ThrowNet Then -190 Call UpdateCd(UserIndex, ObjData(.invent.HerramientaEqpObjIndex).cdType) -192 Call QuitarUserInvItem(UserIndex, .invent.HerramientaEqpSlot, 1) -194 Call UpdateUserInv(True, UserIndex, .invent.HerramientaEqpSlot) -196 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareCreateProjectile(UserList(UserIndex).pos.X, UserList(UserIndex).pos.y, .Trabajo.Target_X, .Trabajo.Target_Y, 3)) - End If - End With - Exit Sub + + If ThrowNet Then +190 Call UpdateCd(UserIndex, ObjData(.invent.HerramientaEqpObjIndex).cdType) +192 Call QuitarUserInvItem(UserIndex, .invent.HerramientaEqpSlot, 1) +194 Call UpdateUserInv(True, UserIndex, .invent.HerramientaEqpSlot) +196 Call SendData(SendTarget.ToPCAliveArea, UserIndex, PrepareCreateProjectile(UserList(UserIndex).pos.x, UserList(UserIndex).pos.y, .Trabajo.Target_X, .Trabajo.Target_Y, 3)) + + End If + + End With + + Exit Sub ThrowNetToTarget_Err: - Call TraceError(Err.Number, Err.Description, "Trabajo.ThrowNetToTarget", Erl) + Call TraceError(Err.Number, Err.Description, "Trabajo.ThrowNetToTarget", Erl) + End Sub Public Function GetExtractResourceForLevel(ByVal level As Integer) As Integer + Dim upper As Long + Dim lower As Long + lower = Int(CDbl(level + 0.000001) / 3.6) upper = Int(CDbl(level + 0.000001) / 2) GetExtractResourceForLevel = RandomNumber(lower, upper) + End Function diff --git a/Codigo/modCrafteos.bas b/Codigo/modCrafteos.bas index 52dbc171..5b9af25c 100644 --- a/Codigo/modCrafteos.bas +++ b/Codigo/modCrafteos.bas @@ -160,7 +160,8 @@ Public Sub DoCraftItem(ByVal UserIndex As Integer) 102 If Not .CraftResult Is Nothing Then 104 If .CraftResult.Precio > .Stats.GLD Then -106 Call WriteConsoleMsg(UserIndex, "No tienes el oro suficiente.", e_FontTypeNames.FONTTYPE_INFO) +106 ' Msg588=No tienes el oro suficiente. + Call WriteLocaleMsg(UserIndex, "588", e_FontTypeNames.FONTTYPE_INFO) ' TODO: Mensaje en la ventana de crafteo Exit Sub End If @@ -174,12 +175,14 @@ Public Sub DoCraftItem(ByVal UserIndex As Integer) 114 TmpObj.amount = 1 116 If Not MeterItemEnInventario(UserIndex, TmpObj) Then -118 Call WriteConsoleMsg(UserIndex, "No tenés espacio suficiente en el inventario.", e_FontTypeNames.FONTTYPE_WARNING) +118 ' Msg589=No tenés espacio suficiente en el inventario. + Call WriteLocaleMsg(UserIndex, "589", e_FontTypeNames.FONTTYPE_WARNING) ' TODO: Mensaje en la ventana de crafteo Exit Sub End If -120 Call WriteConsoleMsg(UserIndex, "La combinación ha sido exitosa.", e_FontTypeNames.FONTTYPE_INFO) +120 ' Msg590=La combinación ha sido exitosa. + Call WriteLocaleMsg(UserIndex, "590", e_FontTypeNames.FONTTYPE_INFO) ' TODO: Mensaje en la ventana de crafteo y sonido (? Else 122 Call WriteConsoleMsg(UserIndex, "La combinación ha fallado.", e_FontTypeNames.FONTTYPE_FIGHT) diff --git a/Codigo/modHechizos.bas b/Codigo/modHechizos.bas index a487638c..85c987a7 100644 --- a/Codigo/modHechizos.bas +++ b/Codigo/modHechizos.bas @@ -541,7 +541,8 @@ Sub AgregarHechizo(ByVal UserIndex As Integer, ByVal Slot As Integer) UserList(UserIndex).flags.ModificoHechizos = True Else -120 Call WriteConsoleMsg(UserIndex, "Ya tenes ese hechizo.", e_FontTypeNames.FONTTYPE_INFO) +120 ' Msg525=Ya tenes ese hechizo. + Call WriteLocaleMsg(UserIndex, "525", e_FontTypeNames.FONTTYPE_INFO) End If @@ -1722,11 +1723,13 @@ Sub HechizoEstadoUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) 128 If UserList(tU).Counters.Saliendo Then 130 If UserIndex <> tU Then -132 Call WriteConsoleMsg(UserIndex, "¡El hechizo no tiene efecto!", e_FontTypeNames.FONTTYPE_INFO) +132 ' Msg666=¡El hechizo no tiene efecto! + Call WriteLocaleMsg(UserIndex, "666", e_FontTypeNames.FONTTYPE_INFO) 134 b = False Exit Sub Else -136 Call WriteConsoleMsg(UserIndex, "¡No podés ponerte invisible mientras te encuentres saliendo!", e_FontTypeNames.FONTTYPE_WARNING) +136 ' Msg667=¡No podés ponerte invisible mientras te encuentres saliendo! + Call WriteLocaleMsg(UserIndex, "667", e_FontTypeNames.FONTTYPE_WARNING) 138 b = False Exit Sub End If @@ -1737,12 +1740,14 @@ Sub HechizoEstadoUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) Case 1, 3, 5 'Ciudadano o armada If Status(tU) <> e_Facciones.Ciudadano And Status(tU) <> e_Facciones.Armada And Status(tU) <> e_Facciones.consejo Then If Status(UserIndex) = e_Facciones.Armada Or Status(UserIndex) = e_Facciones.consejo Then - Call WriteConsoleMsg(UserIndex, "No puedes ayudar criminales.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg662=No puedes ayudar criminales. + Call WriteLocaleMsg(UserIndex, "662", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub ElseIf Status(UserIndex) = e_Facciones.Ciudadano Then If UserList(UserIndex).flags.Seguro = True Then - Call WriteConsoleMsg(UserIndex, "Para ayudar criminales deberás desactivar el seguro.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg663=Para ayudar criminales deberás desactivar el seguro. + Call WriteLocaleMsg(UserIndex, "663", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub Else @@ -1751,7 +1756,8 @@ Sub HechizoEstadoUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) 'Si el clan es de alineación ciudadana. If GuildAlignmentIndex(UserList(UserIndex).GuildIndex) = e_ALINEACION_GUILD.ALINEACION_CIUDADANA Then 'No lo dejo resucitarlo - Call WriteConsoleMsg(UserIndex, "No puedes ayudar a un usuario criminal pertenenciendo a un clan ciudadano.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg664=No puedes ayudar a un usuario criminal perteneciendo a un clan ciudadano. + Call WriteLocaleMsg(UserIndex, "664", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub 'Si es de alineación neutral, lo dejo resucitar y lo vuelvo criminal @@ -2085,7 +2091,8 @@ Sub HechizoEstadoUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) Exit Sub End If If Not UserMod.CanMove(UserList(tU).flags, UserList(tU).Counters) Then -428 Call WriteConsoleMsg(UserIndex, "No podes inmovilizar un objetivo que no puede moverse.", e_FontTypeNames.FONTTYPE_FIGHT) +428 ' Msg661=No podes inmovilizar un objetivo que no puede moverse. + Call WriteLocaleMsg(UserIndex, "661", e_FontTypeNames.FONTTYPE_FIGHT) Exit Sub End If If IsSet(UserList(tU).flags.StatusMask, eCCInmunity) Then @@ -2191,7 +2198,8 @@ Sub HechizoEstadoUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) Exit Sub End If If Not UserMod.CanMove(UserList(tU).flags, UserList(tU).Counters) Then -510 Call WriteConsoleMsg(UserIndex, "No podes inmovilizar un objetivo que no puede moverse.", e_FontTypeNames.FONTTYPE_FIGHT) +510 ' Msg661=No podes inmovilizar un objetivo que no puede moverse. + Call WriteLocaleMsg(UserIndex, "661", e_FontTypeNames.FONTTYPE_FIGHT) Exit Sub End If @@ -2237,12 +2245,14 @@ Sub HechizoEstadoUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) Case 1, 3, 5 'Ciudadano o armada If Status(tU) <> e_Facciones.Ciudadano And Status(tU) <> e_Facciones.Armada And Status(tU) <> e_Facciones.consejo Then If Status(UserIndex) = e_Facciones.Armada Or Status(UserIndex) = e_Facciones.consejo Then - Call WriteConsoleMsg(UserIndex, "No puedes ayudar criminales.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg662=No puedes ayudar criminales. + Call WriteLocaleMsg(UserIndex, "662", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub ElseIf Status(UserIndex) = e_Facciones.Ciudadano Then If UserList(UserIndex).flags.Seguro = True Then - Call WriteConsoleMsg(UserIndex, "Para ayudar criminales deberás desactivar el seguro.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg663=Para ayudar criminales deberás desactivar el seguro. + Call WriteLocaleMsg(UserIndex, "663", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub Else @@ -2251,7 +2261,8 @@ Sub HechizoEstadoUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) 'Si el clan es de alineación ciudadana. If GuildAlignmentIndex(UserList(UserIndex).GuildIndex) = e_ALINEACION_GUILD.ALINEACION_CIUDADANA Then 'No lo dejo resucitarlo - Call WriteConsoleMsg(UserIndex, "No puedes ayudar a un usuario criminal pertenenciendo a un clan ciudadano.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg664=No puedes ayudar a un usuario criminal perteneciendo a un clan ciudadano. + Call WriteLocaleMsg(UserIndex, "664", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub 'Si es de alineación neutral, lo dejo resucitar y lo vuelvo criminal @@ -2402,8 +2413,9 @@ Sub HechizoEstadoUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) 654 If Not PeleaSegura(UserIndex, tU) Then If UserList(tU).flags.SeguroResu Then - Call WriteConsoleMsg(UserIndex, "El usuario tiene el seguro de resurrección activado.", e_FontTypeNames.FONTTYPE_INFO) - Call WriteConsoleMsg(tU, UserList(UserIndex).Name & " está intentando revivirte. Desactiva el seguro de resurrección para permitirle hacerlo.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg693=El usuario tiene el seguro de resurrección activado. + Call WriteLocaleMsg(UserIndex, "693", e_FontTypeNames.FONTTYPE_INFO) + Call WriteConsoleMsg(tU, UserList(UserIndex).name & " está intentando revivirte. Desactiva el seguro de resurrección para permitirle hacerlo.", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub End If @@ -3100,12 +3112,14 @@ Sub HechizoPropUsuario(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsA Case 1, 3, 5 'Ciudadano o armada If Status(tempChr) <> e_Facciones.Ciudadano And Status(tempChr) <> e_Facciones.Armada And Status(tempChr) <> e_Facciones.consejo Then If Status(UserIndex) = e_Facciones.Armada Or Status(UserIndex) = e_Facciones.consejo Then - Call WriteConsoleMsg(UserIndex, "No puedes ayudar criminales.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg662=No puedes ayudar criminales. + Call WriteLocaleMsg(UserIndex, "662", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub ElseIf Status(UserIndex) = e_Facciones.Ciudadano Then If UserList(UserIndex).flags.Seguro = True Then - Call WriteConsoleMsg(UserIndex, "Para ayudar criminales deberás desactivar el seguro.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg663=Para ayudar criminales deberás desactivar el seguro. + Call WriteLocaleMsg(UserIndex, "663", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub Else @@ -3114,7 +3128,8 @@ Sub HechizoPropUsuario(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsA 'Si el clan es de alineación ciudadana. If GuildAlignmentIndex(UserList(UserIndex).GuildIndex) = e_ALINEACION_GUILD.ALINEACION_CIUDADANA Then 'No lo dejo resucitarlo - Call WriteConsoleMsg(UserIndex, "No puedes ayudar a un usuario criminal pertenenciendo a un clan ciudadano.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg664=No puedes ayudar a un usuario criminal perteneciendo a un clan ciudadano. + Call WriteLocaleMsg(UserIndex, "664", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub 'Si es de alineación neutral, lo dejo resucitar y lo vuelvo criminal @@ -3191,12 +3206,14 @@ Sub HechizoPropUsuario(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsA Case 1, 3, 5 'Ciudadano o armada If Status(tempChr) <> e_Facciones.Ciudadano And Status(tempChr) <> e_Facciones.Armada And Status(tempChr) <> e_Facciones.consejo Then If Status(UserIndex) = e_Facciones.Armada Or Status(UserIndex) = e_Facciones.consejo Then - Call WriteConsoleMsg(UserIndex, "No puedes ayudar criminales.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg662=No puedes ayudar criminales. + Call WriteLocaleMsg(UserIndex, "662", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub ElseIf Status(UserIndex) = e_Facciones.Ciudadano Then If UserList(UserIndex).flags.Seguro = True Then - Call WriteConsoleMsg(UserIndex, "Para ayudar criminales deberás desactivar el seguro.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg663=Para ayudar criminales deberás desactivar el seguro. + Call WriteLocaleMsg(UserIndex, "663", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub Else @@ -3205,7 +3222,8 @@ Sub HechizoPropUsuario(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsA 'Si el clan es de alineación ciudadana. If GuildAlignmentIndex(UserList(UserIndex).GuildIndex) = e_ALINEACION_GUILD.ALINEACION_CIUDADANA Then 'No lo dejo resucitarlo - Call WriteConsoleMsg(UserIndex, "No puedes ayudar a un usuario criminal pertenenciendo a un clan ciudadano.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg664=No puedes ayudar a un usuario criminal perteneciendo a un clan ciudadano. + Call WriteLocaleMsg(UserIndex, "664", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub 'Si es de alineación neutral, lo dejo resucitar y lo vuelvo criminal @@ -3222,7 +3240,8 @@ Sub HechizoPropUsuario(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsA End If Case 2, 4 'Caos If Status(tempChr) <> e_Facciones.Caos And Status(tempChr) <> e_Facciones.Criminal And Status(tempChr) <> e_Facciones.concilio Then - Call WriteConsoleMsg(UserIndex, "No podés ayudar ciudadanos.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg665=No podés ayudar ciudadanos. + Call WriteLocaleMsg(UserIndex, "665", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub End If @@ -3703,17 +3722,20 @@ Sub HechizoCombinados(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsAl 348 If UserList(tU).Counters.Saliendo Then 350 If UserIndex <> tU Then -352 Call WriteConsoleMsg(UserIndex, "¡El hechizo no tiene efecto!", e_FontTypeNames.FONTTYPE_INFO) +352 ' Msg666=¡El hechizo no tiene efecto! + Call WriteLocaleMsg(UserIndex, "666", e_FontTypeNames.FONTTYPE_INFO) 354 b = False Exit Sub Else -356 Call WriteConsoleMsg(UserIndex, "¡No podés ponerte invisible mientras te encuentres saliendo!", e_FontTypeNames.FONTTYPE_WARNING) +356 ' Msg667=¡No podés ponerte invisible mientras te encuentres saliendo! + Call WriteLocaleMsg(UserIndex, "667", e_FontTypeNames.FONTTYPE_WARNING) 358 b = False Exit Sub End If End If If IsSet(UserList(tU).flags.StatusMask, eTaunting) Then - Call WriteConsoleMsg(UserIndex, "¡El hechizo no tiene efecto!", e_FontTypeNames.FONTTYPE_INFO) + ' Msg666=¡El hechizo no tiene efecto! + Call WriteLocaleMsg(UserIndex, "666", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub End If @@ -3723,12 +3745,14 @@ Sub HechizoCombinados(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsAl Case 1, 3, 5 'Ciudadano o armada If Status(tU) <> e_Facciones.Ciudadano And Status(tU) <> e_Facciones.Armada And Status(tU) <> e_Facciones.consejo Then If Status(UserIndex) = e_Facciones.Armada Or Status(UserIndex) = e_Facciones.consejo Then - Call WriteConsoleMsg(UserIndex, "No puedes ayudar criminales.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg662=No puedes ayudar criminales. + Call WriteLocaleMsg(UserIndex, "662", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub ElseIf Status(UserIndex) = e_Facciones.Ciudadano Then If UserList(UserIndex).flags.Seguro = True Then - Call WriteConsoleMsg(UserIndex, "Para ayudar criminales deberás desactivar el seguro.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg663=Para ayudar criminales deberás desactivar el seguro. + Call WriteLocaleMsg(UserIndex, "663", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub Else @@ -3737,7 +3761,8 @@ Sub HechizoCombinados(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsAl 'Si el clan es de alineación ciudadana. If GuildAlignmentIndex(UserList(UserIndex).GuildIndex) = e_ALINEACION_GUILD.ALINEACION_CIUDADANA Then 'No lo dejo resucitarlo - Call WriteConsoleMsg(UserIndex, "No puedes ayudar a un usuario criminal pertenenciendo a un clan ciudadano.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg664=No puedes ayudar a un usuario criminal perteneciendo a un clan ciudadano. + Call WriteLocaleMsg(UserIndex, "664", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub 'Si es de alineación neutral, lo dejo resucitar y lo vuelvo criminal @@ -3754,7 +3779,8 @@ Sub HechizoCombinados(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsAl End If Case 2, 4 'Caos If Status(tU) <> e_Facciones.Caos And Status(tU) <> e_Facciones.Criminal And Status(tU) <> e_Facciones.concilio Then - Call WriteConsoleMsg(UserIndex, "No podés ayudar ciudadanos.", e_FontTypeNames.FONTTYPE_INFO) + ' Msg668=No podés ayudar ciudadanos. + Call WriteLocaleMsg(UserIndex, "668", e_FontTypeNames.FONTTYPE_INFO) b = False Exit Sub End If @@ -3789,7 +3815,8 @@ Sub HechizoCombinados(ByVal UserIndex As Integer, ByRef b As Boolean, ByRef IsAl End If 408 If Hechizos(h).desencantar = 1 Then -410 Call WriteConsoleMsg(UserIndex, "Has sido desencantado.", e_FontTypeNames.FONTTYPE_INFO) +410 ' Msg669=Has sido desencantado. + Call WriteLocaleMsg(UserIndex, "669", e_FontTypeNames.FONTTYPE_INFO) 412 UserList(UserIndex).flags.Envenenado = 0 414 UserList(UserIndex).flags.Incinerado = 0 416 If UserList(UserIndex).flags.Inmovilizado = 1 Then @@ -4135,7 +4162,8 @@ Public Sub DesplazarHechizo(ByVal UserIndex As Integer, ByVal Dire As Integer, B 104 If Dire = 1 Then 'Mover arriba 106 If CualHechizo = 1 Then -108 Call WriteConsoleMsg(UserIndex, "No podés mover el hechizo en esa direccion.", e_FontTypeNames.FONTTYPE_INFO) +108 ' Msg670=No podés mover el hechizo en esa direccion. + Call WriteLocaleMsg(UserIndex, "670", e_FontTypeNames.FONTTYPE_INFO) Exit Sub Else @@ -4161,7 +4189,8 @@ Public Sub DesplazarHechizo(ByVal UserIndex As Integer, ByVal Dire As Integer, B Else 'mover abajo 124 If CualHechizo = MAXUSERHECHIZOS Then -126 Call WriteConsoleMsg(UserIndex, "No podés mover el hechizo en esa direccion.", e_FontTypeNames.FONTTYPE_INFO) +126 ' Msg670=No podés mover el hechizo en esa direccion. + Call WriteLocaleMsg(UserIndex, "670", e_FontTypeNames.FONTTYPE_INFO) Exit Sub Else diff --git a/Server.VBP b/Server.VBP index fbe834f6..a3c22225 100644 --- a/Server.VBP +++ b/Server.VBP @@ -1,7 +1,7 @@ Type=Exe -Reference=*\G{B691E011-1797-432E-907A-4D8C69339129}#6.1#0#..\..\Program Files (x86)\Common Files\System\ado\msado15.dll#Microsoft ActiveX Data Objects 6.1 Library -Reference=*\G{420B2830-E718-11CF-893D-00A0C9054228}#1.0#0#..\..\Windows\SysWOW64\scrrun.dll#Microsoft Scripting Runtime -Reference=*\G{F5078F18-C551-11D3-89B9-0000F81FE221}#6.0#0#..\..\Windows\SysWOW64\msxml6.dll#Microsoft XML, v6.0 +Reference=*\G{B691E011-1797-432E-907A-4D8C69339129}#6.1#0#..\..\..\..\..\Program Files (x86)\Common Files\System\ado\msado15.dll#Microsoft ActiveX Data Objects 6.1 Library +Reference=*\G{420B2830-E718-11CF-893D-00A0C9054228}#1.0#0#..\..\..\..\..\Windows\SysWOW64\scrrun.dll#Microsoft Scripting Runtime +Reference=*\G{F5078F18-C551-11D3-89B9-0000F81FE221}#6.0#0#..\..\..\..\..\Windows\SysWOW64\msxml6.dll#Microsoft XML, v6.0 Reference=*\G{88D89F7C-BB59-4F13-9850-93CBD874039D}#1.5#0#Aurora.Network.dll#Aurora.Network - Aurora Engine - Network Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0; comctl32.ocx Object={48E59290-9880-11CF-9754-00AA00C00908}#1.0#0; MSINET.OCX