SpikeL Comunidad
Hola, bienvenido a SpikeL Foro.

Si eres nuevo, deves registrarte.

Si ya tienes una cuenta, deves ingresar.

¡Muchas gracias!

PD: Si te has registrado pero no puedes logear tienes que activar tu cuenta desde tu e-mail.


Unirse al foro, es rápido y fácil

SpikeL Comunidad
Hola, bienvenido a SpikeL Foro.

Si eres nuevo, deves registrarte.

Si ya tienes una cuenta, deves ingresar.

¡Muchas gracias!

PD: Si te has registrado pero no puedes logear tienes que activar tu cuenta desde tu e-mail.
SpikeL Comunidad
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Sistema de resets!

+2
Spikel
Francohhh
6 participantes

Ir abajo

Tutorial Sistema de resets!

Mensaje por Francohhh Jue Oct 07, 2010 2:12 pm

Bueno, acá les dejo el sistema de resets del anterior Magnum AOMU.


SERVIDOR.

Buscamos en Private Enum ClientPacketID:

Código:
    Consultation

Y agregamos abajo:

Código:
    Reset                  '/RESET

Luego buscamos:

Código:
            Call HandleConsultation(UserIndex)

Y abajo agregamos:

Código:
        Case ClientPacketID.Reset
            Call HandleResetear(UserIndex)

Luego al final del modulo "Protocol" agregamos:

Código:
Public Sub HandleResetear(ByVal UserIndex As Integer)

With UserList(UserIndex)

Call .incomingData.ReadByte

If .Stats.ELV < 245 Then
Call WriteConsoleMsg(UserIndex, "Deves ser nivel 245 en adelante, para poder resetear.", FontTypeNames.FONTTYPE_FIGHT)
Exit Sub
End If

If Not .Stats.GLD > 7500000 Then
Call WriteConsoleMsg(UserIndex, "Necesitas 7.500.000 de oro para poder resetear", FontTypeNames.FONTTYPE_FIGHT)
Exit Sub
End If

If .flags.Resets >= 250 Then
Call WriteConsoleMsg(UserIndex, "El máximo de resets es 250.", FontTypeNames.FONTTYPE_FIGHT)
Exit Sub
End If

.flags.Resets = .flags.Resets + 1
.Stats.GLD = .Stats.GLD - 7500000

Call WriteConsoleMsg(UserIndex, "¡Felicidades, has reseteado!", FontTypeNames.FONTTYPE_FIGHT)
Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor> El usuario " & .name & " ha reseteado.", FontTypeNames.FONTTYPE_SERVER))
Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave(100, .Pos.X, .Pos.Y))


.Stats.ELU = 300
.Stats.ELV = 1
.Stats.Exp = 0
.Stats.MinHIT = Round(.Stats.MinHIT * 0.3)
.Stats.MaxHIT = Round(.Stats.MaxHIT * 0.3)
.Stats.MaxHp = Round(.Stats.MaxHp * 0.3)
.Stats.MinHp = Round(.Stats.MinHp * 0.3)

Select Case .clase

Case Warrior
.Stats.MaxMAN = 0
.Stats.MinMAN = 0
Case Pirat
.Stats.MaxMAN = 0
.Stats.MinMAN = 0
Case Bandit
.Stats.MaxMAN = Round(.Stats.MaxMAN * 0.1)
.Stats.MinMAN = Round(.Stats.MinMAN * 0.1)
Case Thief
.Stats.MaxMAN = 0
.Stats.MinMAN = 0
Case Worker
.Stats.MaxMAN = 0
.Stats.MinMAN = 0
Case Hunter
.Stats.MaxMAN = 0
.Stats.MinMAN = 0
Case Paladin
.Stats.MaxMAN = Round(.Stats.MaxMAN * 0.3)
.Stats.MinMAN = Round(.Stats.MinMAN * 0.3)
Case Assasin
.Stats.MaxMAN = Round(.Stats.MaxMAN * 0.3)
.Stats.MinMAN = Round(.Stats.MinMAN * 0.3)
Case bard
.Stats.MaxMAN = Round(.Stats.MaxMAN * 0.3)
.Stats.MinMAN = Round(.Stats.MinMAN * 0.3)
Case Cleric
.Stats.MaxMAN = Round(.Stats.MaxMAN * 0.3)
.Stats.MinMAN = Round(.Stats.MinMAN * 0.3)
Case druid
.Stats.MaxMAN = Round(.Stats.MaxMAN * 0.3)
.Stats.MinMAN = Round(.Stats.MinMAN * 0.3)
Case Mage
.Stats.MaxMAN = Round(.Stats.MaxMAN * 0.3)
.Stats.MinMAN = Round(.Stats.MinMAN * 0.3)
End Select


Call WriteUpdateGold(UserIndex)
WriteUpdateUserStats (UserIndex)
Call SaveUser(UserIndex, CharPath & UCase$(UserList(UserIndex).name) & ".chr")
End With
End Sub

Luego buscamos:
Código:

Public Type UserFlags

Y Agregamos abajo:

Código:
    Resets As Byte

Luego buscamos:

Código:
            Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave(SND_NIVEL, .Pos.X, .Pos.Y))
            Call WriteConsoleMsg(UserIndex, "¡Has subido de nivel!", FontTypeNames.FONTTYPE_INFO)
           
            If .Stats.ELV = 1 Then
                Pts = 10
            Else
                'For multiple levels being rised at once
                Pts = Pts + 1
            End If
           
            .Stats.ELV = .Stats.ELV + 1
           
            .Stats.Exp = .Stats.Exp - .Stats.ELU

Y donde dice:

Código:
'Nueva subida de exp x lvl. Pablo (ToxicWaste)

Borramos desde el IF que sigue hasta el end if y lo suplantamos por:
Código:

            'Nueva subida de exp x resets. Pablo (Francohhh)
            If .flags.Resets = 0 Then
            If .Stats.ELV < 20 Then
                .Stats.ELU = .Stats.ELU * 1.35
            ElseIf .Stats.ELV < 100 Then
                .Stats.ELU = .Stats.ELU * 1.03
            ElseIf .Stats.ELV < 150 Then
                .Stats.ELU = .Stats.ELU * 1.005
            ElseIf .Stats.ELV < 200 Then
                .Stats.ELU = .Stats.ELU * 1.005
            Else
                .Stats.ELU = .Stats.ELU * 1.1
            End If
            Else
            If .Stats.ELV < 20 Then
                .Stats.ELU = .Stats.ELU * (1.35 + (.flags.Resets * 0.001))
            ElseIf .Stats.ELV < 100 Then
                .Stats.ELU = .Stats.ELU * (1.05 + (.flags.Resets * 0.001))
            ElseIf .Stats.ELV < 150 Then
                .Stats.ELU = .Stats.ELU * (1.05 + (.flags.Resets * 0.001))
            ElseIf .Stats.ELV < 200 Then
                .Stats.ELU = .Stats.ELU * (1.005 + (.flags.Resets * 0.001))
            Else
                .Stats.ELU = .Stats.ELU * (1.1 + (.flags.Resets * 0.001))
            End If
            End If

Luego buscamos:

Código:
.Stats.ELV = 1

Y agregamos abajo:

Código:
    .flags.Resets = 0

Luego buscamos

Código:
        .raza = 0

Y agregamos:

Código:
    .flags.Resets = 0

Luego buscamos:

Código:
            .Muerto = CByte(UserFile.GetValue("FLAGS", "Muerto"))

Y agregamos abajo

Código:
            .Resets = CByte(UserFile.GetValue("FLAGS", "Resets"))

Luego buscamos:

Código:
    Call WriteVar(UserFile, "FLAGS", "Navegando", CStr(.flags.Navegando))

Y abajo agregamos:

Código:
    Call WriteVar(UserFile, "FLAGS", "Resets", CStr(.flags.Resets))

Luego buscamos:

Código:
                        If Len(.desc) > 0 Then
                            Stat = "Ves a " & .name & Stat & " - " & .desc
                        Else
                            Stat = "Ves a " & .name & Stat
                        End If

Y abajo agregamos:

Código:
                        Stat = Stat & " <RESETS: " & .flags.Resets & ">"

CLIENTE.

Buscamos en Private Enum ClientPacketID:

Código:
    Consultation

Y agregamos abajo:

Código:
    Reset                  '/RESET

Luego al final del modulo "Protocol" agregamos:

Código:
Public Sub writeresetear()
With outgoingData
Call .WriteByte(ClientPacketID.Reset)
End With
End Sub

Luego buscamos:

Código:
Case "/MEDITAR"

Y arriva agregamos:

Código:
            Case "/RESET"
                Call writeresetear


RECUERDEN QUE SE DEVEN CREAR UN PJ NUEVO PARA QUE FUNCIONE SINO NO LES VA A DEJAR LOGEAR.
Francohhh
Francohhh
Administrador
Administrador

Administrador
Medallas
Sistema de resets! Prensa1Sistema de resets! Fundador1Sistema de resets! Participativo1Sistema de resets! Donar1
Sistema de resets! Staff1x Sistema de resets! Moderador1 Sistema de resets! Ao1 Sistema de resets! Desarrollo
Sistema de resets! Radio10 Sistema de resets! Radio110 Sistema de resets! Colabo10 Sistema de resets! Progra10
Sistema de resets! Cs110Sistema de resets! Postea10 Sistema de resets! Senor_10 Sistema de resets! Dueno_10
Sistema de resets! Futbol10

Mensajes Mensajes : 880
Puntos Puntos : 55006
Reputación Reputación : 41
Sexo Sexo : Masculino

Fecha de inscripción Fecha de inscripción : 23/03/2010
Edad Edad : 28
Localización Localización : Mar del Plata

http://www.spikel.org

Volver arriba Ir abajo

Tutorial Re: Sistema de resets!

Mensaje por Spikel Jue Oct 07, 2010 2:34 pm

Muy Bueno
Spikel
Spikel
Nivel 3
Nivel 3

Medallas
Sistema de resets! Prensa1

Advertencias Advertencias : 5
Mensajes Mensajes : 34
Puntos Puntos : 51670
Reputación Reputación : -1
Fecha de inscripción Fecha de inscripción : 05/10/2010
País País : Argentina


Volver arriba Ir abajo

Tutorial Re: Sistema de resets!

Mensaje por DanGer Jue Oct 07, 2010 3:08 pm

Buenisimo El Codigo Francohhh Me Sirvio Mucho Muchisimas Gracias.
avatar
DanGer
Nivel 0
Nivel 0

Medallas
Sistema de resets! Prensa1

Mensajes Mensajes : 4
Puntos Puntos : 51615
Reputación Reputación : 0
Fecha de inscripción Fecha de inscripción : 05/10/2010
País País : Argentina


Volver arriba Ir abajo

Tutorial Re: Sistema de resets!

Mensaje por Josephhh.- Dom Oct 10, 2010 5:20 pm

Lindo code seguro alto embole hacerlo


Edit: No es tanto qilombo ;)


Última edición por Kenahi el Dom Oct 10, 2010 9:20 pm, editado 1 vez (Razón : modificacion)
Josephhh.-
Josephhh.-
Nivel 5
Nivel 5

Medallas
Sistema de resets! Prensa1

Advertencias Advertencias : 3
Mensajes Mensajes : 59
Puntos Puntos : 51644
Reputación Reputación : 3
Sexo Sexo : Masculino

Fecha de inscripción Fecha de inscripción : 10/10/2010
Edad Edad : 27
País País : Argentina

Localización Localización : En la compu ;)

Volver arriba Ir abajo

Tutorial Re: Sistema de resets!

Mensaje por Tzshadow Lun Oct 11, 2010 7:38 pm

Bueno fran em mira a diferencia de los users de GS aca sabemos que no nos hacemos lvl 256 jajajajaj
Buena por liverarlo ;)
avatar
Tzshadow
Nivel 1
Nivel 1

Medallas
Sistema de resets! Prensa1

Advertencias Advertencias : BAN
Mensajes Mensajes : 14
Puntos Puntos : 51612
Reputación Reputación : 1
Fecha de inscripción Fecha de inscripción : 07/10/2010
País País : Argentina


Volver arriba Ir abajo

Tutorial Re: Sistema de resets!

Mensaje por zeratul Mar Ene 11, 2011 2:59 pm

ta muy bueno el code bien ahi x liberarlo es una pabada ponerlo
zeratul
zeratul
Nivel 5
Nivel 5

Medallas
Sistema de resets! Prensa1

Advertencias Advertencias : 1
Mensajes Mensajes : 50
Puntos Puntos : 50942
Reputación Reputación : 4
Fecha de inscripción Fecha de inscripción : 20/12/2010
Edad Edad : 25
País País : Argentina

Localización Localización : Cordoba

Volver arriba Ir abajo

Tutorial Re: Sistema de resets!

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.