ÍndiceCalendarioIndiceFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarseReglamento
¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

La mayor cantidad de usuarios en línea fue 16 el Miér Ago 07, 2013 8:12 pm.
Mejores posteadores
Rango
 
Habauc
 
Trogclodita
 
WhoTeR
 
Tomm-
 
ZankuR
 
GM-PekeMixz
 
LuciMoyo
 
MwM
 
Diclut s2 Lalaa♥
 
Estadísticas
Tenemos 97 miembros registrados.
El último usuario registrado es PekeMixzGamer1

Nuestros miembros han publicado un total de 1289 mensajes en 264 argumentos.

Comparte | 
 

 [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)

Ir abajo 
AutorMensaje
WhoTeR
Director de Tropas
Director de Tropas
avatar

Cantidad de envíos : 143
Fecha de inscripción : 28/07/2013

MensajeTema: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)   Dom Jul 28, 2013 10:30 am

Bueno ya lo dice el título.

En el servidor creamos un archivo de texto, como por ejemplo "viajes.txt". A partir de ahí el server lee los viajes que hay disponibles.
Es muy útil para servidores con gran cantidad de mapas, y todos muy separados

Formato del texto:
Citación :
[Pasaportes] 'formato predeterminado
Cantidad=2

[Pasaporte1]
Mapa=1
X=52
Y=54
Nombre=Runek

[Pasaporte2]
Mapa=1
X=49
Y=85
Nombre=Runek (Comercios)

Bueno, en ese ejemplo un poco exagerado por viajar 6 pasos muy pancho

Comenzamos:

En el código del servidor:

Crean un formulario con las siguientes propiedades:
Nombre=frmListV
Visible=Falso

Crean un Tiempo, con las propiedades de:
Intervalo=10000 (10 segundos, puedes cambiarlo, es el tiempo que tarda en actualizarles la lista de viajes a los usuarios, A TODOS, asi que no pongan menos de 500 porque van a explotar todos los paquetes )

En su código ponen:
Código:
Dim ListadoViajes As String
Dim PasaportesTotal As String
PasaportesTotal = GetVar(App.Path & "\viajes.txt", "Pasaportes", "Cantidad")
Dim i As Integer
For i = 1 To PasaportesTotal
 
If i = 1 Then
ListadoViajes = GetVar(App.Path & "\viajes.txt", "Pasaporte" & i, "Nombre") 'puedes cambiar los nombres como quieran, pero cambialos también en el archivo del listado porque después vas a decir que no es funcional  xD
Else
ListadoViajes = ListadoViajes & "," & GetVar(App.Path & "\viajes.txt", "Pasaporte" & i, "Nombre")
End If
 
Next
Call SendData(SendTarget.ToAll, 0, 0, "VLFASDA" & ListadoViajes)

Listo el formulario.

Creamos en el HandleData_1: (si ya lo tienen, como nightmare, reemplacen)
Código:
Select Case UCase$(Left$(rData, 6))

Debajo:
Código:
Case "TRAVEL"
        rData = Right(rData, Len(rData) - 6)
 
    'Opcional: No lo voy a liberar por X motivos, pero puedes hacer tu idea
    '    If UserList(UserIndex).flags.TienePasaporte = False Then
    '    Call SendData(SendTarget.ToIndex, UserIndex, 0, "||" & NoTienePasaporteMSG & FONTTYPE_ROJON)
    '            Exit Sub
    '    End If
 
                Dim Destino As String
                    Dim DestMapa As Integer
                Dim DestX As Integer
            Dim DestY As Integer
         
            If UserList(UserIndex).Counters.Pena > 0 Then
                Call SendData(SendTarget.ToIndex, UserIndex, 0, "||No puedes viajar si tienes pena." & FONTTYPE_INFO)
                Exit Sub
            End If
         
            If MapInfo(UserList(UserIndex).Pos.Map).Pk = True Then
                Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Estás en zona insegura, desde aquí no puedes viajar." & FONTTYPE_WARNING)
                Exit Sub
            End If
         
            If rData = 0 Then
            Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Error en el index de lista de viajes. Notifica a los administradores este mensaje." & FONTTYPE_WARNING)
            Exit Sub
            End If
             
                Destino = GetVar(App.Path & "\viajes.txt", "Pasaporte" & rData, "Nombre") 'pueden cambiar los nombres como saben ya xD
                    DestMapa = GetVar(App.Path & "\viajes.txt", "Pasaporte" & rData, "Mapa") 'esto tambíen
                DestX = GetVar(App.Path & "\viajes.txt", "Pasaporte" & rData, "X") 'y esto
            DestY = GetVar(App.Path & "\viajes.txt", "Pasaporte" & rData, "Y") 'Y esto también xD
 
         
                    Call SendUserStatsBox(UserIndex)
                    Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Has viajado a " & Destino & FONTTYPE_VERDE)
                Call WarpUserChar(UserIndex, DestMapa, DestX, DestY, True)
        Exit Sub


Si tienes errores con el código del servidor, visita el final.
Listo el server, sencillo.

Pasamos al Cliente:

Bueno acá pueden hacer como quieren, pero yo voy a aportarlo como un Viajes_Click:
Crean una etiqueta (label) en el frmMain y le ponen en su código:
Código:
frmViajes.Visible = True
                'Call SendData("GFGM56")

Buscan:
Código:
Case "LISTUSU"

Arriba:
Código:
Case "VLFASDA"
            Rdata = Right$(Rdata, Len(Rdata) - 7)
            T = Split(Rdata, ",")
         
                frmViajes.Destinos.Clear
                For i = LBound(T) To UBound(T)
                    frmViajes.Destinos.AddItem T(i)
                Next i
             
            Exit Sub

Opción 1
Para descargar mi formulario, click Aquí

Para crearlo ustedes sigan:
Opción 2
Citación :
Agregamos un formulario con las propiedades de:
Nombre=frmViajes
Estilo de bordes=0
"ClipControls"=True
"ControlBox"=false
StartUpPosition=2

Crean 2 botones o etiquetas y 1 cuadro de lista, con el nombre que quieran, pero luego cambien "Salir_Click" y eso ya sabe..
En su código insertan:
Código:
Private Sub Form_Load()
'Call SendData(";AVERLALISTA")
End Sub
 
Private Sub Salir_Click()
Me.Visible = False
End Sub
 
Private Sub Viajar_Click()
Call SendData("TRAVEL" & Destinos.listIndex + 1)
Me.Visible = False
End Sub
 

Listo lo de el formulario

En el Form_Load del frmMain, agregamos
Código:
frmViajes.Show , Me
frmViajes.Visible = False
'frmViajes.Tag = "Si"


Listo todo, ya es funcional. Recuerdo: Si algo no funciona visitar el final del post.

PLUGINS!

Si tenemos un NPC viajero ya implementado, y queremos abrir la lista solo con él, podemos abrir la lista de viajes haciéndole click, editando lo siguiente.

Buscamos en el SERVIDOR, en el sub de Acción:

Código:
ElseIf Npclist(MapData(Map, X, Y).NpcIndex).NPCtype = eNPCType.Viajero Then
            If Distancia(Npclist(MapData(Map, X, Y).NpcIndex).Pos, UserList(UserIndex).Pos) > 3 Then
                Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Estas demasiado lejos del vendedor." & FONTTYPE_INFO)
                Exit Sub
            End If

Lo reemplazamos por:
Código:
ElseIf Npclist(MapData(Map, X, Y).NpcIndex).NPCtype = eNPCType.Viajero Then
            If Distancia(Npclist(MapData(Map, X, Y).NpcIndex).Pos, UserList(UserIndex).Pos) > 3 Then
                Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Estas demasiado lejos del vendedor." & FONTTYPE_INFO)
                Exit Sub
            Else
Call SendData(SendTarget.ToIndex, UserIndex, 0, "!!VIAJEROXD")
            End If

En el cliente buscamos:
Código:
Case "!!"                ' >>>>> Msgbox :: !!
     
        Rdata = Right$(Rdata, Len(Rdata) - 2)

Si, en ese mismo case (re croto xd) agregamos debajo de eso:
Código:
If Rdata = "VIAJEROXD" Then
        frmViajes.Visible = True
        Call SendData(";AVERLALISTA")
        Exit Sub
        End If

Y para que no quede el botón para abrir la lista en el frmMain, o donde lo pusieron, le cambian la propiedad a el boton:

Citación :
Visible=Falso


Listo

CREO que no me olvidé de nada, si falta algo o si no anda, avisen.

Errores comunes:
Citación :
En el servidor, nos marca esta línea:
Código:
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Has viajado a " & Destino & [color=#FFFF00]FONTTYPE_VERDE[/color])

debemos agregar un string con formato de un color a ese código, o lo reemplazamos por:
Código:
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Has viajado a " & Destino & "~0~255~0~0~0")
Volver arriba Ir abajo
Ver perfil de usuario
Habauc
Director de Tropas
Director de Tropas
avatar

Cantidad de envíos : 146
Fecha de inscripción : 26/07/2013
Edad : 21
Localización : Devoto

MensajeTema: Re: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)   Dom Jul 28, 2013 1:32 pm

Muy buen aporte,gracias por traerlo a la comunidad


Pone fuente:

SALUDOS.
Volver arriba Ir abajo
Ver perfil de usuario
LuciMoyo
Capitan
avatar

Cantidad de envíos : 61
Fecha de inscripción : 19/07/2013
Edad : 18
Localización : de por Hay donde nadie sabe

MensajeTema: Re: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)   Dom Jul 28, 2013 7:30 pm

Genial aporte me sirvio algo

Suerte
Volver arriba Ir abajo
Ver perfil de usuario https://www.facebook.com/luciano.e.moyano
GM-PekeMixz
Capitan Primero
Capitan Primero
avatar

Cantidad de envíos : 81
Fecha de inscripción : 24/07/2013
Edad : 20
Localización : Boulogne

MensajeTema: Re: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)   Dom Jul 28, 2013 7:32 pm

solo sirve para 11.5 o se puede poneer en un 13.0 ?=???
buen aporte
si no caee yo te sigo Descarga Electrica VAX IN TAR Descarga Electrica VAX IN TAR Apocalipsis 
Volver arriba Ir abajo
Ver perfil de usuario https://www.facebook.com/CiudadesPerdidasAo
Trogclodita
Director de Tropas
Director de Tropas
avatar

Cantidad de envíos : 144
Fecha de inscripción : 18/07/2013

MensajeTema: Re: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)   Dom Jul 28, 2013 7:44 pm

Dice que es unicamente para 11.5, pero si vos sabes de programación lo podes adaptar a 13.0 .

Se agradece el aporte ! . Deja fuente.
Volver arriba Ir abajo
Ver perfil de usuario
WhoTeR
Director de Tropas
Director de Tropas
avatar

Cantidad de envíos : 143
Fecha de inscripción : 28/07/2013

MensajeTema: Re: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)   Dom Jul 28, 2013 8:59 pm

Habauc escribió:
Muy buen aporte,gracias por traerlo a la comunidad


Pone fuente:

SALUDOS.

Es mio, no tengo razón para poner fuente !

De nada por el aporte, gracias por los comentarios a todos D:


Comentario Editado por Trogclodita
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)   

Volver arriba Ir abajo
 
[APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5)
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Mi lista de venta/cambio
» Silhouette Core - Sistema de rol con d6
» Cartas desde Iwo Jima [DVDRip] (TORRENT)
» para combatir el aburrimiento en los viajes largos..
» Sobre la educación moderna & Sistema educativo español

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