JuliánC [Usuario De Mundo Argentum]
Mensajes : 35 Temas : 11 Fecha de inscripción : 20/06/2013 Edad : 25 Localización : Chascomús
| Tema: [APORTE]Sistema de Deathmatch Jue Jun 20, 2013 2:23 am | |
| Buenas les traigo el Sistema de Deathmatch TPAO style. - Citación :
- Explicación: El torneo trata de que un usuario mediante un formulario crea un torneo para 16 participantes entonces van entrando todos y cuando se llena los lleva a todos los participantes a una sala de pelea donde van a pelear , manda una cuenta regresiva antes de la cuenta no van a poder atacarse para que se ordenen bien y cuando termina la cuenta se pueden atacar , si un usuario muere lo lleva a tanaris y cuando queda 1 usuario solo el que quedo le da puntos de torneo y lo lleva a tanaris.Tambien si el creador antes de que comienze el torneo desloguea se cancela el torneo.
Empezamos!Servidor.en el sub closeuser ponen - Código:
-
If userlist(userindex).pos.map = 154 then call warpuserchar(userindex,28,50,50) end if Buscamos: - Código:
-
Case "/ONLINE" Arriba: - Código:
-
Case "/CREARTORNEO" If haytorneo = True Or ComenzoTorneo = True Then Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Ya hay un torneo de usuarios." & FONTTYPE_INFO) Exit Sub End If haytorneo = True UserList(UserIndex).flags.creadortorneouser = True UserList(UserIndex).flags.EnTorneoDm = True Call SendData(SendTarget.ToAll, 0, 0, "||[Torneo De Usuarios]" & UserList(UserIndex).name & " Está organizando un deathmatch para 16 participantes." & FONTTYPE_VERDEN) If usuariostorneo = 0 Then usuariostorneo = usuariostorneo + 1 Creador = UserList(UserIndex).name Exit Sub End If Case "/INGRESAR" Dim userstorne As Integer if userlist(userindex).flags.entorneodm = true then SendData SendTarget.ToIndex, AttackerIndex, 0, "||Ya te encuentras en el torneo de usuarios." & fonttype_info) exit sub end if If ComenzoTorneo = True Then Call SendData(SendTarget.ToIndex, UserIndex, 0, "||El torneo ya comenzo , Te has quedado afuera." & FONTTYPE_INFO) Exit Sub End If If haytorneo = False Then Call SendData(SendTarget.ToIndex, UserIndex, 0, "||No hay ningún torneo de usuarios." & FONTTYPE_INFO) Exit Sub End If UserList(UserIndex).flags.EnTorneoDm = True Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Ok, Estas inscripto al torneo." & FONTTYPE_VERDEN) usuariostorneo = usuariostorneo + 1 If usuariostorneo = 16 Then Call SendData(SendTarget.ToAll, 0, 0, "||[Torneo De Usuarios]El torneo ha comenzado." & FONTTYPE_VERDEN) For userstorne = 1 To LastUser If UserList(userstorne).flags.EnTorneoDm = True Then Call WarpUserChar(userstorne, 154, 50, 55) 'Cambiamos las coordenadas. CuentaTorneoUser = 11 usuariostorneo = 0 UserList(userstorne).flags.EnTorneoDm = False haytorneo = False ComenzoTorneo = True End If Next userstorne Exit Sub End If Case "/PARTICIPANTESTORNEOUSER" If haytorneo = True Or ComenzoTorneo = True Then tStr = "" For LoopC = 1 To LastUser 'If UserList(LoopC).name <> "" And UserList(LoopC).flags.Privilegios <= PlayerType.Consejero Then If UserList(UserIndex).flags.EnTorneoDm = True And UserList(LoopC).name <> "" Then tStr = tStr & UserList(LoopC).name & ", " End If Next LoopC If Len(tStr) > 2 Then tStr = Left(tStr, Len(tStr) - 2) End If Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Participantes: " & tStr & FONTTYPE_VERDEN) Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Número de usuarios en el torneo: " & usuariostorneo & FONTTYPE_VERDEN) Else Call SendData(SendTarget.ToIndex, UserIndex, 0, "||En este momento no hay ningún torneo." & FONTTYPE_INFO) End If Exit Sub Buscamos - Código:
-
If CuentaRegresiva > 0 Then If CuentaRegresiva > 1 Then Call SendData(SendTarget.ToAll, 0, 0, "||Contando..." & CuentaRegresiva - 1 & FONTTYPE_GUILD) Else Call SendData(SendTarget.ToAll, 0, 0, "||YA!!!!!!!!!" & "~255~0~0~1~0") End If CuentaRegresiva = CuentaRegresiva - 1 End If Arriba ponemos: - Código:
-
If CuentaTorneoUser > 0 Then If CuentaTorneoUser > 1 Then Call SendData(SendTarget.ToTorneoUser, 0, 0, "||El torneo comenzará en " & CuentaTorneoUser - 1 & FONTTYPE_ROJO) Else Call SendData(SendTarget.ToTorneoUser, 0, 0, "||El torneo ha comenzado , Ya pueden atacarse." & FONTTYPE_ROJO) End If CuentaTorneoUser = CuentaTorneoUser - 1 End If Buscamos: - Código:
-
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Le has quitado " & daño & " puntos de vida a " & UserList(tempChr).name & FONTTYPE_BORDON) Y arriba de: - Código:
-
Call InfoHechizo(UserIndex) UserList(tempChr).Stats.MinHP = UserList(tempChr).Stats.MinHP - daño Ponemos: - Código:
-
If CuentaTorneoUser > 0 Then Call SendData(ToIndex, UserIndex, 0, "||No puedes atacar a nadie antes de la cuenta regresiva." & FONTTYPE_ROJO) Exit Sub End If Buscamos en el Sub Puedeatacar - Código:
-
If UserList(AttackerIndex).flags.Muerto = 1 Then SendData SendTarget.ToIndex, AttackerIndex, 0, "||No podes atacar porque estas muerto" & FONTTYPE_INFO PuedeAtacar = False Exit Function End If Arriba ponemos; - Código:
-
If CuentaTorneoUser > 0 Then Call SendData(ToIndex, AttackerIndex, 0, "||No puedes atacar a nadie antes de la cuenta regresiva." & FONTTYPE_ROJO) Buscamos: - Código:
-
Public Type UserFlags Abajo: - Código:
-
creadortorneouser As Byte EnTorneoDm As Byte En el Sub Actstats agregamos: - Código:
-
If UserList(VictimIndex).Pos.Map = 154 Or UserList(AttackerIndex).Pos.Map = 154 And ComenzoTorneo = True Then 'Coordenada del DM Call WarpUserChar(VictimIndex, 28, 50, 50) 'Coordenada a donde envia el ganador UserList(VictimIndex).flags.creadortorneouser = False ' Si es el creador le mandamos false UserList(VictimIndex).flags.EnTorneoDm = False If MapInfo(154).NumUsers = 1 Then Call SendData(SendTarget.ToAll, 0, 0, "||[Torneo De Usuarios] " & UserList(AttackerIndex).name & " Ganó el torneo de usuarios , El usuario se ha ganado 25 puntos de torneo." & FONTTYPE_VERDEN) UserList(AttackerIndex).Stats.PuntosTorneo = UserList(AttackerIndex).Stats.PuntosTorneo + 25 ComenzoTorneo = False Call EnviarPuntos(AttackerIndex) Call WarpUserChar(AttackerIndex, 28, 50, 50) 'Coordenada a donde envia el ganador End If Por si les tira error en alguno de fonttype_verden o fonttype_rojoBuscamos: - Código:
-
Public Const FONTTYPE_ADVERTENCIAS As String = "~128~0~0~1~1" Abajo ponemos: - Código:
-
Public Const FONTTYPE_VERDEN As String = "~0~255~0~1~0" Public Const FONTTYPE_ROJO As String = "~255~0~0~1~0" En el módulo Declaraciones: - Código:
-
Public Creador As String Public crearontorneo As String Public ComenzoTorneo As Boolean Public CuentaTorneoUser As Long Public usuariostorneo As Integer Public haytorneo As Boolean Cliente.• Agregamos este formulario: [descargas] http://www.mediafire.com/?u63s3r6c18quh44[/descargas] En el módulo TCP buscamos: - Código:
-
Case "PART" Call AddtoRichTextBox(frmMain.RecTxt, MENSAJE_ENTRAR_PARTY_1 & ReadField(1, Rdata, 44) & MENSAJE_ENTRAR_PARTY_2, 0, 255, 0, False, False, False) Exit Sub Abajo: - Código:
-
Case "INFE" Rdata = Right$(Rdata, Len(Rdata) - 4) Dim creador As String creador = ReadField(1, Rdata, 44) FRMTORNEOUSER.Label1.Caption = creador FRMTORNEOUSER.Label1.Visible = True FRMTORNEOUSER.Label2.Visible = False FRMTORNEOUSER.Label1.Visible = False FRMTORNEOUSER.Label3.Visible = True FRMTORNEOUSER.crear.Visible = True FRMTORNEOUSER.participantes.Visible = False FRMTORNEOUSER.INGRESAR.Visible = False FRMTORNEOUSER.participantes.Visible = False FRMTORNEOUSER.Show Exit Sub Case "INFO" Rdata = Right$(Rdata, Len(Rdata) - 4) creador = ReadField(1, Rdata, 44) FRMTORNEOUSER.Label1.Caption = creador FRMTORNEOUSER.Label1.Visible = False FRMTORNEOUSER.Label2.Visible = True FRMTORNEOUSER.Label1.Visible = True FRMTORNEOUSER.Label3.Visible = False FRMTORNEOUSER.crear.Visible = False FRMTORNEOUSER.INGRESAR.Visible = True FRMTORNEOUSER.participantes.Visible = True FRMTORNEOUSER.Show Exit Sub Y ahi ya estaria todo ! un sistema de deathmatch..Eh amiwÓh, un saludos a Gohan SSJ.[size=150] EDIT: Un Plus cortesia de Hugo [/size] Busca: - Código:
-
Case "NENE" ' >>>>> Nro de Personajes :: NENE Y arriba mandale: - Código:
-
Case "TORU" Rdata = Right$(Rdata, Len(Rdata) - 4) Dim Users As Integer For Users = 1 To 16 FRMTORNEOUSER.Users.Clear FRMTORNEOUSER.Users.AddItem (ReadField(Users, Rdata, 44)) Next Users FRMTORNEOUSER.Show , frmMain Exit Sub y remplaza el comando este /PARTICIPANTESTORNEOUSER por este : - Código:
-
Case "/PARTICIPANTESTORNEOUSER" If haytorneo = True Or ComenzoTorneo = True Then For LoopC = 1 To LastUser If (UserList(LoopC).name <> "") And UserList(LoopC).flags.EnTorneoDm = True Then tStr = tStr & UserList(LoopC).name & ", " End If Next LoopC If tStr <> "" Then tStr = Left$(tStr, Len(tStr) - 2) Call SendData(SendTarget.ToIndex, UserIndex, 0, "TORU" & tStr)'envia los names Else Call SendData(SendTarget.ToIndex, UserIndex, 0, "||En este momento no hay ningún torneo." & FONTTYPE_INFO) End If End If Exit Sub |
|
RetrxM [Administrador Del Foro]
Mensajes : 196 Temas : 47 Fecha de inscripción : 18/06/2013
| Tema: Re: [APORTE]Sistema de Deathmatch Jue Jun 20, 2013 2:29 am | |
| Gracias por El aporte Segui asi Juli |
|
Axters [Administrador Del Foro]
Mensajes : 197 Temas : 46 Fecha de inscripción : 16/06/2013
| Tema: Re: [APORTE]Sistema de Deathmatch Jue Jun 20, 2013 2:30 am | |
| Buen aporte juli
Seguí así. |
|
Invitado Invitado
| Tema: Re: [APORTE]Sistema de Deathmatch Jue Jun 20, 2013 1:13 pm | |
| |
|
JuliánC [Usuario De Mundo Argentum]
Mensajes : 35 Temas : 11 Fecha de inscripción : 20/06/2013 Edad : 25 Localización : Chascomús
| Tema: Re: [APORTE]Sistema de Deathmatch Jue Jun 20, 2013 2:12 pm | |
| Jaj sii!, y anoche se salvaron los rangos (?. no me dejaba postear más cosas. |
|
Invitado Invitado
| Tema: Re: [APORTE]Sistema de Deathmatch Jue Jun 20, 2013 3:54 pm | |
| Porqué no te dejaba postear?, mandame un mp y te ayudo |
|