Mejora en el ContarMuerte

Ir abajo

Mejora en el ContarMuerte

Mensaje por zerocx el 13/12/2016, 3:22 pm

Aclaración: el código está hecho para 13.3, pero es fácilmente adaptable para 13.0 e inferiores.

Dado que a la gente de Alkon a veces se le cae una idea pero no la terminan de aplicar...

Van al módulo Sub LoadUserInit

Debajo de:
Código:

.Paralizado = CByte(UserFile.GetValue("FLAGS", "Paralizado"))

Agregan lo siguiente:

Código:

.LastCiudMatado = CStr(UserFile.GetValue("CONTROLFRAGS", "IPUltimoCiudaMatado"))
.LastCrimMatado = CStr(UserFile.GetValue("CONTROLFRAGS", "IPUltimoCrimiMatado"))

Luego buscan el Public Sub ContarMuerte, lo reemplazan por el siguiente:

Código:

Public Sub ContarMuerte(ByVal Muerto As Integer, ByVal Atacante As Integer)
'***************************************************
'Author: Unknown
'Last Modification: 13/12/2016
'13/07/2010: ZaMa - Los matados en estado atacable ya no suman frag.
'***************************************************
    Dim Manager As clsIniManager
    Set Manager = New clsIniManager
  
    Call Manager.Initialize(CharPath & UCase$(UserList(Atacante).Name) & ".chr")

    If EsNewbie(Muerto) Then Exit Sub
      
    With UserList(Atacante)
        If TriggerZonaPelea(Muerto, Atacante) = TRIGGER6_PERMITE Then Exit Sub
      
        If criminal(Muerto) Then
            If .flags.LastCrimMatado <> UserList(Muerto).ip Then
                .flags.LastCrimMatado = UserList(Muerto).ip
                Call Manager.ChangeValue("CONTROLFRAGS", "IPUltimoCrimiMatado", UserList(Muerto).ip)
              
                If .Faccion.CriminalesMatados < MAXUSERMATADOS Then _
                    .Faccion.CriminalesMatados = .Faccion.CriminalesMatados + 1
            End If
          
            If .Faccion.RecibioExpInicialCaos = 1 And UserList(Muerto).Faccion.FuerzasCaos = 1 Then
                .Faccion.Reenlistadas = 200  'jaja que trucho
                'con esto evitamos que se vuelva a reenlistar
            End If
        Else
            If .flags.LastCiudMatado <> UserList(Muerto).ip Then
                .flags.LastCiudMatado = UserList(Muerto).ip
                Call Manager.ChangeValue("CONTROLFRAGS", "IPUltimoCiudaMatado", UserList(Muerto).ip)

                If .Faccion.CiudadanosMatados < MAXUSERMATADOS Then _
                    .Faccion.CiudadanosMatados = .Faccion.CiudadanosMatados + 1
            End If
        End If
      
        If .Stats.UsuariosMatados < MAXUSERMATADOS Then _
            .Stats.UsuariosMatados = .Stats.UsuariosMatados + 1
    End With
          
    Call Manager.DumpFile(CharPath & UCase$(UserList(Atacante).Name) & ".chr")
          
    Set Manager = Nothing
End Sub

Y listo.

¿Que hace esto?

Simple, en ves de guardar el nick del último personaje que mataste para evitar que al matarlo nuevamente te sume 1 frag (cosa que no tiene sentido porque si tenes 2 personajes es cuestión de loguear uno, matarlo, loguear el otro, matarlo, y trucheas frags como perro). Ni hablar que en ningún momento esto se guardaba en el Charfile, así que si deslogueabas vos que eras el que mataba, también podías seguir sumando.

Con esto, en ves de guardar el nick del usuario, van a guardar la dirección IP del usuario que están matando, y no solo eso sino que la van a guardar DENTRO del personaje que lo está matando.
Da igual que personaje loguees, si la ip coincide nunca te va a sumar el frag, y si sos un enfermito que vas a estar reseteando el módem o cambiando la ip con algún otro método para sumar frags, te felicito, tenes mucho tiempo al pedo.

Espero le sirva a alguien, saludos.
avatar
zerocx
Nivel 2
Nivel 2

¿BANEADO? : No.
Premios : Ninguno.
Cantidad de envíos : 43
Edad : 27
Localización : Buenos Aires
Fecha de inscripción : 23/10/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mejora en el ContarMuerte

Mensaje por Toyz el 13/12/2016, 4:28 pm

Excelente, jamás se me había ocurrido hacerlo de esta manera hasta que me lo mencionaste por Facebook.

Espero que lo utilicen ya que muchos servidores tienen este problema Razz


_______________

Como saben yo aporto bastante en Servers-Argentum y les quiero decir que todos tienen derecho de usar y de aportar en otra comunidad mis aportes pero sólo con un requisito y es tan simple que dejar los créditos. Gracias.
Si conocen otra comunidad y en esa misma mis aportes no están aportados, si tenés tiempo y ganas, aportalo! A mucha gente le puede servir. No te olvides del requisito Razz

MIS MEJORES APORTES:

Compra/venta de personajes:
https://goo.gl/A44Av0

Juegos del Hambre:
https://goo.gl/u6aNUG

Deathmatch automático:
https://goo.gl/GQF4fK

Sistema de retos vía MMR con búsqueda, emparejamiento, etc:
https://goo.gl/40uP0f

Sistemas de eventos automáticos de 1vs1 hasta 10vs10:
https://goo.gl/XYKygc

1VS1 - AIM - MELEE - Gana Sigue (Se liberan cupos)
https://goo.gl/qq83wx

Retos 3vs3 - [Items, 2 rounds, múltiples arenas, oro]
https://goo.gl/x8SMnV

Eliminar sistema de Skill (COMPLETO)
https://goo.gl/mKxHzC
avatar
Toyz
Administrador
Administrador

¿BANEADO? : No.
Premios :
[1er puesto] Usuario del año 2016
Cantidad de envíos : 5046
Edad : 17
Localización : Global.
Fecha de inscripción : 28/09/2014

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mejora en el ContarMuerte

Mensaje por JuR.- el 13/12/2016, 5:44 pm

muy bueno, lastima que no uso 13x, veo si lo puedo pasar.
avatar
JuR.-
Nivel 6
Nivel 6

¿BANEADO? : No.
Premios : Ninguno.
Cantidad de envíos : 278
Localización : Entre 4 paredes. Man
Fecha de inscripción : 23/05/2014

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mejora en el ContarMuerte

Mensaje por zerocx el 13/12/2016, 7:37 pm

@JuR.- escribió:muy bueno, lastima que no uso 13x, veo si lo puedo pasar.

Si usas cualquier otra cosa que no sea 13, tenes que sacar todo lo de la clsIniManager y donde la llama en Manager.ChangeValue tenes que usar WriteVar, nada más.
avatar
zerocx
Nivel 2
Nivel 2

¿BANEADO? : No.
Premios : Ninguno.
Cantidad de envíos : 43
Edad : 27
Localización : Buenos Aires
Fecha de inscripción : 23/10/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mejora en el ContarMuerte

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


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