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