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 death match automatico

Ir abajo

Sistema de death match automatico Empty Sistema de death match automatico

Mensaje por santi55 Lun Dic 20, 2010 3:34 pm

Empezemos

Todo en el SERVIDOR

Buscamos:



Case "/ONLINE"



Abajo agregamos:



Case "/HACERDEATH"
If Hay_Death = True Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> Lo siento, ya hay un DeathMatch en curso. Espera a que finalize.~255~0~255~0~0" & FONTTYPE_INFO)
Exit Sub
End If
If UserList(UserIndex).Stats.GLD < 700000 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> Para organizar un DeathMatch, tener 200.000 monedas de oro.~255~0~255~0~0" & FONTTYPE_INFO)
Exit Sub
End If
UserList(UserIndex).Stats.GLD = UserList(UserIndex).Stats.GLD - 2000000
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> Has iniciado el DeathMatch.~255~0~255~0~0" & FONTTYPE_INFO)
Call SendData(SendTarget.ToAll, 0, 0, "||AutoDeah> El usuario " & UserList(UserIndex).name & " ha creado un DeathMatch, para ingresar /PARTICIPAR~255~0~255~0~0" & FONTTYPE_INFO)
Hay_Death = True
Call EnviarOro(UserIndex)
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> Has entrado al DeathMatch!~255~0~255~0~0" & FONTTYPE_INFO)
Death_Cantidad = Death_Cantidad + 1
UserList(UserIndex).flags.EnDeath = True
Call WarpUserChar(UserIndex, MAPATORNEO, XTORNEO, YTORNEO, False)
Exit Sub

Case "/RECLAMAR"
If Hay_Death = False Or Death_Cantidad > 1 Or UserList(UserIndex).flags.EnDeath = False Then Exit Sub
If Death_Cantidad = 1 Then
Dim superoro As Obj
superoro.Amount = CANTIDADGANADA
superoro.ObjIndex = OBJETOGANADO
If Not MeterItemEnInventario(UserIndex, superoro) Then Call TirarItemAlPiso(UserList(UserIndex).Pos, superoro)
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> " & UserList(UserIndex).name & " ha reclamado su premio por salir victorioso en el DeathMatch!! Felicitaciones!~255~0~255~0~0" & FONTTYPE_INFO)
Hay_Death = False
UserList(UserIndex).flags.EnDeath = False
Death_Cantidad = 0
Call WarpUserChar(UserIndex, 1, 45, 42, True)
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> DeathMatch Finalizado!~255~0~255~0~0" & FONTTYPE_INFO)
Else
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> Fraude, no puedes reclamar un trofeo ya que hay mas de 1 usuario en el mapa!!~255~0~255~0~0" & FONTTYPE_INFO)
End If
Exit Sub

Case "/PARTICIPAR"
If UserList(UserIndex).Stats.GLD < 700000 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> Para Entrar a un DeathMatch, tener 200.000 monedas de oro.~255~0~255~0~0" & FONTTYPE_INFO)
Exit Sub
End If
UserList(UserIndex).Stats.GLD = UserList(UserIndex).Stats.GLD - 200000
If UserList(UserIndex).flags.EnDeath = True Then Exit Sub
If Hay_Death = False Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> No hay ningun DeathMatch ejecutado.~255~0~255~0~0" & FONTTYPE_INFO)
Exit Sub
End If
If Death_Cantidad = 8 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> No puedes ingresar ya que se llego al cupo maximo.~255~0~255~0~0" & FONTTYPE_INFO)
Exit Sub
End If
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||AutoDeah> Has entrado al DeathMatch!~255~0~255~0~0" & FONTTYPE_INFO)
Death_Cantidad = Death_Cantidad + 1
UserList(UserIndex).flags.EnDeath = True
Call WarpUserChar(UserIndex, MAPATORNEO, XTORNEO, YTORNEO, False)
Exit Sub


Buscamos:



Public PuedeCrearPersonajes As Integer



Abajo agregamos:



Public Hay_Death As Boolean
Public Death_Cantidad As Long



Buscamos:



Public Type UserFlags



Abajo agregamos:



EnDeath As Boolean



Por ultimo

Buscamos:



Sub UserDie(ByVal UserIndex As Integer)
On Error GoTo ErrorHandler




Abajo agregamos:



If UserList(UserIndex).flags.EnDeath = True Then
Call SendData(SendTarget.ToAll, 0, 0, "||AutoDeath> El usuario " & UserList(UserIndex).name & " ha muerto. Si quedan 1 usuario, el ganador debera reclamar su premio a travez de /RECLAMAR~255~0~255~0~0" & FONTTYPE_INFO)
Call WarpUserChar(UserIndex, 1, 50, 50, False)
UserList(UserIndex).flags.EnDeath = False
Death_Cantidad = Death_Cantidad - 1
End If




NOTA: MAPATORNEO = Mapa del DeathMatch donde todos aparecen
XTORNEO = X del DeathMatch posicion horizontal donde aparecen
YTORNEO = Y del DeathMatch posicion vertical donde aparecen
CANTIDADGANADA = Cantidad de Items que te da
OBJETOGANADO = Numero de Objeto que te da

¿Como funciona el AutoDeathMatch estilo Torneo?
Simple.
Un usuario cualquiera escribe "/HACERDEATH" y crea un DeathMatch.
Todos los que ponen "/PARTICIPAR" entran al DeathMatch.
El que pone "/HACERDEATH" pierde 700.000 monedas de oro. Pueden modificarlo.

El que participa no pierde nada.
El que ingresa al deathmatch pierde tmb 700.000 monedas de oro
El ganador del torneo se lleva todo el oro reclutado
Pueden haber hasta 8 usuarios.
Luego cuando todos mueren.
El ultimo que queda escribe /RECLAMAR y gana su premio.
santi55
santi55
Nivel 12
Nivel 12

Medallas
Sistema de death match automatico Prensa1

Advertencias Advertencias : 1
Mensajes Mensajes : 156
Puntos Puntos : 49387
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

Volver arriba

- Temas similares

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