De todo un pco
3 participantes
Página 1 de 1.
De todo un pco
De todo un pco:
Auto L al ser paralizado:
En el cliente:
Buscan:
Case "PARADOK" ' >>>>> Paralizar OK :: PARADOK
UserParalizado = Not UserParalizado
Call SendData("RPU")
Exit Sub
Abajo de:
UserParalizado = Not UserParalizado
Agregan:
Call SendData("RPU")
Y arriba de:
Case "PARADOK" ' >>>>> Paralizar OK :: PARADOK
Agregan:
Case "PARADOF" ' >>>>> Remover OK :: PARADOK
UserParalizado = Not UserParalizado
Exit Sub
Listo, ahora en el servidor:
Buscan:
If Hechizos(H).RemoverParalisis = 1 Then
Y mas abajo donde dice:
Call SendData(SendTarget.ToIndex, TU, 0, "PARADOK")
Reemplazan el "PARADOK" por "PARADOF"
Espero qe les sirva.
Fx al morir:
Empesemos!
Abajo de:
Public Const FXSANGRE = 14
Ponemos:
Public Const FXMUERTE = X
Buscamos:
'Quitar el dialogo del user muerto
Call SendData(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, "QDL" & UserList(UserIndex).Char.CharIndex)
Abajo ponemos:
Call SendData(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, "CFX" & UserList(UserIndex).Char.CharIndex & "," & FXMUERTE & "," & 0)
Recuerden remplazar la X por la animación.
PD: Creo que es un funcional, lo hice en bloc de notas .
Menu al presionar Esc:
Simple; Al presionar la tecla ESC aparece un menú con distintas funciones como salir del juego, clanes, estadisticas, etc etc.
Comenzamos bajando y poniendo en el cliente el siguiente formulario;
mediafire.com ui2ygzy745giim9
Ahora en el CLIENTE
En el frmmain, en el sub form_keyup debajo de
Select Case Keycode
Ponemos
Case vbKeyEscape
If frmMenu.Visible = False Then
frmMenu.Show , frmMain
End If
Y eso es todo! Como ya saben, cualquier cosa incompleta me dicen.
Comando /Ulla:
Buscan
case "/online"
Arriba agregan
case "/ULLA"
Call warpuserchar(userindex, 1, 50 , 50, true)
Call Senddata(Sendtarget.toIndex, userIndex, 0, "||Has sido llevado a Ullathorpe." & FONTTYPE_INFO)
Comando /Busca :
If UCase$(Left$(rData, 6)) = "/RMSG " Then
rData = Right$(rData, Len(rData) - 6)
Call LogGM(UserList(UserIndex).name, "Mensaje Broadcast:" & rData, False)
If rData <> "" Then
Call SendData(SendTarget.ToAll, 0, 0, "||" & rData & FONTTYPE_TALK & ENDC)
End If
Exit Sub
End If
Y debajo colocamos:
If UCase$(Left$(rData, ) = "/BUSCAR " Then
rData = Right$(rData, Len(rData) -
For i = 1 To UBound(ObjData)
If InStr(1, Tilde(ObjData(i).name), Tilde(rData)) Then
Call SendData(ToIndex, UserIndex, 0, "||" & i & " " & ObjData(i).name & "." & FONTTYPE_INFO)
N = N + 1
End If
Next
If N = 0 Then
Call SendData(ToIndex, UserIndex, 0, "||No hubo resultados de la búsqueda: " & rData & "." & FONTTYPE_INFO)
Else
Call SendData(ToIndex, UserIndex, 0, "||Hubo " & N & " resultados de la busqueda: " & rData & "." & FONTTYPE_INFO)
End If
Exit Sub
End If
Ahora buscamos
Function MapaValido(ByVal Map As Integer) As Boolean
Y arriba colocamos
Public Function Tilde(Data As String) As String
Tilde = Replace(Replace(Replace(Replace(Replace(UCase$(Data), "Á", "A"), "É", "E"), "Í", "I"), "Ó", "O"), "Ú", "U")
End Function
Bueno la funcion es poner /buscar xxxx y te va a aparecer el numero de item y nombre
Ejemplo:
/buscar arco
Estado del usuario estilo Iao:
Todo en servidor:
Buscamos:
Stat = "Ves a " & UserList(TempCharIndex).name & Stat & " - " & UserList(TempCharIndex).Desc
Else
Stat = "Ves a " & UserList(TempCharIndex).name & Stat
End If
Y lo reemplazamos por:
Stat = "Ves a " & UserList(TempCharIndex).name & Stat & " - " & UserList(TempCharIndex).Desc & " (" & UserList(TempCharIndex).Clase & " " & UserList(TempCharIndex).Raza & " " & " Nivel " & UserList(TempCharIndex).Stats.ELV & " | "
Else
Stat = "Ves a " & UserList(TempCharIndex).name & Stat & " (" & UserList(TempCharIndex).Clase & " " & UserList(TempCharIndex).Raza & " " & " Nivel " & UserList(TempCharIndex).Stats.ELV & " | "
End If
If UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.05) Then
Stat = Stat & " Muerto)"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.1) Then
Stat = Stat & " Casi muerto)"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.25) Then
Stat = Stat & " Muy Malherido)"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.5) Then
Stat = Stat & " Malherido)"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.75) Then
Stat = Stat & " Herido9"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP) Then
Stat = Stat & " Levemente Herido)"
Else
Stat = Stat & " Intacto)"
End If.
Sistema de 2.2:
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, )
abajo ponen:
'Casted - pareja 2vs2
Case "/PAREJA "
rData = Right$(rData, Len(rData) -
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
Auto L al ser paralizado:
En el cliente:
Buscan:
Case "PARADOK" ' >>>>> Paralizar OK :: PARADOK
UserParalizado = Not UserParalizado
Call SendData("RPU")
Exit Sub
Abajo de:
UserParalizado = Not UserParalizado
Agregan:
Call SendData("RPU")
Y arriba de:
Case "PARADOK" ' >>>>> Paralizar OK :: PARADOK
Agregan:
Case "PARADOF" ' >>>>> Remover OK :: PARADOK
UserParalizado = Not UserParalizado
Exit Sub
Listo, ahora en el servidor:
Buscan:
If Hechizos(H).RemoverParalisis = 1 Then
Y mas abajo donde dice:
Call SendData(SendTarget.ToIndex, TU, 0, "PARADOK")
Reemplazan el "PARADOK" por "PARADOF"
Espero qe les sirva.
Fx al morir:
Empesemos!
Abajo de:
Public Const FXSANGRE = 14
Ponemos:
Public Const FXMUERTE = X
Buscamos:
'Quitar el dialogo del user muerto
Call SendData(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, "QDL" & UserList(UserIndex).Char.CharIndex)
Abajo ponemos:
Call SendData(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, "CFX" & UserList(UserIndex).Char.CharIndex & "," & FXMUERTE & "," & 0)
Recuerden remplazar la X por la animación.
PD: Creo que es un funcional, lo hice en bloc de notas .
Menu al presionar Esc:
Simple; Al presionar la tecla ESC aparece un menú con distintas funciones como salir del juego, clanes, estadisticas, etc etc.
Comenzamos bajando y poniendo en el cliente el siguiente formulario;
mediafire.com ui2ygzy745giim9
Ahora en el CLIENTE
En el frmmain, en el sub form_keyup debajo de
Select Case Keycode
Ponemos
Case vbKeyEscape
If frmMenu.Visible = False Then
frmMenu.Show , frmMain
End If
Y eso es todo! Como ya saben, cualquier cosa incompleta me dicen.
Comando /Ulla:
Buscan
case "/online"
Arriba agregan
case "/ULLA"
Call warpuserchar(userindex, 1, 50 , 50, true)
Call Senddata(Sendtarget.toIndex, userIndex, 0, "||Has sido llevado a Ullathorpe." & FONTTYPE_INFO)
Comando /Busca :
If UCase$(Left$(rData, 6)) = "/RMSG " Then
rData = Right$(rData, Len(rData) - 6)
Call LogGM(UserList(UserIndex).name, "Mensaje Broadcast:" & rData, False)
If rData <> "" Then
Call SendData(SendTarget.ToAll, 0, 0, "||" & rData & FONTTYPE_TALK & ENDC)
End If
Exit Sub
End If
Y debajo colocamos:
If UCase$(Left$(rData, ) = "/BUSCAR " Then
rData = Right$(rData, Len(rData) -
For i = 1 To UBound(ObjData)
If InStr(1, Tilde(ObjData(i).name), Tilde(rData)) Then
Call SendData(ToIndex, UserIndex, 0, "||" & i & " " & ObjData(i).name & "." & FONTTYPE_INFO)
N = N + 1
End If
Next
If N = 0 Then
Call SendData(ToIndex, UserIndex, 0, "||No hubo resultados de la búsqueda: " & rData & "." & FONTTYPE_INFO)
Else
Call SendData(ToIndex, UserIndex, 0, "||Hubo " & N & " resultados de la busqueda: " & rData & "." & FONTTYPE_INFO)
End If
Exit Sub
End If
Ahora buscamos
Function MapaValido(ByVal Map As Integer) As Boolean
Y arriba colocamos
Public Function Tilde(Data As String) As String
Tilde = Replace(Replace(Replace(Replace(Replace(UCase$(Data), "Á", "A"), "É", "E"), "Í", "I"), "Ó", "O"), "Ú", "U")
End Function
Bueno la funcion es poner /buscar xxxx y te va a aparecer el numero de item y nombre
Ejemplo:
/buscar arco
Estado del usuario estilo Iao:
Todo en servidor:
Buscamos:
Stat = "Ves a " & UserList(TempCharIndex).name & Stat & " - " & UserList(TempCharIndex).Desc
Else
Stat = "Ves a " & UserList(TempCharIndex).name & Stat
End If
Y lo reemplazamos por:
Stat = "Ves a " & UserList(TempCharIndex).name & Stat & " - " & UserList(TempCharIndex).Desc & " (" & UserList(TempCharIndex).Clase & " " & UserList(TempCharIndex).Raza & " " & " Nivel " & UserList(TempCharIndex).Stats.ELV & " | "
Else
Stat = "Ves a " & UserList(TempCharIndex).name & Stat & " (" & UserList(TempCharIndex).Clase & " " & UserList(TempCharIndex).Raza & " " & " Nivel " & UserList(TempCharIndex).Stats.ELV & " | "
End If
If UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.05) Then
Stat = Stat & " Muerto)"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.1) Then
Stat = Stat & " Casi muerto)"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.25) Then
Stat = Stat & " Muy Malherido)"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.5) Then
Stat = Stat & " Malherido)"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP * 0.75) Then
Stat = Stat & " Herido9"
ElseIf UserList(TempCharIndex).Stats.MinHP < (UserList(TempCharIndex).Stats.MaxHP) Then
Stat = Stat & " Levemente Herido)"
Else
Stat = Stat & " Intacto)"
End If.
Sistema de 2.2:
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, )
abajo ponen:
'Casted - pareja 2vs2
Case "/PAREJA "
rData = Right$(rData, Len(rData) -
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
Re: De todo un pco
buen post
santi55Nivel 12 -
Advertencias : 1
Mensajes : 156
Puntos : 51297
Reputación : 1
Fecha de inscripción : 19/12/2010
País :
Re: De todo un pco
Te recomiendo ponerle el "CODE" y "/CODE" pero con [ y ].
Asi se organiza más el post.
Y también ponerle negrita a los títulos asi se distinge la cantidad de codes que tiene.
Buen aporte.
Asi se organiza más el post.
Y también ponerle negrita a los títulos asi se distinge la cantidad de codes que tiene.
Buen aporte.
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.