GS-Zone

mod 12.x Ir al Indice

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

7
Este tema se encuentra cerrado.

Nota » 24 Mar 2011 18:55

Buenas a todos, les cuento q estoy trabajando cn una 0.12.0 y andaba cn un error q no se solucionar:

Bueno les cuento, en los codigs del server, en el modulo UsUaRiOs, tengo el sub : Sub CheckUserLevel(ByVal UserIndex As Integer). Por favor antes de mirar el sub, miren mas abajo.

Pongo el sub en 4 partes, para q este ordenado:

PRIMERA PARTE:
  1. Sub CheckUserLevel(ByVal UserIndex As Integer)
  2. '*************************************************
  3. 'Author: Unknown
  4. 'Last modified: 01/10/2007
  5. 'Chequea que el usuario no halla alcanzado el siguiente nivel,
  6. 'de lo contrario le da la vida, mana, etc, correspodiente.
  7. '07/08/2006 Integer - Modificacion de los valores
  8. '01/10/2007 Tavo - Corregido el BUG de STAT_MAXELV
  9. '24/01/2007 Pablo (ToxicWaste) - Agrego modificaciones en ELU al subir de nivel.
  10. '24/01/2007 Pablo (ToxicWaste) - Agrego modificaciones de la subida de mana de los magos por lvl.
  11. '13/03/2007 Pablo (ToxicWaste) - Agrego diferencias entre el 18 y el 19 en Constitución.
  12. '*************************************************
  13.  
  14. On Error GoTo errhandler
  15.  
  16. Dim Pts As Integer
  17. Dim Constitucion As Integer
  18. Dim AumentoHIT As Integer
  19. Dim AumentoMANA As Integer
  20. Dim AumentoSTA As Integer
  21. Dim AumentoHP As Integer
  22. Dim WasNewbie As Boolean
  23.  
  24. Do While UserList(UserIndex).Stats.Exp >= UserList(UserIndex).Stats.ELU
  25.  
  26. '¿Alcanzo el maximo nivel?
  27. If UserList(UserIndex).Stats.ELV >= STAT_MAXELV Then
  28.     UserList(UserIndex).Stats.Exp = 0
  29.     UserList(UserIndex).Stats.ELU = 0
  30.     Call SendData(SendTarget.toall, 0, PrepareMessageConsoleMsg(UserList(UserIndex).Name & " alcanzo el nivel maximo!", FontTypeNames.FONTTYPE_GUILD))
  31.    
  32.     Exit Sub
  33. End If
  34.    
  35. WasNewbie = EsNewbie(UserIndex)
  36.  
  37.    
  38.     'Checkea otra vez, esto sucede si tiene mas EXP y puede saltarse el maximo
  39.     'nivel
  40.     If UserList(UserIndex).Stats.ELV >= STAT_MAXELV Then
  41.         UserList(UserIndex).Stats.Exp = 0
  42.         UserList(UserIndex).Stats.ELU = 0
  43.         Exit Sub
  44.     End If
  45.    
  46.    
  47.     'Store it!
  48.     Call Statistics.UserLevelUp(UserIndex)
  49.    
  50.     Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave(SND_NIVEL))
  51.     Call WriteConsoleMsg(UserIndex, "¡Has subido de nivel!", FontTypeNames.FONTTYPE_INFO)
  52.    
  53.     If UserList(UserIndex).Stats.ELV = 1 Then
  54.         Pts = 10
  55.     Else
  56.         'For multiple levels being rised at once
  57.         Pts = Pts + 5
  58.     End If
  59.    
  60.     UserList(UserIndex).Stats.ELV = UserList(UserIndex).Stats.ELV + 1
  61.    
  62.     UserList(UserIndex).Stats.Exp = UserList(UserIndex).Stats.Exp - UserList(UserIndex).Stats.ELU
  63.    
  64.     'Call GiveClanRep(UserIndex, UserList(UserIndex).Stats.ELV)
  65.    
  66.     'Nueva subida de exp x lvl. Pablo (ToxicWaste)
  67.     If UserList(UserIndex).Stats.ELV < 15 Then
  68.         UserList(UserIndex).Stats.ELU = UserList(UserIndex).Stats.ELU * 1.4
  69.     ElseIf UserList(UserIndex).Stats.ELV < 21 Then
  70.         UserList(UserIndex).Stats.ELU = UserList(UserIndex).Stats.ELU * 1.35
  71.     ElseIf UserList(UserIndex).Stats.ELV < 33 Then
  72.         UserList(UserIndex).Stats.ELU = UserList(UserIndex).Stats.ELU * 1.3
  73.     ElseIf UserList(UserIndex).Stats.ELV < 45 Then
  74.         UserList(UserIndex).Stats.ELU = UserList(UserIndex).Stats.ELU * 1.225
  75.     'Else
  76.     '    UserList(UserIndex).Stats.ELU = UserList(UserIndex).Stats.ELU * 1.8
  77.     End If
  78.  


PARTE 2:

  1.  
  2.     Constitucion = UserList(UserIndex).Stats.UserAtributos(eAtributos.Constitucion)
  3.    
  4.     Select Case UserList(UserIndex).clase
  5.         Case eClass.Warrior 'Aumentado en 1 Min respecto de alkon.
  6.             Select Case Constitucion
  7.                 Case 21
  8.                     AumentoHP = RandomNumber(9, 12)
  9.                 Case 20
  10.                     AumentoHP = RandomNumber(9, 11)
  11.                 Case 19
  12.                     AumentoHP = RandomNumber(8, 11)
  13.                 Case 18
  14.                     AumentoHP = RandomNumber(8, 10)
  15.                 Case 17
  16.                     AumentoHP = RandomNumber(7, 10)
  17.                 Case 16
  18.                     AumentoHP = RandomNumber(7, 9)
  19.                 Case 15
  20.                     AumentoHP = RandomNumber(6, 9)
  21.                 Case 14
  22.                     AumentoHP = RandomNumber(6, 8)
  23.                 Case 13
  24.                     AumentoHP = RandomNumber(5, 8)
  25.                 Case 12
  26.                     AumentoHP = RandomNumber(5, 7)
  27.             End Select
  28.             AumentoHIT = IIf(UserList(UserIndex).Stats.ELV > 35, 2, 3)
  29.             AumentoSTA = AumentoSTDef
  30.        
  31.         Case eClass.Hunter 'Aumentado en 1 Min respecto de alkon.
  32.             Select Case Constitucion
  33.                 Case 21
  34.                     AumentoHP = RandomNumber(9, 11)
  35.                 Case 20
  36.                     AumentoHP = RandomNumber(8, 11)
  37.                 Case 19
  38.                     AumentoHP = RandomNumber(8, 10)
  39.                 Case 18
  40.                     AumentoHP = RandomNumber(7, 10)
  41.                 Case 17
  42.                     AumentoHP = RandomNumber(7, 9)
  43.                 Case 16
  44.                     AumentoHP = RandomNumber(6, 9)
  45.                 Case 15
  46.                     AumentoHP = RandomNumber(6, 8)
  47.                 Case 14
  48.                     AumentoHP = RandomNumber(5, 8)
  49.                 Case 13
  50.                     AumentoHP = RandomNumber(5, 7)
  51.                 Case 12
  52.                     AumentoHP = RandomNumber(4, 7)
  53.             End Select
  54.             AumentoHIT = IIf(UserList(UserIndex).Stats.ELV > 35, 2, 3)
  55.             AumentoSTA = AumentoSTDef
  56.        
  57.         Case eClass.Pirat
  58.             Select Case Constitucion
  59.                 Case 21
  60.                     AumentoHP = RandomNumber(8, 12)
  61.                 Case 20
  62.                     AumentoHP = RandomNumber(8, 11)
  63.                 Case 19
  64.                     AumentoHP = RandomNumber(7, 11)
  65.                 Case 18
  66.                     AumentoHP = RandomNumber(7, 10)
  67.                 Case 17
  68.                     AumentoHP = RandomNumber(6, 10)
  69.                 Case 16
  70.                     AumentoHP = RandomNumber(6, 9)
  71.                 Case 15
  72.                     AumentoHP = RandomNumber(5, 9)
  73.                 Case 14
  74.                     AumentoHP = RandomNumber(5, 8)
  75.                 Case 13
  76.                     AumentoHP = RandomNumber(4, 8)
  77.                 Case 12
  78.                     AumentoHP = RandomNumber(4, 7)
  79.             End Select
  80.             AumentoHIT = 3
  81.             AumentoSTA = AumentoSTDef
  82.        
  83.         Case eClass.Paladin
  84.             Select Case Constitucion
  85.                 Case 21
  86.                     AumentoHP = RandomNumber(8, 11)
  87.                 Case 20
  88.                     AumentoHP = RandomNumber(7, 11)
  89.                 Case 19
  90.                     AumentoHP = RandomNumber(7, 10)
  91.                 Case 18
  92.                     AumentoHP = RandomNumber(6, 10)
  93.                 Case 17
  94.                     AumentoHP = RandomNumber(6, 9)
  95.                 Case 16
  96.                     AumentoHP = RandomNumber(5, 9)
  97.                 Case 15
  98.                     AumentoHP = RandomNumber(5, 8)
  99.                 Case 14
  100.                     AumentoHP = RandomNumber(4, 8)
  101.                 Case 13
  102.                     AumentoHP = RandomNumber(4, 7)
  103.                 Case 12
  104.                     AumentoHP = RandomNumber(3, 7)
  105.             End Select
  106.            
  107.             AumentoHIT = IIf(UserList(UserIndex).Stats.ELV > 35, 1, 3)
  108.             AumentoMANA = UserList(UserIndex).Stats.UserAtributos(eAtributos.Inteligencia)
  109.             AumentoSTA = AumentoSTDef
  110.        
  111.         Case eClass.Thief
  112.             Select Case Constitucion
  113.                 Case 21
  114.                     AumentoHP = RandomNumber(8, 12)
  115.                 Case 20
  116.                     AumentoHP = RandomNumber(8, 11)
  117.                 Case 19
  118.                     AumentoHP = RandomNumber(7, 11)
  119.                 Case 18
  120.                     AumentoHP = RandomNumber(7, 10)
  121.                 Case 17
  122.                     AumentoHP = RandomNumber(6, 10)
  123.                 Case 16
  124.                     AumentoHP = RandomNumber(6, 9)
  125.                 Case 15
  126.                     AumentoHP = RandomNumber(5, 9)
  127.                 Case 14
  128.                     AumentoHP = RandomNumber(5, 8)
  129.                 Case 13
  130.                     AumentoHP = RandomNumber(4, 8)
  131.                 Case 12
  132.                     AumentoHP = RandomNumber(4, 7)
  133.             End Select
  134.             AumentoHIT = 1
  135.             AumentoSTA = AumentoSTLadron
  136.            
  137.         Case eClass.Mage
  138.             Select Case Constitucion
  139.                 Case 21
  140.                     AumentoHP = RandomNumber(6, 8)
  141.                 Case 20
  142.                     AumentoHP = RandomNumber(5, 8)
  143.                 Case 19
  144.                     AumentoHP = RandomNumber(5, 7)
  145.                 Case 18
  146.                     AumentoHP = RandomNumber(4, 7)
  147.                 Case 17
  148.                     AumentoHP = RandomNumber(4, 6)
  149.                 Case 16
  150.                     AumentoHP = RandomNumber(3, 6)
  151.                 Case 15
  152.                     AumentoHP = RandomNumber(3, 5)
  153.                 Case 14
  154.                     AumentoHP = RandomNumber(2, 5)
  155.                 Case 13
  156.                     AumentoHP = RandomNumber(2, 4)
  157.                 Case 12
  158.                     AumentoHP = RandomNumber(1, 4)
  159.             End Select
  160.             If AumentoHP < 1 Then AumentoHP = 4
  161.            
  162.             AumentoHIT = 1 'Nueva dist de mana para mago (ToxicWaste)
  163.             AumentoMANA = 2.8 * UserList(UserIndex).Stats.UserAtributos(eAtributos.Inteligencia)
  164.             AumentoSTA = AumentoSTMago
  165.  


PARTE 3:

  1.        
  2.         Case eClass.Lumberjack
  3.             Select Case Constitucion
  4.                 Case 21
  5.                     AumentoHP = RandomNumber(8, 11)
  6.                 Case 20
  7.                     AumentoHP = RandomNumber(7, 11)
  8.                 Case 19
  9.                     AumentoHP = RandomNumber(7, 10)
  10.                 Case 18
  11.                     AumentoHP = RandomNumber(6, 10)
  12.                 Case 17
  13.                     AumentoHP = RandomNumber(6, 9)
  14.                 Case 16
  15.                     AumentoHP = RandomNumber(5, 9)
  16.                 Case 15
  17.                     AumentoHP = RandomNumber(5, 8)
  18.                 Case 14
  19.                     AumentoHP = RandomNumber(4, 8)
  20.                 Case 13
  21.                     AumentoHP = RandomNumber(4, 7)
  22.                 Case 12
  23.                     AumentoHP = RandomNumber(3, 7)
  24.             End Select
  25.            
  26.             AumentoHIT = 2
  27.             AumentoSTA = AumentoSTLeñador
  28.        
  29.         Case eClass.Miner
  30.             Select Case Constitucion
  31.                 Case 21
  32.                     AumentoHP = RandomNumber(8, 11)
  33.                 Case 20
  34.                     AumentoHP = RandomNumber(7, 11)
  35.                 Case 19
  36.                     AumentoHP = RandomNumber(7, 10)
  37.                 Case 18
  38.                     AumentoHP = RandomNumber(6, 10)
  39.                 Case 17
  40.                     AumentoHP = RandomNumber(6, 9)
  41.                 Case 16
  42.                     AumentoHP = RandomNumber(5, 9)
  43.                 Case 15
  44.                     AumentoHP = RandomNumber(5, 8)
  45.                 Case 14
  46.                     AumentoHP = RandomNumber(4, 8)
  47.                 Case 13
  48.                     AumentoHP = RandomNumber(4, 7)
  49.                 Case 12
  50.                     AumentoHP = RandomNumber(3, 7)
  51.             End Select
  52.            
  53.             AumentoHIT = 2
  54.             AumentoSTA = AumentoSTMinero
  55.        
  56.         Case eClass.Fisher
  57.             Select Case Constitucion
  58.                 Case 21
  59.                     AumentoHP = RandomNumber(8, 11)
  60.                 Case 20
  61.                     AumentoHP = RandomNumber(7, 11)
  62.                 Case 19
  63.                     AumentoHP = RandomNumber(7, 10)
  64.                 Case 18
  65.                     AumentoHP = RandomNumber(6, 10)
  66.                 Case 17
  67.                     AumentoHP = RandomNumber(6, 9)
  68.                 Case 16
  69.                     AumentoHP = RandomNumber(5, 9)
  70.                 Case 15
  71.                     AumentoHP = RandomNumber(5, 8)
  72.                 Case 14
  73.                     AumentoHP = RandomNumber(4, 8)
  74.                 Case 13
  75.                     AumentoHP = RandomNumber(4, 7)
  76.                 Case 12
  77.                     AumentoHP = RandomNumber(3, 7)
  78.             End Select
  79.            
  80.             AumentoHIT = 1
  81.             AumentoSTA = AumentoSTPescador
  82.        
  83.         Case eClass.Cleric
  84.             Select Case Constitucion
  85.                 Case 21
  86.                     AumentoHP = RandomNumber(7, 10)
  87.                 Case 20
  88.                     AumentoHP = RandomNumber(6, 10)
  89.                 Case 19
  90.                     AumentoHP = RandomNumber(6, 9)
  91.                 Case 18
  92.                     AumentoHP = RandomNumber(5, 9)
  93.                 Case 17
  94.                     AumentoHP = RandomNumber(5, 8)
  95.                 Case 16
  96.                     AumentoHP = RandomNumber(4, 8)
  97.                 Case 15
  98.                     AumentoHP = RandomNumber(4, 7)
  99.                 Case 14
  100.                     AumentoHP = RandomNumber(3, 7)
  101.                 Case 13
  102.                     AumentoHP = RandomNumber(3, 6)
  103.                 Case 12
  104.                     AumentoHP = RandomNumber(2, 6)
  105.             End Select
  106.             AumentoHIT = 2
  107.             AumentoMANA = 2 * UserList(UserIndex).Stats.UserAtributos(eAtributos.Inteligencia)
  108.             AumentoSTA = AumentoSTDef
  109.        
  110.         Case eClass.Druid
  111.             Select Case Constitucion
  112.                 Case 21
  113.                     AumentoHP = RandomNumber(7, 10)
  114.                 Case 20
  115.                     AumentoHP = RandomNumber(6, 10)
  116.                 Case 19
  117.                     AumentoHP = RandomNumber(6, 9)
  118.                 Case 18
  119.                     AumentoHP = RandomNumber(5, 9)
  120.                 Case 17
  121.                     AumentoHP = RandomNumber(5, 8)
  122.                 Case 16
  123.                     AumentoHP = RandomNumber(4, 8)
  124.                 Case 15
  125.                     AumentoHP = RandomNumber(4, 7)
  126.                 Case 14
  127.                     AumentoHP = RandomNumber(3, 7)
  128.                 Case 13
  129.                     AumentoHP = RandomNumber(3, 6)
  130.                 Case 12
  131.                     AumentoHP = RandomNumber(2, 6)
  132.             End Select
  133.            
  134.             AumentoHIT = 2
  135.             AumentoMANA = 2 * UserList(UserIndex).Stats.UserAtributos(eAtributos.Inteligencia)
  136.             AumentoSTA = AumentoSTDef
  137.        
  138.  


PARTE 4:

  1.        
  2.         Case eClass.Assasin
  3.             Select Case Constitucion
  4.                 Case 21
  5.                     AumentoHP = RandomNumber(7, 11)
  6.                 Case 20
  7.                     AumentoHP = RandomNumber(6, 11)
  8.                 Case 19
  9.                     AumentoHP = RandomNumber(6, 10)
  10.                 Case 18
  11.                     AumentoHP = RandomNumber(6, 10)
  12.                 Case 17
  13.                     AumentoHP = RandomNumber(5, 8)
  14.                 Case 16
  15.                     AumentoHP = RandomNumber(4, 8)
  16.                 Case 15
  17.                     AumentoHP = RandomNumber(4, 7)
  18.                 Case 14
  19.                     AumentoHP = RandomNumber(3, 7)
  20.                 Case 13
  21.                     AumentoHP = RandomNumber(3, 6)
  22.                 Case 12
  23.                     AumentoHP = RandomNumber(2, 6)
  24.             End Select
  25.            
  26.             AumentoHIT = IIf(UserList(UserIndex).Stats.ELV > 35, 1, 3)
  27.             AumentoMANA = UserList(UserIndex).Stats.UserAtributos(eAtributos.Inteligencia)
  28.             AumentoSTA = AumentoSTDef
  29.        
  30.         Case eClass.Bard
  31.             Select Case Constitucion
  32.                 Case 21
  33.                     AumentoHP = RandomNumber(7, 10)
  34.                 Case 20
  35.                     AumentoHP = RandomNumber(6, 10)
  36.                 Case 19
  37.                     AumentoHP = RandomNumber(6, 9)
  38.                 Case 18
  39.                     AumentoHP = RandomNumber(5, 9)
  40.                 Case 17
  41.                     AumentoHP = RandomNumber(5, 8)
  42.                 Case 16
  43.                     AumentoHP = RandomNumber(4, 8)
  44.                 Case 15
  45.                     AumentoHP = RandomNumber(4, 7)
  46.                 Case 14
  47.                     AumentoHP = RandomNumber(3, 7)
  48.                 Case 13
  49.                     AumentoHP = RandomNumber(3, 6)
  50.                 Case 12
  51.                     AumentoHP = RandomNumber(2, 6)
  52.             End Select
  53.            
  54.             AumentoHIT = 2
  55.             AumentoMANA = 2 * UserList(UserIndex).Stats.UserAtributos(eAtributos.Inteligencia)
  56.             AumentoSTA = AumentoSTDef
  57.        
  58.         Case eClass.Blacksmith, eClass.Carpenter
  59.             Select Case Constitucion
  60.                 Case 21
  61.                     AumentoHP = RandomNumber(7, 10)
  62.                 Case 20
  63.                     AumentoHP = RandomNumber(6, 10)
  64.                 Case 19
  65.                     AumentoHP = RandomNumber(6, 9)
  66.                 Case 18
  67.                     AumentoHP = RandomNumber(5, 9)
  68.                 Case 17
  69.                     AumentoHP = RandomNumber(5, 8)
  70.                 Case 16
  71.                     AumentoHP = RandomNumber(4, 8)
  72.                 Case 15
  73.                     AumentoHP = RandomNumber(4, 7)
  74.                 Case 14
  75.                     AumentoHP = RandomNumber(3, 7)
  76.                 Case 13
  77.                     AumentoHP = RandomNumber(3, 6)
  78.                 Case 12
  79.                     AumentoHP = RandomNumber(2, 6)
  80.             End Select
  81.             AumentoHIT = 2
  82.             AumentoSTA = AumentoSTDef
  83.            
  84.         Case eClass.Bandit ' +1 / +1 respecto a Alkon
  85.             Select Case Constitucion
  86.                 Case 21
  87.                     AumentoHP = RandomNumber(9, 11)
  88.                 Case 20
  89.                     AumentoHP = RandomNumber(7, 11)
  90.                 Case 19
  91.                     AumentoHP = RandomNumber(7, 10)
  92.                 Case 18
  93.                     AumentoHP = RandomNumber(6, 10)
  94.                 Case 17
  95.                     AumentoHP = RandomNumber(9, 9)
  96.                 Case 16
  97.                     AumentoHP = RandomNumber(5, 9)
  98.                 Case 15
  99.                     AumentoHP = RandomNumber(5, 8)
  100.                 Case 14
  101.                     AumentoHP = RandomNumber(4, 8)
  102.                 Case 13
  103.                     AumentoHP = RandomNumber(4, 7)
  104.                 Case 12
  105.                     AumentoHP = RandomNumber(3, 7)
  106.             End Select
  107.            
  108.             AumentoHIT = IIf(UserList(UserIndex).Stats.ELV > 35, 1, 3)
  109.             AumentoMANA = IIf(UserList(UserIndex).Stats.MaxMAN = 300, 0, UserList(UserIndex).Stats.UserAtributos(eAtributos.Inteligencia) - 10)
  110.             If AumentoMANA < 4 Then AumentoMANA = 4
  111.             AumentoSTA = AumentoSTLeñador
  112.         Case Else
  113.             Select Case Constitucion
  114.                 Case 21
  115.                     AumentoHP = RandomNumber(6, 9)
  116.                 Case 20
  117.                     AumentoHP = RandomNumber(5, 9)
  118.                 Case 19, 18
  119.                     AumentoHP = RandomNumber(4, 8)
  120.                 Case Else
  121.                     AumentoHP = RandomNumber(5, Constitucion \ 2) - AdicionalHPCazador
  122.             End Select
  123.            
  124.             AumentoHIT = 2
  125.             AumentoSTA = AumentoSTDef
  126.     End Select
  127.    
  128.     'Actualizamos HitPoints
  129.     UserList(UserIndex).Stats.MaxHP = UserList(UserIndex).Stats.MaxHP + AumentoHP
  130.     If UserList(UserIndex).Stats.MaxHP > STAT_MAXHP Then _
  131.         UserList(UserIndex).Stats.MaxHP = STAT_MAXHP
  132.     'Actualizamos Stamina
  133.     UserList(UserIndex).Stats.MaxSta = UserList(UserIndex).Stats.MaxSta + AumentoSTA
  134.     If UserList(UserIndex).Stats.MaxSta > STAT_MAXSTA Then _
  135.         UserList(UserIndex).Stats.MaxSta = STAT_MAXSTA
  136.     'Actualizamos Mana
  137.     UserList(UserIndex).Stats.MaxMAN = UserList(UserIndex).Stats.MaxMAN + AumentoMANA
  138.     If UserList(UserIndex).Stats.ELV < 36 Then
  139.         If UserList(UserIndex).Stats.MaxMAN > STAT_MAXMAN Then _
  140.             UserList(UserIndex).Stats.MaxMAN = STAT_MAXMAN
  141.     Else
  142.         If UserList(UserIndex).Stats.MaxMAN > 9999 Then _
  143.             UserList(UserIndex).Stats.MaxMAN = 9999
  144.     End If
  145.     If UserList(UserIndex).clase = eClass.Bandit Then 'mana del bandido restringido hasta 300
  146.         If UserList(UserIndex).Stats.MaxMAN > 300 Then
  147.             UserList(UserIndex).Stats.MaxMAN = 300
  148.         End If
  149.     End If
  150.    
  151.     'Actualizamos Golpe Máximo
  152.     UserList(UserIndex).Stats.MaxHIT = UserList(UserIndex).Stats.MaxHIT + AumentoHIT
  153.     If UserList(UserIndex).Stats.ELV < 36 Then
  154.         If UserList(UserIndex).Stats.MaxHIT > STAT_MAXHIT_UNDER36 Then _
  155.             UserList(UserIndex).Stats.MaxHIT = STAT_MAXHIT_UNDER36
  156.     Else
  157.         If UserList(UserIndex).Stats.MaxHIT > STAT_MAXHIT_OVER36 Then _
  158.             UserList(UserIndex).Stats.MaxHIT = STAT_MAXHIT_OVER36
  159.     End If
  160.    
  161.     'Actualizamos Golpe Mínimo
  162.     UserList(UserIndex).Stats.MinHIT = UserList(UserIndex).Stats.MinHIT + AumentoHIT
  163.     If UserList(UserIndex).Stats.ELV < 36 Then
  164.         If UserList(UserIndex).Stats.MinHIT > STAT_MAXHIT_UNDER36 Then _
  165.             UserList(UserIndex).Stats.MinHIT = STAT_MAXHIT_UNDER36
  166.     Else
  167.         If UserList(UserIndex).Stats.MinHIT > STAT_MAXHIT_OVER36 Then _
  168.             UserList(UserIndex).Stats.MinHIT = STAT_MAXHIT_OVER36
  169.     End If
  170.    
  171.     'Notificamos al user
  172.     If AumentoHP > 0 Then
  173.         Call WriteConsoleMsg(UserIndex, "Has ganado " & AumentoHP & " puntos de vida.", FontTypeNames.FONTTYPE_INFO)
  174.     End If
  175.     If AumentoSTA > 0 Then
  176.         Call WriteConsoleMsg(UserIndex, "Has ganado " & AumentoSTA & " puntos de vitalidad.", FontTypeNames.FONTTYPE_INFO)
  177.     End If
  178.     If AumentoMANA > 0 Then
  179.         Call WriteConsoleMsg(UserIndex, "Has ganado " & AumentoMANA & " puntos de magia.", FontTypeNames.FONTTYPE_INFO)
  180.     End If
  181.     If AumentoHIT > 0 Then
  182.         Call WriteConsoleMsg(UserIndex, "Tu golpe maximo aumento en " & AumentoHIT & " puntos.", FontTypeNames.FONTTYPE_INFO)
  183.         Call WriteConsoleMsg(UserIndex, "Tu golpe minimo aumento en " & AumentoHIT & " puntos.", FontTypeNames.FONTTYPE_INFO)
  184.     End If
  185.    
  186.     Call LogDesarrollo(UserList(UserIndex).Name & " paso a nivel " & UserList(UserIndex).Stats.ELV & " gano HP: " & AumentoHP)
  187.    
  188.     UserList(UserIndex).Stats.MinHP = UserList(UserIndex).Stats.MaxHP
  189. Loop
  190.  
  191. 'If it ceased to be a newbie, remove newbie items and get char away from newbie dungeon
  192. If Not EsNewbie(UserIndex) And WasNewbie Then
  193.     Call QuitarNewbieObj(UserIndex)
  194.     If UCase$(MapInfo(UserList(UserIndex).Pos.map).Restringir) = "NEWBIE" Then
  195.         Call WarpUserChar(UserIndex, 26, 50, 50, True)
  196.         Call WriteConsoleMsg(UserIndex, "Debes abandonar el Dungeon Newbie.", FontTypeNames.FONTTYPE_INFO)
  197.     End If
  198. End If
  199.  
  200. 'Send all gained skill points at once (if any)
  201. If Pts > 0 Then
  202.     Call WriteLevelUp(UserIndex, Pts)
  203.    
  204.     UserList(UserIndex).Stats.SkillPts = UserList(UserIndex).Stats.SkillPts + Pts
  205.    
  206.     Call WriteConsoleMsg(UserIndex, "Has ganado un total de " & Pts & " skillpoints.", FontTypeNames.FONTTYPE_INFO)
  207. End If
  208.  
  209. Call WriteUpdateUserStats(UserIndex)
  210.  
  211. Exit Sub
  212.  
  213. errhandler:
  214.     Call LogError("Error en la subrutina CheckUserLevel - Error : " & Err.Number & " - Description : " & Err.description)
  215. End Sub
  216.  



LISTO, ya estan las 4 partes, ahora les muestro q modifiqe, y nose xq no anda.

En este sub, tengo un if:

  1.  
  2. '¿Alcanzo el maximo nivel?
  3. If UserList(UserIndex).Stats.ELV >= STAT_MAXELV Then
  4.     UserList(UserIndex).Stats.Exp = 0
  5.     UserList(UserIndex).Stats.ELU = 0
  6.     Call SendData(SendTarget.toall, 0, PrepareMessageConsoleMsg(UserList(UserIndex).Name & " alcanzo el nivel maximo!", FontTypeNames.FONTTYPE_GUILD))
  7.    
  8.     Exit Sub
  9. End If
  10.  


Antes este if lo tenia sin el call senddata, sin embargo qiero q cuando un user llegue a lvl max salga en consoola "global", o para todo el mundo, y avise "xusuario" llego a nivel maximo, probe, y si, cuando sos nivel maximo, salta el cartel, sin embargo, lo q yo qiero es q aparezca este mensaje en consola solamente cunado te convertis en nivel maximo. Lo q a mi me pasa es q una vez soy maximo, y vuelvo a ganar experiencia vuelve a aprecer. Creo yo q es xq cuando gano experiencia, se vuelve a chekear si soy maximo, pero nose q hacer. Si alguien me da una mano, muchisimas gracias.

Si no se entiende algo diganme.

Saludo Milenium BT.

Milenium BT - Lucky
Imagen

Aclaracion: Mi spoiler ha sido borrado. Tambien aprobecho a decirle a Gs q fue qien lo borro, mil disculpas si t jodio lo de mi firma.
Usuario Registrado
Aprendiz [3]
Registrado: Años de membresíaAños de membresía
Mensajes: 313

Nota » 24 Mar 2011 19:45

Lo que podes hacer es:
En el Type Userflags poner:
LlegoMaximo as boolean

Y remplazar esto:
  1.  
  2. '¿Alcanzo el maximo nivel?
  3. If UserList(UserIndex).Stats.ELV >= STAT_MAXELV Then
  4.     UserList(UserIndex).Stats.Exp = 0
  5.     UserList(UserIndex).Stats.ELU = 0
  6.     Call SendData(SendTarget.toall, 0, PrepareMessageConsoleMsg(UserList(UserIndex).Name & " alcanzo el nivel maximo!", FontTypeNames.FONTTYPE_GUILD))
  7.    
  8.     Exit Sub
  9. End If
  10.  


Por esto:
  1.  
  2. '¿Alcanzo el maximo nivel?
  3. If UserList(UserIndex).Stats.ELV >= STAT_MAXELV and UserList(UserIndex).LlegoMaximo = false Then
  4.     UserList(UserIndex).Stats.Exp = 0
  5.     UserList(UserIndex).Stats.ELU = 0
  6.     Call SendData(SendTarget.toall, 0, PrepareMessageConsoleMsg(UserList(UserIndex).Name & " alcanzo el nivel maximo!", FontTypeNames.FONTTYPE_GUILD))
  7.    UserList(UserIndex).LlegoMaximo = true
  8.     Exit Sub
  9. End If
  10.  
Última edición por Midraks el 24 Mar 2011 19:46, editado 1 vez en total

PointMe. ¿Serás el más votado?
Imagen


Publica tu ao en Ranking AO!
Imagen

© PointMe y Ranking AO by Dex Systems

Seguinos en Facebook: https://www.facebook.com/RankingAo

Cliente y servidor Dx7/Dx8 Optimizados
Programming my world
665
Moderador
Registrado: Años de membresíaAños de membresíaAños de membresía
Ubicación: Buenos Aires > Lanus Oeste
Mensajes: 3357
Aportes: 48
Premios: 2
Embajador (2)

Nota » 24 Mar 2011 19:56

variable no definida en:

LlegoMaximo

Milenium BT - Lucky
Imagen

Aclaracion: Mi spoiler ha sido borrado. Tambien aprobecho a decirle a Gs q fue qien lo borro, mil disculpas si t jodio lo de mi firma.
Usuario Registrado
Aprendiz [3]
Registrado: Años de membresíaAños de membresía
Mensajes: 313

Nota » 24 Mar 2011 20:02

Milenium BT escribió:variable no definida en:

LlegoMaximo


Te falto esto:
En el Type Userflags poner:
LlegoMaximo as boolean

PointMe. ¿Serás el más votado?
Imagen


Publica tu ao en Ranking AO!
Imagen

© PointMe y Ranking AO by Dex Systems

Seguinos en Facebook: https://www.facebook.com/RankingAo

Cliente y servidor Dx7/Dx8 Optimizados
Programming my world
665
Moderador
Registrado: Años de membresíaAños de membresíaAños de membresía
Ubicación: Buenos Aires > Lanus Oeste
Mensajes: 3357
Aportes: 48
Premios: 2
Embajador (2)

Nota » 25 Mar 2011 02:48

primero q nada Gracias midraks x la ayuda.

segundo, no me andubo. probe, pero no me tira ningun error, simplemente se me cierra el server, o si lo pruebo desde el vb, se cuelga y no puedo hacer nada. q raro.

sabe alguien a q se debe?.

Y aunqe declaro la variable: "LlegoMaximo as boolean", me sigue marcando lo mismo q antes.

q puede ser? necesita q les pase algun modulo, o sub, o lo q sea?.

Desde ya gracias x la ayuda.

Milenium BT.
Última edición por Milenium BT el 25 Mar 2011 02:54, editado 1 vez en total

Milenium BT - Lucky
Imagen

Aclaracion: Mi spoiler ha sido borrado. Tambien aprobecho a decirle a Gs q fue qien lo borro, mil disculpas si t jodio lo de mi firma.
Usuario Registrado
Aprendiz [3]
Registrado: Años de membresíaAños de membresía
Mensajes: 313

Nota » 25 Mar 2011 11:05

Agregá un On Error Resume Next donde inicia el sub
All we need is love
475
Oraculo [5]
Registrado: Años de membresíaAños de membresía
Ubicación: Mar del Plata
Mensajes: 2002
Aportes: 30
Premios: 1
Mister Programador AO (1)

Nota » 25 Mar 2011 11:34

Como Dunkan? no entendi.

Vos decis, q simplemente, donde empieza el Sub, ponga la siguiente linea?


Nada mas?.


Gracias, saludos, Milenium BT (:

SUPER EDIT: jajaj.

Bueno les cuento, me ayudo BLIZZARD, y gracias a el, me andubo :)

Les cuento como me qedo x si a alguien le interesa:

Bueno, el if q nombre antes, me qedo asi ( igual q como lo postie, peor sacandole el senddata):

  1. '¿Alcanzo el maximo nivel?
  2.  If UserList(UserIndex).Stats.ELV >= STAT_MAXELV Then
  3.      UserList(UserIndex).Stats.Exp = 0
  4.      UserList(UserIndex).Stats.ELU = 0
  5.    
  6.      Exit Sub
  7.  End If


Y el senddata, lo puse en el mismo modulo (UsUaRiOs), pero en diferente ubicacion, primero tube q buscar esta linea:

  1. UserList(UserIndex).Stats.ELV = UserList(UserIndex).Stats.ELV + 1
  2.  


y este senddata, lo puse abajo de la linea anterior, pero como un if aparte:

  1. If UserList(UserIndex).Stats.ELV >= STAT_MAXELV Then
  2.      Call SendData(SendTarget.toall, 0, PrepareMessageConsoleMsg(UserList(UserIndex).Name & " alcanzo el nivel maximo!", FontTypeNames.FONTTYPE_GUILD))
  3. End If
  4.  


Bueno, gracias a todos, x la buena onda, y muchas gracias en especial a Blizzard q me ayudo (


Saludos a todos.

Milenium BT - Lucky
Imagen

Aclaracion: Mi spoiler ha sido borrado. Tambien aprobecho a decirle a Gs q fue qien lo borro, mil disculpas si t jodio lo de mi firma.
Usuario Registrado
Aprendiz [3]
Registrado: Años de membresíaAños de membresía
Mensajes: 313

Este tema se encuentra cerrado.

Volver a AO 0.12.x

¿Quién está conectado?

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