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 2.2

2 participantes

Ir abajo

Sistema de 2.2 Empty Sistema de 2.2

Mensaje por santi55 Lun Dic 20, 2010 12:00 am

mecanismo: el usuario introduce /pareja y el nick de su pareja, su teammate hace lo mismo, ingresan a la sala de duelos 2vs2. La pareja que quiera enfrentarlos procede de la misma manera. No pueden formar pareja dos usuarios de la misma clase. El comando /abandonar puede ser utilizado unicamente por los usuarios que ingresaron en primera instancia a la sala y si estan ellos dos solos, es decir, si no tienen contrincantes.
Bueno, todo en el servidor:

Arriba de Type tEstadisticasDiarias, ponen



'Casted - pareja 2vs2
Public HayPareja As Boolean



Arriba de Public type Userflags, ponen:



'Casted - pareja 2vs2
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:



'casted - pareja 2vs2
SuPareja As Integer
EsperaPareja As Boolean
EnPareja As Boolean



En handledata_2 buscan:



Select Case UCase$(Left$(rData, Cool)



abajo ponen:



'Casted - pareja 2vs2
Case "/PAREJA "
rData = Right$(rData, Len(rData) - Cool
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:
'Casted - pareja 2vs2


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:



' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> casted - pareja 2vs2
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:



'casted - pareja 2vs2
If UserList(UserIndex).Pos.Map = 3 Then 'mapa de pareja
Exit Sub
End If
santi55
santi55
Nivel 12
Nivel 12

Medallas
Sistema de 2.2 Prensa1

Advertencias Advertencias : 1
Mensajes Mensajes : 156
Puntos Puntos : 51297
Reputación Reputación : 1
Fecha de inscripción Fecha de inscripción : 19/12/2010
País País : Argentina


Volver arriba Ir abajo

Sistema de 2.2 Empty Re: Sistema de 2.2

Mensaje por Batoh Lun Dic 20, 2010 12:02 am

Muy bien che se nota que es CopyPaste pero que tal si pones todo junto ??
Batoh
Batoh
Nivel 10
Nivel 10

Medallas
Sistema de 2.2 Prensa1

Advertencias Advertencias : 8
Mensajes Mensajes : 110
Puntos Puntos : 51052
Reputación Reputación : -1
Sexo Sexo : Masculino

Fecha de inscripción Fecha de inscripción : 19/12/2010
Edad Edad : 24
País País : Argentina

Localización Localización : En Hipodromo abajo del caballo blanco con manchas

https://spikel.superforo.net

Volver arriba Ir abajo

Volver arriba


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