WhoTeR Director de Tropas
Cantidad de envíos : 143 Fecha de inscripción : 28/07/2013
| Tema: [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") | |
|
Habauc Director de Tropas
Cantidad de envíos : 146 Fecha de inscripción : 26/07/2013 Edad : 27 Localización : Devoto
| Tema: 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. | |
|
LuciMoyo Capitan
Cantidad de envíos : 61 Fecha de inscripción : 19/07/2013 Edad : 24 Localización : de por Hay donde nadie sabe
| Tema: 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 | |
|
GM-PekeMixz Capitan Primero
Cantidad de envíos : 81 Fecha de inscripción : 24/07/2013 Edad : 26 Localización : Boulogne
| Tema: Re: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5) Dom Jul 28, 2013 7:32 pm | |
| | |
|
Trogclodita Director de Tropas
Cantidad de envíos : 144 Fecha de inscripción : 18/07/2013
| Tema: 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. | |
|
WhoTeR Director de Tropas
Cantidad de envíos : 143 Fecha de inscripción : 28/07/2013
| Tema: 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 | |
|
Contenido patrocinado
| Tema: Re: [APORTE]Sistema de Viajes con lista (Configurable desde el server)(11.5) | |
| |
|