Site Game


Unirse al foro, es rápido y fácil

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


No estás conectado. Conéctate o registrate

Sistema de doble sumoneo.

Ir abajo  Mensaje [Página 1 de 1.]

1Sistema de doble sumoneo. Empty Sistema de doble sumoneo. Mar Dic 07, 2010 11:02 pm

Slymnes

Slymnes
Administrador
Administrador

Este sumoneo es muy bueno espero que les sirva.


Ahora paso a explicarles:

Un GameMaster tipea /MYTSUM Pepe@Pipo, los teletransporta a cada uno, una posición diferente, avisa por consola sobre el combate. Y le llega un mensaje personalizado a cada uno diciendo que esperen el conteo. Nada más, no es el super comando pero tardé en hacerlo ya que fue el primero que hago de esta manera.


Entonces, ahora vamos al desarrollo que es en el servidor y unas líneas por así decirlo:

Buscamos: (Pueden ponerlo donde quieran, yo lo puse hay)

Código:
'SEGUIR
If UCase$(rData) = "/SEGUIR" Then
If UserList(UserIndex).flags.TargetNPC > 0 Then
Call DoFollow(UserList(UserIndex).flags.TargetNPC, UserList(UserIndex).name)
End If
Exit Sub
End If
Y debajo colocamos lo siguiente:

Código:
'Mithrandir - Sumoneo =)
If UCase$(Left$(rData, 8)) = "/MYTSUM " Then
If UserList(UserIndex).flags.EsRolesMaster Then Exit Sub
rData = Right$(rData, Len(rData) - 8)
Dim ttIndex As Integer
tIndex = NameIndex(rData)
ttIndex = NameIndex(rData)
'Mithrandir lo hizo -.-'
tIndex = NameIndex(ReadField(1, rData, 64))
ttIndex = NameIndex(ReadField(2, rData, 64))
'Si son iguales
If ttIndex = tIndex Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||No puede combatir un usuario contra sí mismo." & FONTTYPE_INFO)
Exit Sub
End If
'Sino estan online
If ttIndex <= 0 And tIndex <= 0 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Los usuarios tipeados no estan online." & FONTTYPE_INFO)
Exit Sub
End If
'Sino esta online – Mithrandir
If tIndex <= 0 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||El primero usuario tipeado no esta online." & FONTTYPE_INFO)
Exit Sub
End If
'Sino esta online – Never para vo :P
If ttIndex <= 0 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||El segundo usuario tipeado no esta online." & FONTTYPE_INFO)
Exit Sub
End If
'Si es el mismo, no podes paja =D
If tIndex = ttIndex Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||No puede combatir un único usuario." & FONTTYPE_INFO)
Exit Sub
End If
'Avisamos por consola del combate ¡Que es la idea! Sino... no hay código.
Call SendData(ToAll, UserIndex, 0, "||Torneo> Están por combatir: " & UserList(tIndex).name & " y " & UserList(ttIndex).name & ", suerte a ambos." & FONTTYPE_INFO)
'Aviso personalizado
Call SendData(ToIndex, tIndex, 0, "||" & UserList(tIndex).name & ",espera el conteo por favor." & FONTTYPE_INFO)
Call SendData(ToIndex, ttIndex, 0, "||" & UserList(ttIndex).name & ",espera el conteo por favor." & FONTTYPE_INFO)
'Aviso a GameMaster & Log
Call SendData(SendTarget.ToAdmins, UserIndex, 0, "||GameMaster> " & UserList(UserIndex).name & " dió comienzo a un combate entre: " & UserList(tIndex).name & " y " & UserList(ttIndex).name & "." & FONTTYPE_FIGHT)
Call LogGM(UserList(UserIndex).name, "/Mytsum " & UserList(tIndex).name & " - " & UserList(ttIndex).name, False)
'Los sumoneados a lugares diferentes
Call WarpUserChar(tIndex, 1, 20, 50, True) 'El primero en el comando
Call WarpUserChar(ttIndex, 1, 50, 50, True) 'El segundo en el comando

Exit Sub
End If
'Mithrandir
Ahora, también lo que hace es guardar en un Log, si no quieren lo borran. Si es el mismo usuario no te deja, si uno esta offline te avisa. Lo que si me falto poner es que cuando pongas /Mytsum sin nada, te diga "Utilice...blabla2 pero ya así es funcional, no me jodan xD.

Les explico donde configuran los sumoneos:

Esta parte sumonea al primero, es decir si nos basamos en el ejemplo; Es pepe.

Código:
Call WarpUserChar(tIndex, 1, 20, 50, True) 'El primero en el comando
En esta, sumonea por consiguiente al segundo usuario, en este caso sería Pipo.

Código:
Call WarpUserChar(ttIndex, 1, 50, 50, True) 'El segundo en el comando
Lo que se puede configurar también, son los textos que supongo que ya saben como se hace, les dejo un ejemplo:

Código:
Call SendData(ToIndex, tIndex, 0, "||" & UserList(tIndex).name & ",espera el conteo por favor." & FONTTYPE_INFO)
Call SendData(ToIndex, ttIndex, 0, "||" & UserList(ttIndex).name & ",espera el conteo por favor." & FONTTYPE_INFO)
En esa parte estan los mensajes personalizado(es decir a un usuario, tiene que ver que diga:


tIndex y luego diga, UserList(tIndex).name


En el otro caso:


ttIndex y luego diga, UserList(ttIndex).name



Y el texto lo modifican, seria ",espera el conteo por favor." lo cambian a su criterio.

Gracias.

Volver arriba  Mensaje [Página 1 de 1.]

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