Mensajes seteados desde el cliente - Nueva formula.

Ir abajo

Mensajes seteados desde el cliente - Nueva formula.

Mensaje por Toyz el 26/7/2016, 9:39 pm

Modulo:

Código:
Option Explicit

'@@ Modulo de mensajes seteados desde el cliente
'@@ Autor: G Toyz

Public Type tMessagesClient

    Text As String
    font As Byte
   
End Type

Public Const MaxMessages As Integer = 365 '@@ // Máximo de mensajes.

Public MessagesClient(1 To MaxMessages) As tMessagesClient

Public Sub LoadMessagesClient()

    '@@@ G TOYZ:
    '@@ TODO: Este sub sólo debe ser llamado al iniciar el juego.
   
    Dim loopC As Long
    Dim Archive As String
   
    '@@ en donde alojan su .dat
    Archive = App.Path & "\init\" & "LoadMessages.dat"
   
    '@@ Leemos todos los datos en su .DAT
    For loopC = 1 To MaxMessages
   
        MessagesClient(loopC).Text = GetVar(Archive, "MESSAGE" & loopC, "MENSAJE")
        MessagesClient(loopC).font = Val(GetVar(Archive, "MESSAGE" & loopC, "FONT"))
   
    Next loopC
   
End Sub

Public Sub IncomingIndex(ByVal IndexMessage As Integer)

    '@@@ G TOYZ
    '@@@ Pongo el mensaje en la consola
    '@@@ Le doy color, negrita a elección e italic.

    With FontTypes(MessagesClient(IndexMessage).font)
   
        '@@ Mensaje
        ShowConsoleMsg MessagesClient(IndexMessage).Text, .Red, .Green, .Blue, .bold, .italic
   
    End With

End Sub


En un .dat en el init del cliente, llamado "LoadMessages":

Código:
[MESSAGE1]
MENSAJE = "¡¡Estás muerto!!"
Font = 4

[MESSAGE2]
MENSAJE = "Estás demasiado lejos del vendedor."
Font = 4


-

Tienen que hacer un Write en el servidor mandando una ID del mensaje.
Ejemplo:

Código:
Call WriteMessageClient(UserID, 45) '// ID del mensaje.


WriteMessageClient = Nombre del sub
UserID = UserIndex, id del usuario.
45 = MESSAGE1, la id del mensaje que está en el .dat

En el cliente tienen que hacer un handle recibiendo la ID y llamando al sub IncomingIndex poniendo la ID recibida.

ACLARACIÓN: El LoadMessage tiene que ser cargado sólo una vez. 

BENEFICIOS:

*Mejora el ancho de banda.
*Mejor orden que la anterior forma.
avatar
Toyz
Administrador
Administrador

¿BANEADO? : No.
Premios :
[1er puesto] Usuario del año 2016
Cantidad de envíos : 5046
Edad : 17
Localización : Global.
Fecha de inscripción : 28/09/2014

Ver perfil de usuario

Volver arriba Ir abajo

Volver arriba

- Temas similares

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