Bug de Vida,Mana y Experiencia

Estado
Cerrado para nuevas respuestas.

XxL30xX

Aprendiz...
Hola, yo estaba creando mi server mod khalsius basado en el Civilización Ao y el problema es que cuando subo de nivel la vida, el mana y la experiencia no suben eso ocurre con todos los personajes



Hagan Click para agrandar la imagen
 
A

Anonymous

Invitado
Debe faltar el if creo o no se que es que actualiza la mana y vida y lo otro :p

Buscalo en virgen y fíjate.
 

XxL30xX

Aprendiz...
Franeg95 dijo:
Pasame el CheckUserLevel.
Código:
Sub CheckUserLevel(ByVal Userindex As Integer)
 
On Error GoTo errhandler
 
Dim Pts As Integer
Dim AumentoHIT As Integer
Dim AumentoMANA As Integer
Dim AumentoSTA As Integer
Dim WasNewbie As Boolean
 
'¿Alcanzo el maximo nivel?
If UserList(Userindex).Stats.ELV = STAT_MAXELV Then
UserList(Userindex).Stats.Exp = 0
UserList(Userindex).Stats.ELU = 0
Exit Sub
End If
 
WasNewbie = EsNewbie(Userindex)
 
'Si exp >= then Exp para subir de nivel entonce subimos el nivel
'If UserList(UserIndex).Stats.Exp >= UserList(UserIndex).Stats.ELU Then
Do While UserList(Userindex).Stats.Exp >= UserList(Userindex).Stats.ELU
 
Call SendData(SendTarget.ToPCArea, Userindex, UserList(Userindex).Pos.Map, "TW" & SND_NIVEL)
Call SendData(SendTarget.ToIndex, Userindex, 0, "||¡Has subido de nivel!" & FONTTYPE_INFO)
 
If UserList(Userindex).Stats.ELV = 1 Then
Pts = 10
Else
Pts = 5
End If
 
UserList(Userindex).Stats.SkillPts = UserList(Userindex).Stats.SkillPts + Pts
 
Call SendData(SendTarget.ToIndex, Userindex, 0, "||Has ganado " & Pts & " skillpoints." & FONTTYPE_INFO)
 
UserList(Userindex).Stats.ELV = UserList(Userindex).Stats.ELV + 1
 
UserList(Userindex).Stats.Exp = UserList(Userindex).Stats.Exp - UserList(Userindex).Stats.ELU
 
If Not EsNewbie(Userindex) And WasNewbie Then
Call QuitarNewbieObj(Userindex)
If UCase$(MapInfo(UserList(Userindex).Pos.Map).Restringir) = "SI" Then
Call WarpUserChar(Userindex, 1, 50, 50, True)
Call SendData(SendTarget.ToIndex, Userindex, 0, "||Debes abandonar el Dungeon Newbie." & FONTTYPE_WARNING)
End If
End If
 
If UserList(Userindex).Stats.ELV = 30 Then
Call SendData(SendTarget.ToIndex, Userindex, 0, "SIU")
End If
Exit Sub
 
 
If UserList(Userindex).Stats.ELV = 50 Then
Call SendData(SendTarget.ToIndex, Userindex, 0, "SID")
End If
Exit Sub
 
If UserList(Userindex).Stats.ELV < 11 Then
UserList(Userindex).Stats.ELU = UserList(Userindex).Stats.ELU * 1.5
ElseIf UserList(Userindex).Stats.ELV < 25 Then
UserList(Userindex).Stats.ELU = UserList(Userindex).Stats.ELU * 1.3
Else
UserList(Userindex).Stats.ELU = UserList(Userindex).Stats.ELU * 1.2
End If
 
Dim AumentoHP As Integer
Select Case UCase$(UserList(Userindex).Clase)
Case "GUERRERO"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(9, 12)
Case 20
AumentoHP = RandomNumber(8, 12)
Case 19, 18
AumentoHP = RandomNumber(8, 11)
Case Else
AumentoHP = RandomNumber(6, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) + AdicionalHPGuerrero
End Select
 
AumentoHIT = IIf(UserList(Userindex).Stats.ELV > 35, 2, 3)
AumentoSTA = AumentoSTDef
 
Case "CAZADOR"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(9, 11)
Case 20
AumentoHP = RandomNumber(7, 11)
Case 19, 18
AumentoHP = RandomNumber(6, 11)
Case Else
AumentoHP = RandomNumber(6, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2)
End Select
 
AumentoHIT = IIf(UserList(Userindex).Stats.ELV > 35, 2, 3)
AumentoSTA = AumentoSTDef
 
Case "PIRATA"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(9, 11)
Case 20
AumentoHP = RandomNumber(7, 11)
Case 18, 19
AumentoHP = RandomNumber(6, 11)
Case Else
AumentoHP = RandomNumber(4, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) + AdicionalHPGuerrero
End Select
 
AumentoHIT = 3
AumentoSTA = AumentoSTDef
 
Case "PALADIN"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(9, 11)
Case 20
AumentoHP = RandomNumber(7, 11)
Case 19, 18
AumentoHP = RandomNumber(6, 11)
Case Else
AumentoHP = RandomNumber(4, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) + AdicionalHPCazador
End Select
 
AumentoHIT = IIf(UserList(Userindex).Stats.ELV > 35, 1, 3)
AumentoMANA = UserList(Userindex).Stats.UserAtributos(eAtributos.Inteligencia)
AumentoSTA = AumentoSTDef
 
Case "LADRON"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(7, 10)
Case 20
AumentoHP = RandomNumber(6, 10)
Case 19, 18
AumentoHP = RandomNumber(5, 9)
Case Else
AumentoHP = RandomNumber(4, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2)
End Select
 
AumentoHIT = 1
AumentoSTA = AumentoSTLadron
Case "NIGROMANTE"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(6, 9)
Case 20
AumentoHP = RandomNumber(5, 9)
Case 19, 18
AumentoHP = RandomNumber(4, 8)
Case Else
AumentoHP = RandomNumber(5, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) - AdicionalHPCazador
End Select
If AumentoHP < 1 Then AumentoHP = 4
 
AumentoHIT = 2
AumentoMANA = 3 * UserList(Userindex).Stats.UserAtributos(eAtributos.Inteligencia)
AumentoSTA = AumentoSTNigro
 
Case "MAGO"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(6, 9)
Case 20
AumentoHP = RandomNumber(5, 9)
Case 19, 18
AumentoHP = RandomNumber(4, 8)
Case Else
AumentoHP = RandomNumber(5, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) - AdicionalHPCazador
End Select
If AumentoHP < 1 Then AumentoHP = 4
 
AumentoHIT = 1
AumentoMANA = 3 * UserList(Userindex).Stats.UserAtributos(eAtributos.Inteligencia)
AumentoSTA = AumentoSTMago
 
Case "LEÑADOR"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(6, 9)
Case 20
AumentoHP = RandomNumber(5, 9)
Case 19, 18
AumentoHP = RandomNumber(4, 8)
Case Else
AumentoHP = RandomNumber(5, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) - AdicionalHPCazador
End Select
 
AumentoHIT = 2
AumentoSTA = AumentoSTLeñador
 
Case "MINERO"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(6, 9)
Case 20
AumentoHP = RandomNumber(5, 9)
Case 19, 18
AumentoHP = RandomNumber(4, 8)
Case Else
AumentoHP = RandomNumber(5, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) - AdicionalHPCazador
End Select
 
AumentoHIT = 2
AumentoSTA = AumentoSTMinero
 
Case "PESCADOR"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(6, 9)
Case 20
AumentoHP = RandomNumber(5, 9)
Case 19, 18
AumentoHP = RandomNumber(4, 8)
Case Else
AumentoHP = RandomNumber(5, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) - AdicionalHPCazador
End Select
 
AumentoHIT = 1
AumentoSTA = AumentoSTPescador
 
Case "CLERIGO"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(7, 11)
Case 20
AumentoHP = RandomNumber(6, 10)
Case 19, 18
AumentoHP = RandomNumber(5, 9)
Case Else
AumentoHP = RandomNumber(4, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2)
End Select
 
AumentoHIT = 2
AumentoMANA = 2 * UserList(Userindex).Stats.UserAtributos(eAtributos.Inteligencia)
AumentoSTA = AumentoSTDef
 
Case "DRUIDA"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(7, 10)
Case 20
AumentoHP = RandomNumber(6, 10)
Case 19, 18
AumentoHP = RandomNumber(5, 9)
Case Else
AumentoHP = RandomNumber(4, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2)
End Select
 
AumentoHIT = 2
AumentoMANA = 2 * UserList(Userindex).Stats.UserAtributos(eAtributos.Inteligencia)
AumentoSTA = AumentoSTDef
 
Case "ASESINO"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(7, 10)
Case 20
AumentoHP = RandomNumber(6, 10)
Case 19, 18
AumentoHP = RandomNumber(5, 9)
Case Else
AumentoHP = RandomNumber(4, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2)
End Select
 
AumentoHIT = IIf(UserList(Userindex).Stats.ELV > 35, 1, 3)
AumentoMANA = UserList(Userindex).Stats.UserAtributos(eAtributos.Inteligencia)
AumentoSTA = AumentoSTDef
 
Case "BARDO"
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(7, 10)
Case 20
AumentoHP = RandomNumber(6, 10)
Case 19, 18
AumentoHP = RandomNumber(5, 9)
Case Else
AumentoHP = RandomNumber(4, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2)
End Select
 
AumentoHIT = 2
AumentoMANA = 2 * UserList(Userindex).Stats.UserAtributos(eAtributos.Inteligencia)
AumentoSTA = AumentoSTDef
 
Case Else
Select Case UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion)
Case 21
AumentoHP = RandomNumber(6, 9)
Case 20
AumentoHP = RandomNumber(5, 9)
Case 19, 18
AumentoHP = RandomNumber(4, 8)
Case Else
AumentoHP = RandomNumber(5, UserList(Userindex).Stats.UserAtributos(eAtributos.Constitucion) \ 2) - AdicionalHPCazador
End Select
 
AumentoHIT = 2
AumentoSTA = AumentoSTDef
End Select
 
'Actualizamos HitPoints
UserList(Userindex).Stats.MaxHP = UserList(Userindex).Stats.MaxHP + AumentoHP
If UserList(Userindex).Stats.MaxHP > STAT_MAXHP Then _
UserList(Userindex).Stats.MaxHP = STAT_MAXHP
'Actualizamos Stamina
UserList(Userindex).Stats.MaxSta = UserList(Userindex).Stats.MaxSta + AumentoSTA
If UserList(Userindex).Stats.MaxSta > STAT_MAXSTA Then _
UserList(Userindex).Stats.MaxSta = STAT_MAXSTA
'Actualizamos Mana
UserList(Userindex).Stats.MaxMan = UserList(Userindex).Stats.MaxMan + AumentoMANA
If UserList(Userindex).Stats.ELV < 36 Then
If UserList(Userindex).Stats.MaxMan > STAT_MAXMAN Then _
UserList(Userindex).Stats.MaxMan = STAT_MAXMAN
Else
If UserList(Userindex).Stats.MaxMan > 9999 Then _
UserList(Userindex).Stats.MaxMan = 9999
End If
 
'Actualizamos Golpe Máximo
UserList(Userindex).Stats.MaxHIT = UserList(Userindex).Stats.MaxHIT + AumentoHIT
If UserList(Userindex).Stats.ELV < 36 Then
If UserList(Userindex).Stats.MaxHIT > STAT_MAXHIT_UNDER36 Then _
UserList(Userindex).Stats.MaxHIT = STAT_MAXHIT_UNDER36
Else
If UserList(Userindex).Stats.MaxHIT > STAT_MAXHIT_OVER36 Then _
UserList(Userindex).Stats.MaxHIT = STAT_MAXHIT_OVER36
End If
 
'Actualizamos Golpe Mínimo
UserList(Userindex).Stats.MinHIT = UserList(Userindex).Stats.MinHIT + AumentoHIT
If UserList(Userindex).Stats.ELV < 36 Then
If UserList(Userindex).Stats.MinHIT > STAT_MAXHIT_UNDER36 Then _
UserList(Userindex).Stats.MinHIT = STAT_MAXHIT_UNDER36
Else
If UserList(Userindex).Stats.MinHIT > STAT_MAXHIT_OVER36 Then _
UserList(Userindex).Stats.MinHIT = STAT_MAXHIT_OVER36
End If
 
'Notificamos al user
If AumentoHP > 0 Then SendData SendTarget.ToIndex, Userindex, 0, "||Has ganado " & AumentoHP & " puntos de vida." & FONTTYPE_INFO
If AumentoSTA > 0 Then SendData SendTarget.ToIndex, Userindex, 0, "||Has ganado " & AumentoSTA & " puntos de vitalidad." & FONTTYPE_INFO
If AumentoMANA > 0 Then SendData SendTarget.ToIndex, Userindex, 0, "||Has ganado " & AumentoMANA & " puntos de magia." & FONTTYPE_INFO
If AumentoHIT > 0 Then
SendData SendTarget.ToIndex, Userindex, 0, "||Tu golpe maximo aumento en " & AumentoHIT & " puntos." & FONTTYPE_INFO
SendData SendTarget.ToIndex, Userindex, 0, "||Tu golpe minimo aumento en " & AumentoHIT & " puntos." & FONTTYPE_INFO
End If
 
Call LogDesarrollo(Date & " " & UserList(Userindex).name & " paso a nivel " & UserList(Userindex).Stats.ELV & " gano HP: " & AumentoHP)
 
UserList(Userindex).Stats.MinHP = UserList(Userindex).Stats.MaxHP
 
Call EnviarSkills(Userindex)
Call EnviarSubirNivel(Userindex, Pts)
 
SendUserStatsBox Userindex
 
Loop
'End If
 
 
Exit Sub
 
errhandler:
LogError ("Error en la subrutina CheckUserLevel")
End Sub
 
Estado
Cerrado para nuevas respuestas.
Arriba