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


Todo sobre AO
 
ÍndiceÚltimas imágenesBuscarRegistrarseConectarse

 

 Cartel de invisibilidad

Ir abajo 
AutorMensaje
Agus
Admin



Mensajes : 69
Fecha de inscripción : 01/07/2008

Cartel de invisibilidad Empty
MensajeTema: Cartel de invisibilidad   Cartel de invisibilidad EmptyJue Jul 03, 2008 6:05 am

Este código muestra un mensaje en la pantalla del tiempo que le resta al hechizo de invisibilidad, como en el servidor Tierras Perdidas, nada más que este código es enviado por el servidor en el tiempo que corresponde, por lo tanto si uno está invisible durante el tiempo que el servidor está pausado (por ejemplo, en un WorldSave), el tiempo estará sincronizado con el del servidor y no informará de valores inexactos.

Primera parte: SERVIDOR 0.11.5

En el módulo General (General.bas), reemplazamos el Sub EfectoInvisibilidad por el siguiente:

Código:
 
Public Sub EfectoInvisibilidad(ByVal UserIndex As Integer)
Dim TiempoTranscurrido As Long
If UserList(UserIndex).Counters.Invisibilidad < IntervaloInvisible Then
UserList(UserIndex).Counters.Invisibilidad = UserList(UserIndex).Counters.Invisibilidad + 1
TiempoTranscurrido = (UserList(UserIndex).Counters.Invisibilidad * frmMain.GameTimer.Interval)
If TiempoTranscurrido Mod 1000 = 0 Or TiempoTranscurrido = 40 Then
If TiempoTranscurrido = 40 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "INVI" & ((IntervaloInvisible * frmMain.GameTimer.Interval) / 1000))
Else
Call SendData(SendTarget.ToIndex, UserIndex, 0, "INVI" & (((IntervaloInvisible * frmMain.GameTimer.Interval) / 1000) - (TiempoTranscurrido / 1000)))
End If
End If
Else
UserList(UserIndex).Counters.Invisibilidad = 0
UserList(UserIndex).flags.Invisible = 0
If UserList(UserIndex).flags.Oculto = 0 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Has vuelto a ser visible." & FONTTYPE_INFO)
Call SendData(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, "NOVER" & UserList(UserIndex).Char.CharIndex & ",0")
Call SendData(SendTarget.ToIndex, UserIndex, 0, "INVI0")
End If
End If
End Sub


Segunda parte: CLIENTE 0.11.5

En el módulo Mod_Declaraciones (Declares.bas), al final del mismo, colocamos:
Código:
 
Public CartelInvisibilidad As Integer

Luego, en el módulo Mod_TCP (TCP.bas), buscamos:
Código:
 
sData = UCase$(Rdata)

Y justo abajo de esa línea colocamos lo siguiente:
Código:
 
If Left$(sData, 4) = "INVI" Then CartelInvisibilidad = Right$(sData, Len(sData) - 4)

Finalmente, en el módulo Mod_TileEngine (TileEngine.bas), buscamos:
Código:
 
If IScombate Then Call Dialogos.DrawText(260, 260, "MODO COMBATE", vbRed)

Y justo abajo de esa línea colocamos lo siguiente:
Código:
 
If CartelInvisibilidad Then Call Dialogos.DrawText(260, 520, CartelInvisibilidad & " segundos restantes de Invisibilidad", vbCyan)
Volver arriba Ir abajo
https://recompilacionao.forosactivos.com
 
Cartel de invisibilidad
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Cartel de paralisis
» Invisibilidad Informa cuando faltan 5 segundos

Permisos de este foro:No puedes responder a temas en este foro.
 :: Argentum Online :: Programación :: 0.11.5-
Cambiar a: