No me crea el personaje

Estado
Cerrado para nuevas respuestas.

Asteriuss

Newbie Lvl 1
Hola gente, ya se que este error puede ser comun pero no hay ninguna respuesta sertera.

Yo abri un servidor, todo perfecto, me creé el GM, después 1 PJ para probar, lo unico que toqué en los codigos es cambiar el ORO y la EXP del server NADA MÁS; y al otro día me quería crear un pj para testear, y no me dejaba,o sea yo puedo llenar los datos; Name, pass, ciudad, etc... pero cuando le mando "Crear Personaje", me pone la musiquita de Dungeon Marabel... si tienen alguna respuesta les agradecería UN MONTÓN, desde yá muchas gracias.



Yohawyn.-
 

kASHAZEj

Aprendiz Lvl 2
Recuero que ami me pasó pero hace unos meses, y no me acuerdo como lo solucioné xD.

Anda al Server.ini y comprobá si esta linea esta así:

PuedeCrearPersonajes=1

Saludos, ahora busco una solución mejor sobre tu problema y edito.

Suerte.
 

kASHAZEj

Aprendiz Lvl 2
Ya se, vos tocastes lo de "MaximaconexionesporIp =" ???

Mira seguro tocastes algo en el clsAntiDoS xD.

Busca esto en el server:

Código:
Private Const MaximoConexionesPorIP =
En mi caso yo despues del = tengo 10, me kedaría asi:

Código:
Private Const MaximoConexionesPorIP = 10
Seguro vos lo tenes en 3, lo cual te impide crear mas personajes en una misma ip. REEMPLAZA TODA LA LINEA DE MAXIMOCONEXIONESPORIP = (EL NUMERO TAMBIEN) POR ESTA:

Código:
Private Const MaximoConexionesPorIP = 10
SI EL PROBLEMA SIGUE, INTENTA CON ESTO:

Busca en el server:

Código:
Sub ConnectUser(userindex As Integer, Name As String, Password As String)
Y todo el Sub reemplazalo por este:

Código:
Sub ConnectUser(userindex As Integer, Name As String, Password As String)
On Error GoTo Error
Dim Privilegios As Byte
Dim N As Integer
Dim LoopC As Integer
Dim o As Integer
 
UserList(userindex).Counters.Protegido = 4
UserList(userindex).flags.Protegido = 2
 
Dim numeromail As Integer
 
If NumUsers > MaxUsers2 Then
    If Not (EsDios(Name) Or EsSemiDios(Name)) Then
        Call SendData(ToIndex, userindex, 0, "ERREl servidor ha alcanzado el maximo de usuarios soportado, por favor vuelva a intertarlo más tarde.")
        Exit Sub
    End If
End If
 
If NumUsers >= MaxUsers Then
    Call SendData(ToIndex, userindex, 0, "ERRLímite de usuarios alcanzado.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
If AllowMultiLogins = 0 Then
    If CheckForSameIP(UserIndex, UserList(UserIndex).ip) Then
        Call SendData(ToIndex, UserIndex, 0, "ERRNo es posible usar más de un personaje al mismo tiempo.")
        Call CloseSocket(UserIndex)
        Exit Sub
    End If
End If
 
If CheckForSameName(userindex, Name) Then
    If NameIndex(Name) = userindex Then Call CloseSocket(NameIndex(Name))
    Call SendData(ToIndex, userindex, 0, "ERRPerdón, un usuario con el mismo nombre se ha logeado.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
'¿Existe el personaje?
If FileExist(CharPath & UCase$(Name) & ".chr", vbNormal) = False Then
    Call SendData(ToIndex, userindex, 0, "ERREl personaje no existe.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
'¿Es el passwd valido?
If UCase$(Password) <> UCase$(GetVar(CharPath & UCase$(Name) & ".chr", "INIT", "Password")) Then
    Call SendData(ToIndex, userindex, 0, "ERRPassword incorrecto.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
If BANCheck(Name) Then
    For LoopC = 1 To Baneos.Count
        If Baneos(LoopC).Name = UCase$(Name) Then
            Call SendData(ToIndex, userindex, 0, "ERRSe te ha prohibido la entrada a FénixAO hasta el día " & Format(Baneos(LoopC).FechaLiberacion, "dddddd") & " a las " & Format(Baneos(LoopC).FechaLiberacion, "hh:mm am/pm"))
            Exit Sub
        End If
    Next
    Call SendData(ToIndex, userindex, 0, "ERRSe te ha prohibido la entrada a FénixAO.")
    Exit Sub
End If
 
Call LoadUser(userindex, CharPath & UCase$(Name) & ".chr")
 
If EsDios(Name) Then
    Privilegios = 3
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, False)
ElseIf EsSemiDios(Name) Then
    Privilegios = 2
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, False)
ElseIf EsConsejero(Name) Then
    Privilegios = 1
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, True)
End If
 
If Restringido And Privilegios = 0 Then
    If Not PuedeDenunciar(Name) Then
        Call SendData(ToIndex, userindex, 0, "ERREl servidor está restringido solo para GameMasters temporalmente.")
        Exit Sub
    End If
End If
 
Dim Quest As Boolean
Quest = PJQuest(Name)
 
UserList(userindex).Counters.IdleCount = Timer
If UserList(userindex).Counters.TiempoPena Then UserList(userindex).Counters.Pena = Timer
If UserList(userindex).flags.Envenenado Then UserList(userindex).Counters.Veneno = Timer
UserList(userindex).Counters.AGUACounter = Timer
UserList(userindex).Counters.COMCounter = Timer
 
If Not ValidateChr(userindex) Then
    Call SendData(ToIndex, userindex, 0, "ERRError en el personaje.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
For o = 1 To BanIps.Count
    If BanIps.Item(o) = UserList(userindex).ip Then
        Call CloseSocket(userindex)
        Exit Sub
    End If
Next
 
If UserList(userindex).Invent.EscudoEqpSlot = 0 Then UserList(userindex).Char.ShieldAnim = NingunEscudo
If UserList(userindex).Invent.CascoEqpSlot = 0 Then UserList(userindex).Char.CascoAnim = NingunCasco
If UserList(userindex).Invent.WeaponEqpSlot = 0 Then UserList(userindex).Char.WeaponAnim = NingunArma
 
Call UpdateUserInv(True, userindex, 0)
Call UpdateUserHechizos(True, userindex, 0)
 
If UserList(userindex).flags.Navegando = 1 Then
    If UserList(userindex).flags.Muerto = 1 Then
        UserList(userindex).Char.Body = iFragataFantasmal
        UserList(userindex).Char.Head = 0
        UserList(userindex).Char.WeaponAnim = NingunArma
        UserList(userindex).Char.ShieldAnim = NingunEscudo
        UserList(userindex).Char.CascoAnim = NingunCasco
    Else
        UserList(userindex).Char.Body = ObjData(UserList(userindex).Invent.BarcoObjIndex).Ropaje
        UserList(userindex).Char.Head = 0
        UserList(userindex).Char.WeaponAnim = NingunArma
        UserList(userindex).Char.ShieldAnim = NingunEscudo
        UserList(userindex).Char.CascoAnim = NingunCasco
    End If
End If
 
UserList(userindex).flags.Privilegios = Privilegios
UserList(userindex).flags.PuedeDenunciar = PuedeDenunciar(Name)
UserList(userindex).flags.Quest = Quest
 
If UserList(userindex).flags.Privilegios > 1 Then
    If UCase$(Name) = "BALEY" Then
        UserList(userindex).flags.AdminInvisible = 1
        UserList(userindex).flags.Invisible = 1
    Else
        UserList(userindex).POS.Map = 86
        UserList(userindex).POS.X = 50
        UserList(userindex).POS.Y = 50
    End If
End If
 
If UserList(userindex).flags.Paralizado Then Call SendData(ToIndex, userindex, 0, "P9")
 
If UserList(userindex).POS.Map = 0 Or UserList(userindex).POS.Map > NumMaps Then
    Select Case UserList(userindex).Hogar
        Case HOGAR_NIX
            UserList(userindex).POS = NIX
        Case HOGAR_BANDERBILL
            UserList(userindex).POS = BANDERBILL
        Case HOGAR_LINDOS
            UserList(userindex).POS = LINDOS
        Case HOGAR_ARGHAL
            UserList(userindex).POS = ARGHAL
        Case Else
            UserList(userindex).POS = ULLATHORPE
    End Select
    If UserList(userindex).POS.Map > NumMaps Then UserList(userindex).POS = ULLATHORPE
End If
 
If MapData(UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y).userindex Then
    Dim tIndex As Integer
    Dim NposMap As Integer
    Dim NposX As Integer
    Dim NposY As Integer
    NposMap = UserList(userindex).POS.Map
    NposX = UserList(userindex).POS.X
    NposY = UserList(userindex).POS.Y + 1
    tIndex = MapData(UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y).userindex
    Call SendData(ToIndex, tIndex, 0, "!!Un personaje se ha conectado en tu misma posición, reconectate.")
    Call WarpUserChar(userindex, NposMap, NposX, NposY, True)
End If
 
'    Dim nPos As WorldPos
'    Call ClosestLegalPos(UserList(UserIndex).POS, nPos)
'    UserList(UserIndex).POS = nPos
'End If
    
UserList(userindex).Name = Name
 
If UserList(userindex).flags.Privilegios > 0 Then Call SendData(ToMoreAdmins, userindex, 0, "||" & UserList(userindex).Name & " se conectó." & FONTTYPE_FENIX)
 
Call SendData(ToIndex, userindex, 0, "IU" & userindex)
Call SendData(ToIndex, userindex, 0, "CM" & UserList(userindex).POS.Map & "," & MapInfo(UserList(userindex).POS.Map).MapVersion & "," & MapInfo(UserList(userindex).POS.Map).Name & "," & MapInfo(UserList(userindex).POS.Map).TopPunto & "," & MapInfo(UserList(userindex).POS.Map).LeftPunto)
Call SendData(ToIndex, userindex, 0, "TM" & MapInfo(UserList(userindex).POS.Map).Music)
 
Call SendUserStatsBox(userindex)
Call EnviarHambreYsed(userindex)
 
Call SendMOTD(userindex)
 
If haciendoBK Then
    Call SendData(ToIndex, userindex, 0, "BKW")
    Call SendData(ToIndex, userindex, 0, "%Ñ")
End If
 
If Enpausa Then
    Call SendData(ToIndex, userindex, 0, "BKW")
    Call SendData(ToIndex, userindex, 0, "%O")
End If
 
UserList(userindex).flags.UserLogged = True
 
Call AgregarAUsersPorMapa(userindex)
 
If NumUsers > DayStats.MaxUsuarios Then DayStats.MaxUsuarios = NumUsers
 
If NumUsers > recordusuarios Then
    Call SendData(ToAll, 0, 0, "2L" & NumUsers)
    recordusuarios = NumUsers
    Call WriteVar(IniPath & "Server.ini", "INIT", "Record", str(recordusuarios))
    
    Call EstadisticasWeb.Informar(RECORD_USUARIOS, recordusuarios)
End If
 
If UserList(userindex).flags.Privilegios > 0 Then UserList(userindex).flags.Ignorar = 1
 
If userindex > LastUser Then LastUser = userindex
 
NumUsers = NumUsers + 1
If UserList(userindex).flags.Privilegios = 0 Then NumNoGMs = NumNoGMs + 1
Call EstadisticasWeb.Informar(CANTIDAD_ONLINE, NumUsers)
 
Call UpdateUserMap(userindex)
Call UpdateFuerzaYAg(userindex)
Set UserList(userindex).GuildRef = FetchGuild(UserList(userindex).GuildInfo.GuildName)
 
UserList(userindex).flags.Seguro = True
 
Call MakeUserChar(ToMap, 0, UserList(userindex).POS.Map, userindex, UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y)
Call SendData(ToIndex, userindex, 0, "IP" & UserList(userindex).Char.CharIndex)
If UserList(userindex).flags.Navegando = 1 Then Call SendData(ToIndex, userindex, 0, "NAVEG")
 
If UserList(userindex).flags.AdminInvisible = 0 Then Call SendData(ToPCArea, userindex, UserList(userindex).POS.Map, "CFX" & UserList(userindex).Char.CharIndex & "," & FXWARP & "," & 0)
Call SendData(ToIndex, userindex, 0, "LOGGED")
UserList(userindex).Counters.Sincroniza = Timer
 
If PuedeFaccion(userindex) Then Call SendData(ToIndex, userindex, 0, "SUFA1")
If PuedeSubirClase(userindex) Then Call SendData(ToIndex, userindex, 0, "SUCL1")
If PuedeRecompensa(userindex) Then Call SendData(ToIndex, userindex, 0, "SURE1")
 
If UserList(userindex).Stats.SkillPts Then
    Call EnviarSkills(userindex)
    Call EnviarSubirNivel(userindex, UserList(userindex).Stats.SkillPts)
End If
 
Call SendData(ToIndex, userindex, 0, "INTA" & IntervaloUserPuedeAtacar * 10)
Call SendData(ToIndex, userindex, 0, "INTS" & IntervaloUserPuedeCastear * 10)
Call SendData(ToIndex, userindex, 0, "INTF" & IntervaloUserFlechas * 10)
 
Call SendData(ToIndex, userindex, 0, "NON" & NumNoGMs)
 
If Len(UserList(userindex).GuildInfo.GuildName) > 0 And UserList(userindex).flags.Privilegios = 0 Then Call SendData(ToGuildMembers, userindex, 0, "4B" & UserList(userindex).Name)
If PuedeDestrabarse(userindex) Then Call SendData(ToIndex, userindex, 0, "||Estás encerrado, para destrabarte presiona la tecla Z." & FONTTYPE_INFO)
 
If ModoQuest Then
    Call SendData(ToIndex, userindex, 0, "||Modo Quest activado." & FONTTYPE_FENIX)
    Call SendData(ToIndex, userindex, 0, "||Los neutrales pueden poner /MERCENARIO ALIANZA o /MERCENARIO LORD THEK para enlistarse en alguna facción temporalmente durante la quest." & FONTTYPE_FENIX)
    Call SendData(ToIndex, userindex, 0, "||Al morir puedes poner /HOGAR y serás teletransportado a Ullathorpe." & FONTTYPE_FENIX)
End If
 
N = FreeFile
Open App.Path & "\logs\numusers.log" For Output As N
Print #N, NumUsers
Close #N
 
Exit Sub
Error:
    Call LogError("Error en ConnectUser: " & Name & " " & Err.Description)
 
End Sub
 
Saludos y suerte :p
 

DarkTester

<FlamiusAO Staff>
kASHAZEj dijo:
Ya se, vos tocastes lo de "MaximaconexionesporIp =" ???

Mira seguro tocastes algo en el clsAntiDoS xD.

Busca esto en el server:

Código:
Private Const MaximoConexionesPorIP =
En mi caso yo despues del = tengo 10, me kedaría asi:

Código:
Private Const MaximoConexionesPorIP = 10
Seguro vos lo tenes en 3, lo cual te impide crear mas personajes en una misma ip. REEMPLAZA TODA LA LINEA DE MAXIMOCONEXIONESPORIP = (EL NUMERO TAMBIEN) POR ESTA:

Código:
Private Const MaximoConexionesPorIP = 10
SI EL PROBLEMA SIGUE, INTENTA CON ESTO:

Busca en el server:

Código:
Sub ConnectUser(userindex As Integer, Name As String, Password As String)
Y todo el Sub reemplazalo por este:

Código:
Sub ConnectUser(userindex As Integer, Name As String, Password As String)
On Error GoTo Error
Dim Privilegios As Byte
Dim N As Integer
Dim LoopC As Integer
Dim o As Integer
 
UserList(userindex).Counters.Protegido = 4
UserList(userindex).flags.Protegido = 2
 
Dim numeromail As Integer
 
If NumUsers > MaxUsers2 Then
    If Not (EsDios(Name) Or EsSemiDios(Name)) Then
        Call SendData(ToIndex, userindex, 0, "ERREl servidor ha alcanzado el maximo de usuarios soportado, por favor vuelva a intertarlo más tarde.")
        Exit Sub
    End If
End If
 
If NumUsers >= MaxUsers Then
    Call SendData(ToIndex, userindex, 0, "ERRLímite de usuarios alcanzado.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
If AllowMultiLogins = 0 Then
    If CheckForSameIP(UserIndex, UserList(UserIndex).ip) Then
        Call SendData(ToIndex, UserIndex, 0, "ERRNo es posible usar más de un personaje al mismo tiempo.")
        Call CloseSocket(UserIndex)
        Exit Sub
    End If
End If
 
If CheckForSameName(userindex, Name) Then
    If NameIndex(Name) = userindex Then Call CloseSocket(NameIndex(Name))
    Call SendData(ToIndex, userindex, 0, "ERRPerdón, un usuario con el mismo nombre se ha logeado.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
'¿Existe el personaje?
If FileExist(CharPath & UCase$(Name) & ".chr", vbNormal) = False Then
    Call SendData(ToIndex, userindex, 0, "ERREl personaje no existe.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
'¿Es el passwd valido?
If UCase$(Password) <> UCase$(GetVar(CharPath & UCase$(Name) & ".chr", "INIT", "Password")) Then
    Call SendData(ToIndex, userindex, 0, "ERRPassword incorrecto.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
If BANCheck(Name) Then
    For LoopC = 1 To Baneos.Count
        If Baneos(LoopC).Name = UCase$(Name) Then
            Call SendData(ToIndex, userindex, 0, "ERRSe te ha prohibido la entrada a FénixAO hasta el día " & Format(Baneos(LoopC).FechaLiberacion, "dddddd") & " a las " & Format(Baneos(LoopC).FechaLiberacion, "hh:mm am/pm"))
            Exit Sub
        End If
    Next
    Call SendData(ToIndex, userindex, 0, "ERRSe te ha prohibido la entrada a FénixAO.")
    Exit Sub
End If
 
Call LoadUser(userindex, CharPath & UCase$(Name) & ".chr")
 
If EsDios(Name) Then
    Privilegios = 3
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, False)
ElseIf EsSemiDios(Name) Then
    Privilegios = 2
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, False)
ElseIf EsConsejero(Name) Then
    Privilegios = 1
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, True)
End If
 
If Restringido And Privilegios = 0 Then
    If Not PuedeDenunciar(Name) Then
        Call SendData(ToIndex, userindex, 0, "ERREl servidor está restringido solo para GameMasters temporalmente.")
        Exit Sub
    End If
End If
 
Dim Quest As Boolean
Quest = PJQuest(Name)
 
UserList(userindex).Counters.IdleCount = Timer
If UserList(userindex).Counters.TiempoPena Then UserList(userindex).Counters.Pena = Timer
If UserList(userindex).flags.Envenenado Then UserList(userindex).Counters.Veneno = Timer
UserList(userindex).Counters.AGUACounter = Timer
UserList(userindex).Counters.COMCounter = Timer
 
If Not ValidateChr(userindex) Then
    Call SendData(ToIndex, userindex, 0, "ERRError en el personaje.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
For o = 1 To BanIps.Count
    If BanIps.Item(o) = UserList(userindex).ip Then
        Call CloseSocket(userindex)
        Exit Sub
    End If
Next
 
If UserList(userindex).Invent.EscudoEqpSlot = 0 Then UserList(userindex).Char.ShieldAnim = NingunEscudo
If UserList(userindex).Invent.CascoEqpSlot = 0 Then UserList(userindex).Char.CascoAnim = NingunCasco
If UserList(userindex).Invent.WeaponEqpSlot = 0 Then UserList(userindex).Char.WeaponAnim = NingunArma
 
Call UpdateUserInv(True, userindex, 0)
Call UpdateUserHechizos(True, userindex, 0)
 
If UserList(userindex).flags.Navegando = 1 Then
    If UserList(userindex).flags.Muerto = 1 Then
        UserList(userindex).Char.Body = iFragataFantasmal
        UserList(userindex).Char.Head = 0
        UserList(userindex).Char.WeaponAnim = NingunArma
        UserList(userindex).Char.ShieldAnim = NingunEscudo
        UserList(userindex).Char.CascoAnim = NingunCasco
    Else
        UserList(userindex).Char.Body = ObjData(UserList(userindex).Invent.BarcoObjIndex).Ropaje
        UserList(userindex).Char.Head = 0
        UserList(userindex).Char.WeaponAnim = NingunArma
        UserList(userindex).Char.ShieldAnim = NingunEscudo
        UserList(userindex).Char.CascoAnim = NingunCasco
    End If
End If
 
UserList(userindex).flags.Privilegios = Privilegios
UserList(userindex).flags.PuedeDenunciar = PuedeDenunciar(Name)
UserList(userindex).flags.Quest = Quest
 
If UserList(userindex).flags.Privilegios > 1 Then
    If UCase$(Name) = "BALEY" Then
        UserList(userindex).flags.AdminInvisible = 1
        UserList(userindex).flags.Invisible = 1
    Else
        UserList(userindex).POS.Map = 86
        UserList(userindex).POS.X = 50
        UserList(userindex).POS.Y = 50
    End If
End If
 
If UserList(userindex).flags.Paralizado Then Call SendData(ToIndex, userindex, 0, "P9")
 
If UserList(userindex).POS.Map = 0 Or UserList(userindex).POS.Map > NumMaps Then
    Select Case UserList(userindex).Hogar
        Case HOGAR_NIX
            UserList(userindex).POS = NIX
        Case HOGAR_BANDERBILL
            UserList(userindex).POS = BANDERBILL
        Case HOGAR_LINDOS
            UserList(userindex).POS = LINDOS
        Case HOGAR_ARGHAL
            UserList(userindex).POS = ARGHAL
        Case Else
            UserList(userindex).POS = ULLATHORPE
    End Select
    If UserList(userindex).POS.Map > NumMaps Then UserList(userindex).POS = ULLATHORPE
End If
 
If MapData(UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y).userindex Then
    Dim tIndex As Integer
    Dim NposMap As Integer
    Dim NposX As Integer
    Dim NposY As Integer
    NposMap = UserList(userindex).POS.Map
    NposX = UserList(userindex).POS.X
    NposY = UserList(userindex).POS.Y + 1
    tIndex = MapData(UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y).userindex
    Call SendData(ToIndex, tIndex, 0, "!!Un personaje se ha conectado en tu misma posición, reconectate.")
    Call WarpUserChar(userindex, NposMap, NposX, NposY, True)
End If
 
'    Dim nPos As WorldPos
'    Call ClosestLegalPos(UserList(UserIndex).POS, nPos)
'    UserList(UserIndex).POS = nPos
'End If
    
UserList(userindex).Name = Name
 
If UserList(userindex).flags.Privilegios > 0 Then Call SendData(ToMoreAdmins, userindex, 0, "||" & UserList(userindex).Name & " se conectó." & FONTTYPE_FENIX)
 
Call SendData(ToIndex, userindex, 0, "IU" & userindex)
Call SendData(ToIndex, userindex, 0, "CM" & UserList(userindex).POS.Map & "," & MapInfo(UserList(userindex).POS.Map).MapVersion & "," & MapInfo(UserList(userindex).POS.Map).Name & "," & MapInfo(UserList(userindex).POS.Map).TopPunto & "," & MapInfo(UserList(userindex).POS.Map).LeftPunto)
Call SendData(ToIndex, userindex, 0, "TM" & MapInfo(UserList(userindex).POS.Map).Music)
 
Call SendUserStatsBox(userindex)
Call EnviarHambreYsed(userindex)
 
Call SendMOTD(userindex)
 
If haciendoBK Then
    Call SendData(ToIndex, userindex, 0, "BKW")
    Call SendData(ToIndex, userindex, 0, "%Ñ")
End If
 
If Enpausa Then
    Call SendData(ToIndex, userindex, 0, "BKW")
    Call SendData(ToIndex, userindex, 0, "%O")
End If
 
UserList(userindex).flags.UserLogged = True
 
Call AgregarAUsersPorMapa(userindex)
 
If NumUsers > DayStats.MaxUsuarios Then DayStats.MaxUsuarios = NumUsers
 
If NumUsers > recordusuarios Then
    Call SendData(ToAll, 0, 0, "2L" & NumUsers)
    recordusuarios = NumUsers
    Call WriteVar(IniPath & "Server.ini", "INIT", "Record", str(recordusuarios))
    
    Call EstadisticasWeb.Informar(RECORD_USUARIOS, recordusuarios)
End If
 
If UserList(userindex).flags.Privilegios > 0 Then UserList(userindex).flags.Ignorar = 1
 
If userindex > LastUser Then LastUser = userindex
 
NumUsers = NumUsers + 1
If UserList(userindex).flags.Privilegios = 0 Then NumNoGMs = NumNoGMs + 1
Call EstadisticasWeb.Informar(CANTIDAD_ONLINE, NumUsers)
 
Call UpdateUserMap(userindex)
Call UpdateFuerzaYAg(userindex)
Set UserList(userindex).GuildRef = FetchGuild(UserList(userindex).GuildInfo.GuildName)
 
UserList(userindex).flags.Seguro = True
 
Call MakeUserChar(ToMap, 0, UserList(userindex).POS.Map, userindex, UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y)
Call SendData(ToIndex, userindex, 0, "IP" & UserList(userindex).Char.CharIndex)
If UserList(userindex).flags.Navegando = 1 Then Call SendData(ToIndex, userindex, 0, "NAVEG")
 
If UserList(userindex).flags.AdminInvisible = 0 Then Call SendData(ToPCArea, userindex, UserList(userindex).POS.Map, "CFX" & UserList(userindex).Char.CharIndex & "," & FXWARP & "," & 0)
Call SendData(ToIndex, userindex, 0, "LOGGED")
UserList(userindex).Counters.Sincroniza = Timer
 
If PuedeFaccion(userindex) Then Call SendData(ToIndex, userindex, 0, "SUFA1")
If PuedeSubirClase(userindex) Then Call SendData(ToIndex, userindex, 0, "SUCL1")
If PuedeRecompensa(userindex) Then Call SendData(ToIndex, userindex, 0, "SURE1")
 
If UserList(userindex).Stats.SkillPts Then
    Call EnviarSkills(userindex)
    Call EnviarSubirNivel(userindex, UserList(userindex).Stats.SkillPts)
End If
 
Call SendData(ToIndex, userindex, 0, "INTA" & IntervaloUserPuedeAtacar * 10)
Call SendData(ToIndex, userindex, 0, "INTS" & IntervaloUserPuedeCastear * 10)
Call SendData(ToIndex, userindex, 0, "INTF" & IntervaloUserFlechas * 10)
 
Call SendData(ToIndex, userindex, 0, "NON" & NumNoGMs)
 
If Len(UserList(userindex).GuildInfo.GuildName) > 0 And UserList(userindex).flags.Privilegios = 0 Then Call SendData(ToGuildMembers, userindex, 0, "4B" & UserList(userindex).Name)
If PuedeDestrabarse(userindex) Then Call SendData(ToIndex, userindex, 0, "||Estás encerrado, para destrabarte presiona la tecla Z." & FONTTYPE_INFO)
 
If ModoQuest Then
    Call SendData(ToIndex, userindex, 0, "||Modo Quest activado." & FONTTYPE_FENIX)
    Call SendData(ToIndex, userindex, 0, "||Los neutrales pueden poner /MERCENARIO ALIANZA o /MERCENARIO LORD THEK para enlistarse en alguna facción temporalmente durante la quest." & FONTTYPE_FENIX)
    Call SendData(ToIndex, userindex, 0, "||Al morir puedes poner /HOGAR y serás teletransportado a Ullathorpe." & FONTTYPE_FENIX)
End If
 
N = FreeFile
Open App.Path & "\logs\numusers.log" For Output As N
Print #N, NumUsers
Close #N
 
Exit Sub
Error:
    Call LogError("Error en ConnectUser: " & Name & " " & Err.Description)
 
End Sub
 
Saludos y suerte :p

Flasheaste cualquier verdura con las conexiones eh, las conexiones por IP sólo permiten X conexiones por IP, pero no bloquean el crear personajes a X IP.
Lo del connectuser, dudo mucho que sea eso, para mí el problema está en el ConnectNewUser. Sino, fijate en el paquete NLOGIO que es el que manda el cliente al server para crear el personaje. Ahí te vas a dar cuenta del problema.


Saludos.-
 

Asteriuss

Newbie Lvl 1
kASHAZEj dijo:
Ya se, vos tocastes lo de "MaximaconexionesporIp =" ???

Mira seguro tocastes algo en el clsAntiDoS xD.

Busca esto en el server:

Código:
Private Const MaximoConexionesPorIP =
En mi caso yo despues del = tengo 10, me kedaría asi:

Código:
Private Const MaximoConexionesPorIP = 10
Seguro vos lo tenes en 3, lo cual te impide crear mas personajes en una misma ip. REEMPLAZA TODA LA LINEA DE MAXIMOCONEXIONESPORIP = (EL NUMERO TAMBIEN) POR ESTA:

Código:
Private Const MaximoConexionesPorIP = 10
SI EL PROBLEMA SIGUE, INTENTA CON ESTO:

Busca en el server:

Código:
Sub ConnectUser(userindex As Integer, Name As String, Password As String)
Y todo el Sub reemplazalo por este:

Código:
Sub ConnectUser(userindex As Integer, Name As String, Password As String)
On Error GoTo Error
Dim Privilegios As Byte
Dim N As Integer
Dim LoopC As Integer
Dim o As Integer
 
UserList(userindex).Counters.Protegido = 4
UserList(userindex).flags.Protegido = 2
 
Dim numeromail As Integer
 
If NumUsers > MaxUsers2 Then
    If Not (EsDios(Name) Or EsSemiDios(Name)) Then
        Call SendData(ToIndex, userindex, 0, "ERREl servidor ha alcanzado el maximo de usuarios soportado, por favor vuelva a intertarlo más tarde.")
        Exit Sub
    End If
End If
 
If NumUsers >= MaxUsers Then
    Call SendData(ToIndex, userindex, 0, "ERRLímite de usuarios alcanzado.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
If AllowMultiLogins = 0 Then
    If CheckForSameIP(UserIndex, UserList(UserIndex).ip) Then
        Call SendData(ToIndex, UserIndex, 0, "ERRNo es posible usar más de un personaje al mismo tiempo.")
        Call CloseSocket(UserIndex)
        Exit Sub
    End If
End If
 
If CheckForSameName(userindex, Name) Then
    If NameIndex(Name) = userindex Then Call CloseSocket(NameIndex(Name))
    Call SendData(ToIndex, userindex, 0, "ERRPerdón, un usuario con el mismo nombre se ha logeado.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
'¿Existe el personaje?
If FileExist(CharPath & UCase$(Name) & ".chr", vbNormal) = False Then
    Call SendData(ToIndex, userindex, 0, "ERREl personaje no existe.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
'¿Es el passwd valido?
If UCase$(Password) <> UCase$(GetVar(CharPath & UCase$(Name) & ".chr", "INIT", "Password")) Then
    Call SendData(ToIndex, userindex, 0, "ERRPassword incorrecto.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
If BANCheck(Name) Then
    For LoopC = 1 To Baneos.Count
        If Baneos(LoopC).Name = UCase$(Name) Then
            Call SendData(ToIndex, userindex, 0, "ERRSe te ha prohibido la entrada a FénixAO hasta el día " & Format(Baneos(LoopC).FechaLiberacion, "dddddd") & " a las " & Format(Baneos(LoopC).FechaLiberacion, "hh:mm am/pm"))
            Exit Sub
        End If
    Next
    Call SendData(ToIndex, userindex, 0, "ERRSe te ha prohibido la entrada a FénixAO.")
    Exit Sub
End If
 
Call LoadUser(userindex, CharPath & UCase$(Name) & ".chr")
 
If EsDios(Name) Then
    Privilegios = 3
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, False)
ElseIf EsSemiDios(Name) Then
    Privilegios = 2
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, False)
ElseIf EsConsejero(Name) Then
    Privilegios = 1
    Call LogGM(Name, "Se conecto con ip:" & UserList(userindex).ip, True)
End If
 
If Restringido And Privilegios = 0 Then
    If Not PuedeDenunciar(Name) Then
        Call SendData(ToIndex, userindex, 0, "ERREl servidor está restringido solo para GameMasters temporalmente.")
        Exit Sub
    End If
End If
 
Dim Quest As Boolean
Quest = PJQuest(Name)
 
UserList(userindex).Counters.IdleCount = Timer
If UserList(userindex).Counters.TiempoPena Then UserList(userindex).Counters.Pena = Timer
If UserList(userindex).flags.Envenenado Then UserList(userindex).Counters.Veneno = Timer
UserList(userindex).Counters.AGUACounter = Timer
UserList(userindex).Counters.COMCounter = Timer
 
If Not ValidateChr(userindex) Then
    Call SendData(ToIndex, userindex, 0, "ERRError en el personaje.")
    Call CloseSocket(userindex)
    Exit Sub
End If
 
For o = 1 To BanIps.Count
    If BanIps.Item(o) = UserList(userindex).ip Then
        Call CloseSocket(userindex)
        Exit Sub
    End If
Next
 
If UserList(userindex).Invent.EscudoEqpSlot = 0 Then UserList(userindex).Char.ShieldAnim = NingunEscudo
If UserList(userindex).Invent.CascoEqpSlot = 0 Then UserList(userindex).Char.CascoAnim = NingunCasco
If UserList(userindex).Invent.WeaponEqpSlot = 0 Then UserList(userindex).Char.WeaponAnim = NingunArma
 
Call UpdateUserInv(True, userindex, 0)
Call UpdateUserHechizos(True, userindex, 0)
 
If UserList(userindex).flags.Navegando = 1 Then
    If UserList(userindex).flags.Muerto = 1 Then
        UserList(userindex).Char.Body = iFragataFantasmal
        UserList(userindex).Char.Head = 0
        UserList(userindex).Char.WeaponAnim = NingunArma
        UserList(userindex).Char.ShieldAnim = NingunEscudo
        UserList(userindex).Char.CascoAnim = NingunCasco
    Else
        UserList(userindex).Char.Body = ObjData(UserList(userindex).Invent.BarcoObjIndex).Ropaje
        UserList(userindex).Char.Head = 0
        UserList(userindex).Char.WeaponAnim = NingunArma
        UserList(userindex).Char.ShieldAnim = NingunEscudo
        UserList(userindex).Char.CascoAnim = NingunCasco
    End If
End If
 
UserList(userindex).flags.Privilegios = Privilegios
UserList(userindex).flags.PuedeDenunciar = PuedeDenunciar(Name)
UserList(userindex).flags.Quest = Quest
 
If UserList(userindex).flags.Privilegios > 1 Then
    If UCase$(Name) = "BALEY" Then
        UserList(userindex).flags.AdminInvisible = 1
        UserList(userindex).flags.Invisible = 1
    Else
        UserList(userindex).POS.Map = 86
        UserList(userindex).POS.X = 50
        UserList(userindex).POS.Y = 50
    End If
End If
 
If UserList(userindex).flags.Paralizado Then Call SendData(ToIndex, userindex, 0, "P9")
 
If UserList(userindex).POS.Map = 0 Or UserList(userindex).POS.Map > NumMaps Then
    Select Case UserList(userindex).Hogar
        Case HOGAR_NIX
            UserList(userindex).POS = NIX
        Case HOGAR_BANDERBILL
            UserList(userindex).POS = BANDERBILL
        Case HOGAR_LINDOS
            UserList(userindex).POS = LINDOS
        Case HOGAR_ARGHAL
            UserList(userindex).POS = ARGHAL
        Case Else
            UserList(userindex).POS = ULLATHORPE
    End Select
    If UserList(userindex).POS.Map > NumMaps Then UserList(userindex).POS = ULLATHORPE
End If
 
If MapData(UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y).userindex Then
    Dim tIndex As Integer
    Dim NposMap As Integer
    Dim NposX As Integer
    Dim NposY As Integer
    NposMap = UserList(userindex).POS.Map
    NposX = UserList(userindex).POS.X
    NposY = UserList(userindex).POS.Y + 1
    tIndex = MapData(UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y).userindex
    Call SendData(ToIndex, tIndex, 0, "!!Un personaje se ha conectado en tu misma posición, reconectate.")
    Call WarpUserChar(userindex, NposMap, NposX, NposY, True)
End If
 
'    Dim nPos As WorldPos
'    Call ClosestLegalPos(UserList(UserIndex).POS, nPos)
'    UserList(UserIndex).POS = nPos
'End If
    
UserList(userindex).Name = Name
 
If UserList(userindex).flags.Privilegios > 0 Then Call SendData(ToMoreAdmins, userindex, 0, "||" & UserList(userindex).Name & " se conectó." & FONTTYPE_FENIX)
 
Call SendData(ToIndex, userindex, 0, "IU" & userindex)
Call SendData(ToIndex, userindex, 0, "CM" & UserList(userindex).POS.Map & "," & MapInfo(UserList(userindex).POS.Map).MapVersion & "," & MapInfo(UserList(userindex).POS.Map).Name & "," & MapInfo(UserList(userindex).POS.Map).TopPunto & "," & MapInfo(UserList(userindex).POS.Map).LeftPunto)
Call SendData(ToIndex, userindex, 0, "TM" & MapInfo(UserList(userindex).POS.Map).Music)
 
Call SendUserStatsBox(userindex)
Call EnviarHambreYsed(userindex)
 
Call SendMOTD(userindex)
 
If haciendoBK Then
    Call SendData(ToIndex, userindex, 0, "BKW")
    Call SendData(ToIndex, userindex, 0, "%Ñ")
End If
 
If Enpausa Then
    Call SendData(ToIndex, userindex, 0, "BKW")
    Call SendData(ToIndex, userindex, 0, "%O")
End If
 
UserList(userindex).flags.UserLogged = True
 
Call AgregarAUsersPorMapa(userindex)
 
If NumUsers > DayStats.MaxUsuarios Then DayStats.MaxUsuarios = NumUsers
 
If NumUsers > recordusuarios Then
    Call SendData(ToAll, 0, 0, "2L" & NumUsers)
    recordusuarios = NumUsers
    Call WriteVar(IniPath & "Server.ini", "INIT", "Record", str(recordusuarios))
    
    Call EstadisticasWeb.Informar(RECORD_USUARIOS, recordusuarios)
End If
 
If UserList(userindex).flags.Privilegios > 0 Then UserList(userindex).flags.Ignorar = 1
 
If userindex > LastUser Then LastUser = userindex
 
NumUsers = NumUsers + 1
If UserList(userindex).flags.Privilegios = 0 Then NumNoGMs = NumNoGMs + 1
Call EstadisticasWeb.Informar(CANTIDAD_ONLINE, NumUsers)
 
Call UpdateUserMap(userindex)
Call UpdateFuerzaYAg(userindex)
Set UserList(userindex).GuildRef = FetchGuild(UserList(userindex).GuildInfo.GuildName)
 
UserList(userindex).flags.Seguro = True
 
Call MakeUserChar(ToMap, 0, UserList(userindex).POS.Map, userindex, UserList(userindex).POS.Map, UserList(userindex).POS.X, UserList(userindex).POS.Y)
Call SendData(ToIndex, userindex, 0, "IP" & UserList(userindex).Char.CharIndex)
If UserList(userindex).flags.Navegando = 1 Then Call SendData(ToIndex, userindex, 0, "NAVEG")
 
If UserList(userindex).flags.AdminInvisible = 0 Then Call SendData(ToPCArea, userindex, UserList(userindex).POS.Map, "CFX" & UserList(userindex).Char.CharIndex & "," & FXWARP & "," & 0)
Call SendData(ToIndex, userindex, 0, "LOGGED")
UserList(userindex).Counters.Sincroniza = Timer
 
If PuedeFaccion(userindex) Then Call SendData(ToIndex, userindex, 0, "SUFA1")
If PuedeSubirClase(userindex) Then Call SendData(ToIndex, userindex, 0, "SUCL1")
If PuedeRecompensa(userindex) Then Call SendData(ToIndex, userindex, 0, "SURE1")
 
If UserList(userindex).Stats.SkillPts Then
    Call EnviarSkills(userindex)
    Call EnviarSubirNivel(userindex, UserList(userindex).Stats.SkillPts)
End If
 
Call SendData(ToIndex, userindex, 0, "INTA" & IntervaloUserPuedeAtacar * 10)
Call SendData(ToIndex, userindex, 0, "INTS" & IntervaloUserPuedeCastear * 10)
Call SendData(ToIndex, userindex, 0, "INTF" & IntervaloUserFlechas * 10)
 
Call SendData(ToIndex, userindex, 0, "NON" & NumNoGMs)
 
If Len(UserList(userindex).GuildInfo.GuildName) > 0 And UserList(userindex).flags.Privilegios = 0 Then Call SendData(ToGuildMembers, userindex, 0, "4B" & UserList(userindex).Name)
If PuedeDestrabarse(userindex) Then Call SendData(ToIndex, userindex, 0, "||Estás encerrado, para destrabarte presiona la tecla Z." & FONTTYPE_INFO)
 
If ModoQuest Then
    Call SendData(ToIndex, userindex, 0, "||Modo Quest activado." & FONTTYPE_FENIX)
    Call SendData(ToIndex, userindex, 0, "||Los neutrales pueden poner /MERCENARIO ALIANZA o /MERCENARIO LORD THEK para enlistarse en alguna facción temporalmente durante la quest." & FONTTYPE_FENIX)
    Call SendData(ToIndex, userindex, 0, "||Al morir puedes poner /HOGAR y serás teletransportado a Ullathorpe." & FONTTYPE_FENIX)
End If
 
N = FreeFile
Open App.Path & "\logs\numusers.log" For Output As N
Print #N, NumUsers
Close #N
 
Exit Sub
Error:
    Call LogError("Error en ConnectUser: " & Name & " " & Err.Description)
 
End Sub
 
Saludos y suerte :p
:s, probé pero no me funciona... lo del =10, lo tenia en 13, no anda, lo puse en 10, y tampoco, y lo otro cuando compilo me tira error :S...
 

kASHAZEj

Aprendiz Lvl 2
Aver, en el server busca:

Código:
            Case "NLOGIO"
Reemplaza todo el Case por este:

Código:
            Case "NLOGIO"
                
                If PuedeCrearPersonajes = 0 Then
                    Call SendData(ToIndex, userindex, 0, "ERRNo se pueden crear más personajes en este servidor.")
                    Call CloseSocket(userindex)
                    Exit Sub
                End If
                
                If aClon.MaxPersonajes(UserList(userindex).ip) Then
                    Call SendData(ToIndex, userindex, 0, "ERRHas creado demasiados personajes.")
                    Call CloseSocket(userindex)
                    Exit Sub
                End If
                
                rdata = Right$(rdata, Len(rdata) - 6)
                cliMD5 = Right$(rdata, 8)
 
                
                Ver = ReadField(5, rdata, 44)
                If Ver = UltimaVersion Then
                     
                     If (UserList(userindex).flags.ValCoDe = 0) Or (ValidarLoginMSG(UserList(userindex).flags.ValCoDe) <> CInt(val(ReadField(37, rdata, 44)))) Then
                         Call CloseSocket(userindex)
                         Exit Sub
                     End If
  
                     Call ConnectNewUser(userindex, ReadField(1, rdata, 44), ReadField(2, rdata, 44), val(ReadField(3, rdata, 44)), ReadField(4, rdata, 44), ReadField(6, rdata, 44), ReadField(7, rdata, 44), _
                     val(ReadField(8, rdata, 44)), ReadField(9, rdata, 44), ReadField(10, rdata, 44), ReadField(11, rdata, 44), ReadField(12, rdata, 44), ReadField(13, rdata, 44), _
                     ReadField(14, rdata, 44), ReadField(15, rdata, 44), ReadField(16, rdata, 44), ReadField(17, rdata, 44), ReadField(18, rdata, 44), ReadField(19, rdata, 44), _
                     ReadField(20, rdata, 44), ReadField(21, rdata, 44), ReadField(22, rdata, 44), ReadField(23, rdata, 44), ReadField(24, rdata, 44), ReadField(25, rdata, 44), _
                     ReadField(26, rdata, 44), ReadField(27, rdata, 44), ReadField(28, rdata, 44), ReadField(29, rdata, 44), ReadField(30, rdata, 44), ReadField(31, rdata, 44), _
                     ReadField(32, rdata, 44), ReadField(33, rdata, 44), ReadField(34, rdata, 44), ReadField(35, rdata, 44), ReadField(36, rdata, 44), ReadField(38, rdata, 44))
                Else
                     Call SendData(ToIndex, userindex, 0, "!!Esta version del juego es obsoleta, la version correcta es " & UltimaVersion & ". La misma se encuentra disponible en nuestra pagina.")
                     Exit Sub
               End If
                
                Exit Sub
        End Select
    End If
Luego busca:

Código:
            Case "OLOGIO"
Reemplaza todo el case por este:

Código:
            Case "OLOGIO"
 
                rdata = Right$(rdata, Len(rdata) - 6)
                
                cliMD5 = ReadField(5, rdata, 44)
                tName = ReadField(1, rdata, 44)
                tName = RTrim(tName)
                
                    
                If Not AsciiValidos(tName) Then
                    Call SendData(ToIndex, userindex, 0, "ERRNombre invalido.")
                    Exit Sub
                End If
                
                If (UserList(userindex).flags.ValCoDe = 0) Or (ValidarLoginMSG(UserList(userindex).flags.ValCoDe) <> CInt(val(ReadField(4, rdata, 44)))) Then
                    Call CloseSocket(userindex)
                    Exit Sub
                End If
               
            
                tStr = ReadField(6, rdata, 44)
                
        
                tStr = ReadField(7, rdata, 44)
                
                      
                Call ConnectUser(userindex, tName, ReadField(2, rdata, 44), ReadField(5, rdata, 44))
                
                Exit Sub
Y fijate si te anda :p

Suerte.
 

DarkTester

<FlamiusAO Staff>
No es así, primero tiene que postear ÉL cómo tiene esos 2 paquetes, y recién ahí tenés que buscar dónde está el error. Pero no podés reemplazar el paquete completo, porque corrés el riesgo de perder alguna implementación que se haga en alguno de esos 2 paquetes.


Saludos.-
 

Asteriuss

Newbie Lvl 1
El Case "NLOGIO"; LO TENGO ASÍ:

Código:
            Case "NLOGIO"
                
                If PuedeCrearPersonajes = 0 Then
                    Call SendData(ToIndex, UserIndex, 0, "ERRNo se pueden crear más personajes en este servidor.")
                    Call CloseSocket(UserIndex)
                    Exit Sub
                End If
                
                If aClon.MaxPersonajes(UserList(UserIndex).ip) Then
                    Call SendData(ToIndex, UserIndex, 0, "ERRHas creado demasiados personajes.")
                    Call CloseSocket(UserIndex)
                    Exit Sub
                End If
                
                rdata = Right$(rdata, Len(rdata) - 6)
                cliMD5 = Right$(rdata, 8)
                
 
                
                Ver = ReadField(5, rdata, 44)
                If Ver = UltimaVersion Then
                     
                     If (UserList(UserIndex).flags.ValCoDe = 0) Or (ValidarLoginMSG(UserList(UserIndex).flags.ValCoDe) <> CInt(val(ReadField(37, rdata, 44)))) Then
                         Call CloseSocket(UserIndex)
                         Exit Sub
                     End If
  
                     Call ConnectNewUser(UserIndex, ReadField(1, rdata, 44), ReadField(2, rdata, 44), val(ReadField(3, rdata, 44)), ReadField(4, rdata, 44), ReadField(6, rdata, 44), ReadField(7, rdata, 44), _
                     val(ReadField(8, rdata, 44)), ReadField(9, rdata, 44), ReadField(10, rdata, 44), ReadField(11, rdata, 44), ReadField(12, rdata, 44), ReadField(13, rdata, 44), _
                     ReadField(14, rdata, 44), ReadField(15, rdata, 44), ReadField(16, rdata, 44), ReadField(17, rdata, 44), ReadField(18, rdata, 44), ReadField(19, rdata, 44), _
                     ReadField(20, rdata, 44), ReadField(21, rdata, 44), ReadField(22, rdata, 44), ReadField(23, rdata, 44), ReadField(24, rdata, 44), ReadField(25, rdata, 44), _
                     ReadField(26, rdata, 44), ReadField(27, rdata, 44), ReadField(28, rdata, 44), ReadField(29, rdata, 44), ReadField(30, rdata, 44), ReadField(31, rdata, 44), _
                     ReadField(32, rdata, 44), ReadField(33, rdata, 44), ReadField(34, rdata, 44), ReadField(35, rdata, 44), ReadField(36, rdata, 44))
                Else
                     Call SendData(ToIndex, UserIndex, 0, "!!Esta version del juego es obsoleta, la version correcta es " & UltimaVersion & ". La misma se encuentra disponible en nuestra pagina.")
                     Exit Sub
               End If
                
                Exit Sub
        End Select
    End If
 
If Not UserList(UserIndex).flags.UserLogged Then
    Call CloseSocket(UserIndex)
    Exit Sub
End If
Y el Case "OLOGIO" LO TENGO ASÍ:

Código:
Case "OLOGIO"
 
                rdata = Right$(rdata, Len(rdata) - 6)
                
                cliMD5 = ReadField(5, rdata, 44)
                tName = ReadField(1, rdata, 44)
                tName = RTrim(tName)
                
                    
                If Not AsciiValidos(tName) Then
                    Call SendData(ToIndex, UserIndex, 0, "ERRNombre invalido.")
                    Exit Sub
                End If
                
                If (UserList(UserIndex).flags.ValCoDe = 0) Or (ValidarLoginMSG(UserList(UserIndex).flags.ValCoDe) <> CInt(val(ReadField(4, rdata, 44)))) Then
                    Call CloseSocket(UserIndex)
                    Exit Sub
                End If
               
            
                tStr = ReadField(6, rdata, 44)
                
        
                tStr = ReadField(7, rdata, 44)
                
                      
                Call ConnectUser(UserIndex, tName, ReadField(2, rdata, 44))
                
                Exit Sub
La verdad, que no tengo MUCHA IDEA de progamación, por favor a ver si se dan cuenta si hay algún error, muchas gracias!!
 

Dalton.-

Rest in peace my sweet Argentum Online
Agarrate otro mod, no creó que puedan ver el problema si no tienen los codes, seria muy dificil porqué hay miles de problemas con crear personaje...
 

Mafia

Juree!
Fijate si tocastes algo en el Guardado/Cargado de PJs. A mi me pasa en 11.5 que si no existe una Bar del GetVar entonces no me deja crear el pj
 

Asteriuss

Newbie Lvl 1
Dalton.- dijo:
Agarrate otro mod, no creó que puedan ver el problema si no tienen los codes, seria muy dificil porqué hay miles de problemas con crear personaje...
Tenes mucha razon... seria casi imposible encontrar el error... igual muchas gracias a todos!!
 
Estado
Cerrado para nuevas respuestas.
Arriba