Sistema de duelos Neithan AO

    Comparte
    avatar
    Elaine

    TEMPLARIO


    TEMPLARIO

    PJ :
    Nombre : Elaine
    Monedas de Oro172
    Mana :
    0 / 9000 / 900

    Vida :
    100 / 100100 / 100

    Premios :
    Mensajes : 38
    Edad : 27
    Llegada : 23/08/2010
    Femenino

    Sistema de duelos Neithan AO

    Mensaje por Elaine el Lun Ago 23, 2010 10:26 pm

    Cliente:


    Buscan:

    Código:
    Meditate                '/MEDITAR


    Colocar abajo:

    Código:

    SinDuelo                '/SALIRDUELO


    Buscar:

    Código:
    CheckSlot              '/SLOT


    Colocar abajo:

    Código:
    Duelo


    Buscan:

    Código:
    ' Writes the "CraftCarpenter" message to the outgoing data buffer.


    Arriba colocar:

    Código:
    Public Sub WriteDuelo()
        Call outgoingData.WriteByte(ClientPacketID.Duelo)
    End Sub

    Buscar

    Código:
    Public Sub WriteReward()

    Arriba Colocar:

    Código:
    Public Sub WriteSinDuelo()
    Call outgoingData.WriteByte(ClientPacketID.SinDuelo)
    End Sub

    Buscar:

    Código:
    Call WriteMeditate


    Colocar abajo:

    Código:
    Case "/DUELO"
                    Call WriteDuelo


    Buscar:



    Código:
    Case "/MOTD"
                    Call WriteRequestMOTD


    Colocar arriba:



    Código:
    Case "/SALIRDUELO"
                    Call WriteSinDuelo


    Servidor:

    Buscamos

    Código:


    Case ClientPacketID.Resucitate              '/RESUCITAR
                Call HanDleSinDuelo(UserIndex)


    Abajo colocamos



    Código:
    Case ClientPacketID.SinDuelo                  '/SALIRDUELO
                Call HanDleSinDuelo(UserIndex)


    Buscamos


    Código:

    Case ClientPacketID.CheckSlot              '/SLOT
                Call HandleCheckSlot(UserIndex)


    y abajo colocamos


    Código:

    Case ClientPacketID.Duelo
                Call HandleDuelo(UserIndex)

    Buscamos

    Código:
    ' Handles the "Meditate" message.


    y arriba colocamos



    Código:
    Private Sub HanDleSinDuelo(ByVal UserIndex As Integer)
    With UserList(UserIndex)
    Call .incomingData.ReadByte
    If .flags.EnDuelo = 0 Then
    Call WriteConsoleMsg(UserIndex, "No estas en Duelo.", FontTypeNames.FONTTYPE_INFO)
    Exit Sub
    ElseIf MapInfo(283).NumUsers = 2 Then
    Call WriteConsoleMsg(UserIndex, "Debes esperar a que el reto termine para ir a la ciudad.", FontTypeNames.FONTTYPE_INFO)
    Exit Sub
    Else
    Call WarpUserChar(UserIndex, 1, 45, 45)
    Call WriteConsoleMsg(UserIndex, "Has sido transportado a la ciudad", FontTypeNames.FONTTYPE_INFO)
    .flags.EnDuelo = 0
    Exit Sub
    End If
    End With
    End Sub



    Buscamos

    Código:
    ' Prepares the "ErrorMsg" message and returns it.


    y cuando termina esa funcion abajo colocamos


    Mostrar Todo el Código | Numero de Linea | Ocultar/Mostrar | Seleccionar todo
    Private Sub HandleDuelo(ByVal UserIndex As Integer)
    With UserList(UserIndex)
    Call .incomingData.ReadByte
     
    If .Stats.ELV < 20 Then
    Call WriteConsoleMsg(UserIndex, "Tienes que ser mayor al nivel 20!!", FontTypeNames.FONTTYPE_INFO)
    Exit Sub
     
    ElseIf .flags.Muerto = 1 Then
    Call WriteConsoleMsg(UserIndex, "Estas muerto, debes estar vivo para poder luchar!!!", FontTypeNames.FONTTYPE_INFO)
    Exit Sub
     
    ElseIf MapInfo(283).NumUsers = 2 Then
    Call WriteConsoleMsg(UserIndex, "La sala de duelos está llena.", FontTypeNames.FONTTYPE_INFO)
    Exit Sub
     
    ElseIf .Pos.map = 66 Then
    Call WriteConsoleMsg(UserIndex, "No podes ir a la arena de Duelos desde la carcel.", FontTypeNames.FONTTYPE_INFO)
    Exit Sub
     
    ElseIf .Pos.map <> 1 Then
    Call WriteConsoleMsg(UserIndex, "Solo puedes ir a la sala desde el mapa 1", FontTypeNames.FONTTYPE_INFO)
    Exit Sub
     
    ElseIf .flags.EnDuelo = 1 Then
    Call WriteConsoleMsg(UserIndex, "Ya estás en un duelo.", FontTypeNames.FONTTYPE_INFO)
    Exit Sub
    End If
     
    If .flags.EnDuelo = 0 Then
    .flags.EnDuelo = 1
    Call WarpUserChar(UserIndex, 283, RandomNumber(40, 45), RandomNumber(55, 56))
    Call WriteConsoleMsg(UserIndex, "Bienvenido a la sala de duelos, para salir teclea /Salirduelo.", FontTypeNames.FONTTYPE_INFO)
    End If
    If MapInfo(283).NumUsers = 1 Then
    Call modSendData.SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Duelos> " & UserList(UserIndex).name & " espera contricante en la sala de duelos.", FontTypeNames.FONTTYPE_INFO))
    Else
    Call modSendData.SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Duelos> " & UserList(UserIndex).name & " ha aceptado el duelo.", FontTypeNames.FONTTYPE_INFO))
    Exit Sub
    End If
     
    End With
    End Sub



    Buscamos

    Código:
    Public Type UserFlags


    y abajo colocamos

    Código:

    EnDuelo As Byte


    Buscamos



    Código:
    Sub UserDie(ByVal UserIndex As Integer)


    Abajo colocamos



    Código:
    If UserList(UserIndex).flags.EnDuelo = 1 Then
    Call WarpUserChar(UserIndex, 1, 45, 45, True)
    Call modSendData.SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Duelos> " & UserList(UserIndex).name & " fue derrotado.", FontTypeNames.FONTTYPE_INFO))
    UserList(UserIndex).flags.EnDuelo = 0
    End If

    Buscamos



    Código:
    Meditate                '/MEDITAR



    Abajo colocamos



    Código:
    SinDuelo                '/SALIRDUELO


    Buscamos



    Código:
    CheckSlot              '/SLOT


    Abajo colocamos



    Código:
    Duelo


    Fuente: Neithan AO.

    Aclaración: El numero de mapa que viene en el codigo es el de neithan, si quieren modificarlo solamente cambien el número.

    Suerte!!!.
    avatar
    SuaveChiTow.-

    TEMPLARIO ESTRELLA


    TEMPLARIO ESTRELLA

    PJ :
    Nombre : SuaveChitOw.-
    Monedas de Oro-2261
    Mana :
    900 / 900900 / 900

    Vida :
    100 / 100100 / 100

    Premios :
    Mensajes : 132
    Edad : 27
    Llegada : 25/11/2008
    Masculino

    Re: Sistema de duelos Neithan AO

    Mensaje por SuaveChiTow.- el Lun Ago 23, 2010 10:28 pm

    Buen aporte, por fin me pusiste la fuente! GRACIAS


    Ya sabes qe si te gusta pone el signo +

      Fecha y hora actual: Miér Dic 12, 2018 5:15 am