Sistema de resets!
+2
Spikel
Francohhh
6 participantes
Página 1 de 1.
Sistema de resets!
Bueno, acá les dejo el sistema de resets del anterior Magnum AOMU.
SERVIDOR.
Buscamos en Private Enum ClientPacketID:
Y agregamos abajo:
Luego buscamos:
Y abajo agregamos:
Luego al final del modulo "Protocol" agregamos:
Luego buscamos:
Y Agregamos abajo:
Luego buscamos:
Y donde dice:
Borramos desde el IF que sigue hasta el end if y lo suplantamos por:
Luego buscamos:
Y agregamos abajo:
Luego buscamos
Y agregamos:
Luego buscamos:
Y agregamos abajo
Luego buscamos:
Y abajo agregamos:
Luego buscamos:
Y abajo agregamos:
CLIENTE.
Buscamos en Private Enum ClientPacketID:
Y agregamos abajo:
Luego al final del modulo "Protocol" agregamos:
Luego buscamos:
Y arriva agregamos:
RECUERDEN QUE SE DEVEN CREAR UN PJ NUEVO PARA QUE FUNCIONE SINO NO LES VA A DEJAR LOGEAR.
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.
Re: Sistema de resets!
Muy Bueno
SpikelNivel 3 -
Advertencias : 5
Mensajes : 34
Puntos : 51670
Reputación : -1
Fecha de inscripción : 05/10/2010
País :
Re: Sistema de resets!
Buenisimo El Codigo Francohhh Me Sirvio Mucho Muchisimas Gracias.
DanGerNivel 0 -
Mensajes : 4
Puntos : 51615
Reputación : 0
Fecha de inscripción : 05/10/2010
País :
Re: Sistema de resets!
Lindo code seguro alto embole hacerlo
Edit: No es tanto qilombo ;)
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.-Nivel 5 -
Advertencias : 3
Mensajes : 59
Puntos : 51644
Reputación : 3
Sexo :
Fecha de inscripción : 10/10/2010
Edad : 27
País :
Localización : En la compu ;)
Re: Sistema de resets!
Bueno fran em mira a diferencia de los users de GS aca sabemos que no nos hacemos lvl 256 jajajajaj
Buena por liverarlo ;)
Buena por liverarlo ;)
TzshadowNivel 1 -
Advertencias : BAN
Mensajes : 14
Puntos : 51612
Reputación : 1
Fecha de inscripción : 07/10/2010
País :
Re: Sistema de resets!
ta muy bueno el code bien ahi x liberarlo es una pabada ponerlo
zeratulNivel 5 -
Advertencias : 1
Mensajes : 50
Puntos : 50942
Reputación : 4
Fecha de inscripción : 20/12/2010
Edad : 25
País :
Localización : Cordoba
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.