¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.



 
ÍndiceÍndice  Últimas imágenesÚltimas imágenes  BuscarBuscar  RegistrarseRegistrarse  ConectarseConectarse  

 

 [aporte] sistema de duelo en parejas

Ir abajo 
4 participantes
AutorMensaje
lekasak
Moderador AO
Moderador AO
lekasak


Mensajes : 28
Fecha de inscripción : 24/05/2011
Edad : 26
Localización : villa maipu

[aporte] sistema de duelo en parejas Empty
MensajeTema: [aporte] sistema de duelo en parejas   [aporte] sistema de duelo en parejas EmptyMar Mayo 24, 2011 4:53 pm

esta bueno y es muy facil.


Arriba de Type tEstadisticasDiarias, ponen
Código:
Public HayPareja As Boolean

Arriba de Public type Userflags, ponen:
Código:
Public Pareja As Pareja
 
Public Type Pareja
Jugador1 As Integer
Jugador2 As Integer
Jugador3 As Integer
Jugador4 As Integer
End Type

Abajo de Public type userflags ponen:
Código:
SuPareja As Integer
EsperaPareja As Boolean
EnPareja As Boolean

En handledata_2 buscan:
Código:
Select Case UCase$(Left$(rData, 8))

abajo ponen:
Código:
Case "/PAREJA "
        rData = Right$(rData, Len(rData) - 8)
        tIndex = NameIndex(ReadField(1, rData, 32))
     
        If tIndex = UserIndex Then
        Call SendData(SendTarget.ToIndex, UserIndex, 0, "||No puedes formar pareja contigo mismo" & FONTTYPE_INFO)
        Exit Sub
        End If
     
        If tIndex <= 0 Then
        Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Usuario offline" & FONTTYPE_INFO)
        Exit Sub
        End If
     
        If UserList(UserIndex).flags.Muerto = 1 Then
        Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Estas muerto" & FONTTYPE_INFO)
        Exit Sub
        End If
     
        If UserList(tIndex).flags.Muerto = 1 Then
        Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Esta muerto" & FONTTYPE_INFO)
        Exit Sub
        End If
     
        If UserList(UserIndex).Pos.Map = 5 Then 'mapa de duelos 2vs2
        Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Ya estas en la sala de duelos 2vs2" & FONTTYPE_INFO)
        Exit Sub
        End If
     
        If HayPareja = True Then
        Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Esta ocupado" & FONTTYPE_INFO)
        Exit Sub
        End If
     
        If UserList(UserIndex).Clase = UserList(tIndex).Clase Then
        Call SendData(SendTarget.ToIndex, UserIndex, 0, "||No puedes formar pareja con otro usuario de tu misma clase" & FONTTYPE_INFO)
        Exit Sub
        End If
     
        If MapInfo(5).NumUsers = 0 Then 'mapa de duelos 2vs2
        UserList(tIndex).flags.EsperaPareja = True
        UserList(UserIndex).flags.SuPareja = tIndex
     
            If UserList(UserIndex).flags.EsperaPareja = False Then
            Call SendData(SendTarget.ToIndex, tIndex, 0, "||Pareja > " & UserList(UserIndex).name & " te ha ofrecido formar pareja, escribe /pareja " & UserList(UserIndex).name & " para ingresar el duelo 2vs2" & FONTTYPE_INFO)
            End If
     
            If UserList(tIndex).flags.SuPareja = UserIndex Then
            Pareja.Jugador1 = UserIndex
            Pareja.Jugador2 = tIndex
            UserList(Pareja.Jugador1).flags.EnPareja = True
            UserList(Pareja.Jugador2).flags.EnPareja = True
            Call WarpUserChar(Pareja.Jugador1, 5, 50, 70) 'mapa 2vs2, posicion jugador numero 1
            Call WarpUserChar(Pareja.Jugador2, 5, 50, 72) 'mapa 2vs2, posicion jugador numero 2
            Call SendData(SendTarget.ToAll, 0, 0, "||Pareja > " & UserList(UserIndex).name & " y " & UserList(tIndex).name & " ingresaron a la sala de duelos 2vs2, para desafiarlos escribe /pareja y el nombre de tu pareja" & FONTTYPE_GUILD)
            End If
     
        Exit Sub
        End If
     
        If MapInfo(5).NumUsers = 2 Then 'mapa de duelos 2vs2
        UserList(tIndex).flags.EsperaPareja = True
        UserList(UserIndex).flags.SuPareja = tIndex
 
            If UserList(UserIndex).flags.EsperaPareja = False Then
            Call SendData(SendTarget.ToIndex, tIndex, 0, "||Pareja > " & UserList(UserIndex).name & " te ha ofrecido formar pareja, escribe /pareja " & UserList(UserIndex).name & " para ingresar el duelo 2vs2" & FONTTYPE_INFO)
            End If
 
            If UserList(tIndex).flags.SuPareja = UserIndex Then
            Pareja.Jugador3 = UserIndex
            Pareja.Jugador4 = tIndex
            UserList(Pareja.Jugador3).flags.EnPareja = True
            UserList(Pareja.Jugador4).flags.EnPareja = True
            Call WarpUserChar(Pareja.Jugador3, 5, 50, 74) 'mapa 2vs2, posicion jugador numero 3
            Call WarpUserChar(Pareja.Jugador4, 5, 50, 75) 'mapa 2vs2, posicion jugador numero 4
            Call SendData(SendTarget.ToAll, 0, 0, "||Pareja > " & UserList(UserIndex).name & " y " & UserList(tIndex).name & " han ingresado a la sala de duelos 2vs2" & FONTTYPE_GUILD)
            HayPareja = True
            End If
     
        Exit Sub
        End If

Arriba del case /est, ponen:
Código:
Case "/ABANDONAR"
If MapInfo(5).NumUsers = 2 And UserList(UserIndex).flags.EnPareja = True Then 'mapa de duelos 2vs2
            Call WarpUserChar(Pareja.Jugador1, 1, 50, 60)
            Call WarpUserChar(Pareja.Jugador2, 1, 50, 62)
            Call SendData(SendTarget.ToAll, 0, 0, "||Pareja > " & UserList(Pareja.Jugador1).name & " y " & UserList(Pareja.Jugador2).name & " abandonaron la sala de duelos 2vs2" & FONTTYPE_GUILD)
            UserList(Pareja.Jugador1).flags.EnPareja = False
            UserList(Pareja.Jugador1).flags.EsperaPareja = False
            UserList(Pareja.Jugador1).flags.SuPareja = 0
            UserList(Pareja.Jugador2).flags.EnPareja = False
            UserList(Pareja.Jugador2).flags.EsperaPareja = False
            UserList(Pareja.Jugador2).flags.SuPareja = 0
            HayPareja = False
            Exit Sub
        Else
            Call SendData(SendTarget.ToIndex, UserIndex, 0, "||No puedes utilizar este comando" & FONTTYPE_INFO)
            Exit Sub
        End If

En el sub userdie, abajo de userlist(userindex).flags.muerto = 1 ponen:
Código:
  If HayPareja = True then
    If UserList(Pareja.Jugador1).flags.EnPareja = True And UserList(Pareja.Jugador2).flags.EnPareja = True And UserList(Pareja.Jugador1).flags.Muerto = 1 And UserList(Pareja.Jugador2).flags.Muerto = 1 Then
    Call WarpUserChar(Pareja.Jugador1, 1, 50, 61)
        Call WarpUserChar(Pareja.Jugador2, 1, 50, 62)
        Call WarpUserChar(Pareja.Jugador3, 1, 50, 63)
        Call WarpUserChar(Pareja.Jugador4, 1, 50, 64)
        UserList(Pareja.Jugador1).flags.EnPareja = False
        UserList(Pareja.Jugador1).flags.EsperaPareja = False
        UserList(Pareja.Jugador1).flags.SuPareja = 0
        UserList(Pareja.Jugador2).flags.EnPareja = False
        UserList(Pareja.Jugador2).flags.EsperaPareja = False
        UserList(Pareja.Jugador2).flags.SuPareja = 0
        UserList(Pareja.Jugador3).flags.EnPareja = False
        UserList(Pareja.Jugador3).flags.EsperaPareja = False
        UserList(Pareja.Jugador3).flags.SuPareja = 0
        UserList(Pareja.Jugador4).flags.EnPareja = False
        UserList(Pareja.Jugador4).flags.EsperaPareja = False
        UserList(Pareja.Jugador4).flags.SuPareja = 0
        HayPareja = False
        Call SendData(SendTarget.ToAll, 0, 0, "||Pareja > " & UserList(Pareja.Jugador1).name & " y " & UserList(Pareja.Jugador2).name & " han sido derrotados" & FONTTYPE_GUILD)
    End If
 
    If UserList(Pareja.Jugador3).flags.EnPareja = True And UserList(Pareja.Jugador4).flags.EnPareja = True And UserList(Pareja.Jugador3).flags.Muerto = 1 And UserList(Pareja.Jugador4).flags.Muerto = 1 Then
        Call WarpUserChar(Pareja.Jugador1, 1, 50, 61)
        Call WarpUserChar(Pareja.Jugador2, 1, 50, 62)
        Call WarpUserChar(Pareja.Jugador3, 1, 50, 63)
        Call WarpUserChar(Pareja.Jugador4, 1, 50, 64)
        UserList(Pareja.Jugador1).flags.EnPareja = False
        UserList(Pareja.Jugador1).flags.EsperaPareja = False
        UserList(Pareja.Jugador1).flags.SuPareja = 0
        UserList(Pareja.Jugador2).flags.EnPareja = False
        UserList(Pareja.Jugador2).flags.EsperaPareja = False
        UserList(Pareja.Jugador2).flags.SuPareja = 0
        UserList(Pareja.Jugador3).flags.EnPareja = False
        UserList(Pareja.Jugador3).flags.EsperaPareja = False
        UserList(Pareja.Jugador3).flags.SuPareja = 0
        UserList(Pareja.Jugador4).flags.EnPareja = False
        UserList(Pareja.Jugador4).flags.EsperaPareja = False
        UserList(Pareja.Jugador4).flags.SuPareja = 0
        HayPareja = False
        Call SendData(SendTarget.ToAll, 0, 0, "||Pareja > " & UserList(Pareja.Jugador3).name & " y " & UserList(Pareja.Jugador4).name & " han sido derrotados" & FONTTYPE_GUILD)
    End If
End If

En el case /SALIR, ponen:
Código:
If UserList(UserIndex).Pos.Map = 3 Then 'mapa de pareja
  Exit Sub
End If

Eso es todo. Pueden poner que para ingresar haya que tener x cantidad de oro u otra condicion que se imaginen
Volver arriba Ir abajo
Yeahs
Admin
Admin
Yeahs


Mensajes : 45
Fecha de inscripción : 25/05/2011

[aporte] sistema de duelo en parejas Empty
MensajeTema: Re: [aporte] sistema de duelo en parejas   [aporte] sistema de duelo en parejas EmptyMiér Mayo 25, 2011 5:39 pm

Muy buen aporte Lekasak..
Volver arriba Ir abajo
Suranium

Suranium


Mensajes : 68
Fecha de inscripción : 14/05/2011

[aporte] sistema de duelo en parejas Empty
MensajeTema: Re: [aporte] sistema de duelo en parejas   [aporte] sistema de duelo en parejas EmptyJue Mayo 26, 2011 7:17 pm

¡Buen aporte!, seguí así y por hay que te hacen ADMINISTRADOR Very Happy, suerte.








Saludos.
Volver arriba Ir abajo
Ezhek
Admin
Admin
Ezhek


Mensajes : 121
Fecha de inscripción : 14/05/2011
Edad : 26

[aporte] sistema de duelo en parejas Empty
MensajeTema: Re: [aporte] sistema de duelo en parejas   [aporte] sistema de duelo en parejas EmptyVie Mayo 27, 2011 3:10 pm

Pregunta para que mod es?
Volver arriba Ir abajo
http://spacezone.gratis-foro.com
lekasak
Moderador AO
Moderador AO
lekasak


Mensajes : 28
Fecha de inscripción : 24/05/2011
Edad : 26
Localización : villa maipu

[aporte] sistema de duelo en parejas Empty
MensajeTema: Re: [aporte] sistema de duelo en parejas   [aporte] sistema de duelo en parejas EmptySáb Mayo 28, 2011 9:15 pm

Ezhek escribió:
Pregunta para que mod es?

no se si servirá para otro mod porque no tengo muy estudiados otros codigos Razz pero yo lo testié en 11.5
Volver arriba Ir abajo
Contenido patrocinado





[aporte] sistema de duelo en parejas Empty
MensajeTema: Re: [aporte] sistema de duelo en parejas   [aporte] sistema de duelo en parejas Empty

Volver arriba Ir abajo
 
[aporte] sistema de duelo en parejas
Volver arriba 
Página 1 de 1.
 Temas similares
-
» [aporte] comando /duelo
» [aporte] no paralizarte solo
» [aporte] auto resucitar para el sacerdote
» [Aporte] /LEVEL /ORO /RESET [FUNCIONABLES] (todo en un code)
» [aporte] herramientas para indexar y como utilizarlas

Permisos de este foro:No puedes responder a temas en este foro.
 :: Talleres Servidores Argentum :: Programacion-
Cambiar a: