Liberación Proyecto X

MAB

Symphony of Enchanted Lands
#1
Inicié este proyecto simplemente para ir aprendiendo a utilizar ciertas herramientas de vb6, conocer más el código de "Argentum Online" e intentar darle una lavada de cara, mezclando varias cosas. Por falta de tiempo deje el proyecto de lado, además de que no me parece útil realmente para
la época en la que estamos.

Si a alguien le sirve esto, bienvenido sea.

Contiene:

-Cliente + Códigos
-Servidor + Códigos
-3 PSD's (Ventana Conectar, Ventana Principal y un Círculo de poder)

Para el que no quiera descargar sin saber que tiene, dejo el mismo changelog:

Proyecto: *Me guardo el nombre ;)*
Versión base: 12.3 - DirectX 8
Iniciado: 6/07/2017

- Ejecutar/detener el servidor desde el IDE de vb6 sin que se bugueen los sockets.
- Se creó una nueva función para separar los gráficos del juego sobre la interfaz.
- Carga de mapas desde memoria (Server-side).
- Carga de mapas desde memoria (Client-side).
- Removida la potencia de 2 de los gráficos.
- Arreglar dibujado de DrawGrhtoHdc.
- Fix en el dibujado de items en la bóveda y en el comercio con npcs/usuarios.
- Fix al TextureManager y al GRHLOAD.
- Añadidos textos desde una textura.
- Fix a un error de posicionamiento del texto en el Sub CharRender.
- Modificado el color de las palabras mágicas de los hechizos.
- Se limpió frmConnect de controles y código innecesario.
- Ahora se conecta directamente desde frmConnect.
- Se limpió frmMain de controles y código innecesario.
- Se añadió un label para mostrar los FPS en frmMain.
- Se removió SecurityTimer y la seguridad alkon.
- Se removió frmOldPersonaje.
- Se añadió una verificación para ejecutar el engine en Hardware o Software, según soporte la pc.
- Se eliminó el sistema de foros por completo.
- Se eliminó el sistema de encuestas.
- Se añadieron 2 labels en el frmMain, uno para minimizar y otro para cerrar el juego.
- Fix bug /PING y optimización del move heading.
- Añadido el sistema de comandos GM y el enum eGMCommands.
- Se modificó el método de renderización de los items seleccionados en el inventario, antes se utilizaba Draw_FillBox, ahora se utiliza Draw_GrhIndex, el cual utiliza un gráfico indexado.
- Limpiado el Servidor.ini de variables que ya no existen y otras que no son necesarias.
- Fix mensajes personalizados no toman comandos.
- Se eliminó el sistema de MOTD.
- Se eliminó el sistema de consultas populares.
- Se eliminó Help.dat.
- Se eliminó frmPasswd.
- Se limpió el frmCrearPersonajes.
- Se eliminó la asignación de Skillpoints y los dados del frmCrearPersonajes.
- Ahora al crear personajes se regalan 10 skillpoints.
- Todos los personajes nacen con 18 en cada atributo + su modificador según raza.
- Reemplazada clsIniReader por clsIniManager.
- Reemplazado SaveUser, ahora utiliza la clsIniManager.
- Reemplazado LoadSIni, ahora utiliza la clsIniManager.
- Se creó un nuevo Sub para cargar las ciudades utilizando la clsIniManager.
- Se eliminó el atributo Carisma.
- Se quitó el quinto atributo en ResetBasicUserInfo, ya que la matriz de atributos ahora es de 4.
- Reemplazada la fórmula de domar (quitada la fórmula de carisma).
- Reemplazada la fórmula de party (quitada la fórmula de carisma, ahora todos pueden crear party).
- Se eliminaron las razas Gnomo y Elfo Oscuro.
- Se eliminó el modo combate.
- Se eliminó el modo gritar (Yell).
- Se eliminó el sistema de descanso, junto a sus intervalos y sus comandos.
- Se eliminó /INFORMACIÓN.
- Se eliminó el sistema de Concilios y Consejos.
- Se limpió el Sub ConnectUser.
- Se modificó el color de habla.
- Se eliminó colores.dat, ahora los colores se cargan desde el código del cliente.
- Se eliminó /_BUG.
- Se eliminó /DESC.
- Se eliminó /HORA.
- Se eliminó /APAGAR.
- Se eliminó /CONDEN.
- Se eliminó /NOCHE y todo lo relacionado al sistema de noche.
- Reemplazado LoadUserInit, ahora utiliza la clsIniManager.
- Reemplazado CargarNpcBackUp, ahora utiliza la clsIniManager.
- Se hardcodearon los bordes legales del mapa ya que el cálculo que hacía no era el correcto.
- Se eliminaron Real= y Caos= del ObjData (y objetos).
- Se limpió Obj.dat de variables Real y Caos.
- Se eliminaron eNPCType GuardiaReal y Guardiascaos.
- Se eliminaron iFragataReal e iFragataCaos.
- Se eliminaron /ENLISTAR, /RECOMPENSA, /ONLINEREAL, /ONLINECAOS, /PERDON, /REALMSG, /CAOSMSG, /NOCAOS, /NOREAL, /RAJAR.
- Se modificó /MODMAPINFO RESTRINGIR, eliminando las facciones.
- Se eliminaron /AI1, AC1 (ImperialArmour / ChaosArmour).
- Se eliminó /RETIRAR (salir de la facción).
- Se eliminó SendTarget: ToReal, ToCaos, ToRealYRMS, ToCaosYRMS.
- Se eliminó el Type tFacciones, junto a: ArmadaReal, FuerzasCaos, RecompensasReal, RecompensasCaos, RecibioExpInicialReal, RecibioExpInicialCaos, Reenlistadas, NivelIngreso, FechaIngreso, MatadosIngreso, NextRecompensa, CiudadanosMatados y CriminalesMatados.
- Se eliminó la función ResetFacciones.
- Se eliminaron las funciones esArmada y esCaos.
- Se eliminaron las funciones LogEjercitoReal y LogEjercitoCaos.
- Se quitó el frmEligeAlineacion y se modificó el comando /fundarclan para que tome únicamente el index neutro.
- Se modificó la función m_EstadoPermiteEntrar para aceptar usuarios con privilegio (GMs) a clanes de alineación "Guardianes" únicamente si el mismo es mayor a 0.
- Se creó una función (NewSoulRank) para obtener el ranking de los usuarios según la cantidad de almas recolectadas.
- Se eliminaron frmCharInfo, frmCommet, FrmGuildAdm, frmGuildBrief, frmGuildDetails, frmGuildFoundation, frmGuildLeader, frmGuildNews, frmGuildURL, frmPeaceProp y frmUserRequest.
- Se eliminaron modGuilds, clsClan.
- Se eliminó todo el sistema de clanes de forma completa.
- Se creo un nuevo módulo de clanes (modClanes) y todos los paquetes correspondientes.
- Se corrigió un error donde si un GM se ocultaba, no volvía a ver su tag de Clan hasta teletransportarse.
- Se crearon comandos de GM para echar, escuchar y banear clanes.
- Se añadió consola transparente.
- Se corrigió un error en la consola transparente.
- Se añadió un menu de habla.
- Se modificó el seguro tradicional para funcionar únicamente con los miembros del clan. Ahora si se quita el seguro, se puede atacar a miembros del clan, si no se quita, saldrá el mensaje correspondiente en consola, indicando que no puedes atacar a miembros de tu clan.
- Se eliminaron Hambre y Sed por completo.
- Se modificó el sistema de conexión del cliente al servidor, reemplazándolo por uno más simple (se lee la ip y el puerto directamente).
- Se creó una barra de experiencia.
- Se creó un label de experiencia con porcentaje.
- Se formatearon labels de oro y experiencia.
- Se removió el cambio de color en el oro según la cantidad.
- Se arregló un bug en el modo de habla donde podías enviar comandos a través del /CMSG y /PMSG.
- Se crearon 2 labels para mostrar la Fuerza y Agilidad del personaje en el frmMain.
- Se creó un efecto para alternar el color de los labels de Fuerza y Agilidad cuando falta poco para que vuelvan a su estado normal.
- Se eliminó todo lo relacionado con luces.
- Se crearon labels para Energia, Salud y Mana.
- Se fixearon de forma definitiva los labels de Fuerza y Agilidad. Ahora sin importar si es poción u hechizo, al quedar menos de 300 segundos se activa el efecto y los labels comienzan a hacer toggle entre su color y rojo, si el usuario utiliza una poción u hechizo de cualquiera de los 2, el color retorna a su estado original. Si el usuario no consume ningún tipo de poción o utiliza algún hechizo que modifique los atributos, los mismos al terminar su efecto vuelven a su color original.
- Se crearon labels de Armadura, Casco, Escudo, Anillo y Arma.
- Se corrigió un bug donde al seleccionar cualquier item de nuestro inventario, no se mostraba la información del mismo en las ventanas de Bóveda y comercio con NPCs.
- Se añadieron MaxDef, MinDef, DefensaMagicaMax y DefensaMagicaMin a todos los tipos de paquetes que actualizan inventarios.
- Se modificó la configuración de colores (.dmBitsPerPel) a 32.
- Se modificó frmEstadisticas, ahora se ven y se asignan los SkillPoints desde la misma (falta testeo).
- Se eliminó frmSkills3.
- Se eliminó Versiones.ini y todo el sistema de versiones.
- Se eliminó AutoUpdate.
- Se eliminó clsEstadisticasIPC.
- Se eliminó PraetoriansCoopNpc y todo lo relacionado con el sistema de NPCs Pretorianos.
- Se eliminó cSolicitud.
- Se eliminaron los comandos: /REM, /PANELGM, /CARCEL, /LLUVIA + Sistema de lluvia, /CIUMSG, /CRIMSG, /PISO, /SHOW INT, /RELOADNPCS, /RELOADINI, /RELOADHECHIZOS, /RELOADOBJ, /REINICIAR, /SETINIVAR.
- Se añadió el nombre de los mapas al label de las coordenadas, cargado desde el cliente en \EXTRAS\Maps.ini.
- Se modificó la función ClasePuedeUsarItem, ahora se datean las clases que sí pueden usar el item (Si no posee ningún tipo de clase, todas pueden usar dicho item).
- Se eliminaron las clases: Clérigo, Asesino, Ladrón, Bardo, Druida, Bandido, Pescador, Herrero, Leñador, Minero, Carpintero y Pirata.
- Se eliminaron las funciones: DoRobar, RobarObjeto, DoHandInmo, DoHurtar, DoDomar, PuedeDomarMascota, ModDomar.
- Se eliminó Statistics.bas y todo el sistema de estadísticas.
- Se eliminó eObjType.otBarca.
- Se añadieron las clases: Nigromante y Lancero.
- Se eliminó la función Intemperie.
- Se añadió una nueva propiedad para los Hechizos (CriaturasRequeridas), la cual solicitará una cantidad de NPCs matados para poder invocar a dicha criatura.
- Se añadió un nuevo flag y función (DuracionRM) para el efecto de RM temporal en hechizos.
- Se modificó la carga de gráficos, utilizando la carga de 13.0.
- Ahora los gráficos se leen en formato .PNG.
- Se modificó el ColorKey a blanco puro (#FFFFFF).
- Se añadió clsBatch (Créditos: Wolftein - Fénix13, gracias a miqueas150 por la ayuda).
- Se reemplazo clsGraphicalInventory por el de 13.3.
- Se aumentaron los slots de inventario a 25.
- Se arreglo la renderización de Pictures con un nuevo DrawGrhToHdc.
- Se añadió un nuevo módulo (Mod_ClientData) para cargar datos como información de objetos y demás al cliente y alivianar ciertos paquetes.
- Se modificaron los paquetes HandleChangeInventorySlot y HandleChangeBankSlot, reduciendo la cantidad de datos que se enviaban, utilizando el nuevo Mod_ClientData.
- Se eliminaron todos los sistemas de trabajo.
- Se eliminó la carga de objetos de los sistemas de trabajo.
- Se re-enumeró el enum de eOBJType.
- Se eliminó el macrotrabajo.
- Los items no utilizables por nuestra clase ahora se pintarán de color rojo. La comparación pinta de blanco (que es igual a no darle color) a los items que coincidan el CP con la clase del usuario que llega en el paquete HandleLogged, o también cuando el CP es igual a 0, ya que podemos tener items sin CP que podrían ser utilizados por todas las clases. Los items en rojo tendrán la propiedad ClaseValida con valor 1 y serán pintados de rojo.
- Se modificó frmBancoObj por completo; ahora se dibujan los inventarios de la bóveda y del usuario con DX. Además, se puede depositar y extraer oro.
- Se modificó frmComerciar por completo; ahora se dibujan los inventarios del usuario y del NPC con DX.
- Se creó un nuevo sistema de lluvia (Falta terminar).
- Se modificó la clsBatch para tener soporte de AlphaBlending (Créditos: Wolftein).

Descarga:
https://www.4shared.com/rar/BlBVS_VDei/Proyecto_X.html

Aclaración: Esta lejos de ser estable, lean el archivo "LEEME" para más información.
 
#4
Que bueno que tanta gente se preocupe por que el AO no muera, aunque hay muchas ideas que se le pueden implementar pero algunos por falta de conocimiento o de tiempo no podemos hacerlas! Suerte
 
'Me Gusta': MAB

MAB

Symphony of Enchanted Lands
#6
Por qué eliminaste tantas cosas? A qué se debe eso?
La idea base era:

-Todos deberían ser neutros.
-Tener un sistema de "rangos" por frags.
-Se quitaban todos los sistemas de trabajo y se pasaba a comprar los items directamente por oro, dejando también la posibilidad más adelante de integrar drops a los NPCs para tener drops únicos.
-Una única ciudad, por la cual deberían pelear los clanes y el ganador tendría la posibilidad de establecer una especie de "iva" para los NPCs de la ciudad, haciendo que todo sea más caro y ganando un % de eso en oro para el clan.

Obviamente no llegue ni a hacer 1/4 de lo que tenía pensado, y hay nombres de cosas (como los dioses) a los cuales los edite porque no me interesa liberar el laburo de alguien más, así que libere lo que yo hice y pregunte también a @Wolftein si me daba permiso para liberar esta clsBatch.

Básicamente mi idea de servidor era muy diferente a lo que más de uno esta acostumbrado. Tenes más info en los txt que están dentro si queres.

Muy bueno mav, Suerte!



Creo que era un servidor de agite, por las cosas que tiene
No realmente, mi idea era simplificar cosas y añadir sistemas nuevos... aunque tampoco es que quisiera reinventar la rueda, no tengo tal conocimiento.
 
Arriba