AO Libre - 1 Año de vida.

recox

Argentum Online Libre
Argentum Online Libre cumplio su primer año de vida y por eso les traigo un resumen de lo que se logro entre todas las personas que participan en el proyecto.

Para los que no conocen sobre el proyecto aqui un pequeño resumen, AO Libre es un proyecto colaborativo utilizando el open-source como bandera. Todos estan invitados a participar haciendo modificaciones a nivel codigo, graficos, sonidos, agregar items, hechizos, mapear o ser parte de la organizacion del juego dentro del server.

La idea se empieza a crear al ver tantos recursos buenos del juego sin uso, desde graficos, sonidos a codigos implementando sistemas para el juego. Por lo que se crean los repositorios publicos y se ponen servers online para que todos los cambios recibidos tengan un uso real y que todos tengan acceso a los avances o arreglos hechos por la comunidad
Esta es la web del proyecto: http://www.argentumonline.org

Empecemos con el resumen:

AO-Clasico (VB6):




Cliente/Server:

Se hicieron mejoras a nivel codigo de sistemas, arreglos de bugs, se traducio en al menos un 70% el juego al ingles, entre muchas otras dejo aqui el changelog
- 0.13.3 (https://www.gs-zone.org/temas/cliente-y-servidor-13-3-dx8-v1.95611/)

* 26/07/2016 : Reemplazo de librería dx7 por dx8. (Shak)
* 26/07/2016 : Base para varios sistemas [Lanzamiento de proyectiles, auras, party draw, entre otros] (Shak)
* 26/07/2016 : Optimización» Textos del juego (A través de texturas) (Shak)
* 26/07/2016 : Lee gráficos comprimidos. (Shak)
* 26/07/2016 : Fix» Varios runtime's (Shak)
* 26/07/2016 : Agregado de mejoras en funciones y subs [extraído de HAO][Miqueas seguro fue este, negro fiero] (Shak)
* 26/07/2016 : Fix» Bugs propios de la versión (Shak)
* 27/07/2016 : Optimización» Quitado de código inutilizable [SeguridadAlkon] (Shak)
* 27/07/2016 : Optimización» Limpieza del mundo (Shak)
* 27/07/2016 : Arreglo» Npcs respetan su intervalo de golpe. (Shak)
* 27/07/2016 : Optimizacion» Sonidos de mapas desde el cliente. (Shak)
* 28/07/2016 : Varios timers fueron removidos. (Shak)
* 28/07/2016 : Optimización» MainLoop (Shak)
* 29/07/2016 : Se borró todo el código relacionado con "CENTINELAS" (Shak)
* 29/07/2016 : Array con los personajes encarcelados, para restarles los minutos de penas. (Shak)
* 03/08/2016 : Arreglo de pictures en el "frmcrearpersonaje" (No se dibujaban) (Shak)
* 03/08/2016 : Arreglo de pictures en el "frmmain" (No se dibujaban) (Shak)
* 03/08/2016 : Arreglo bug de skills. (Shak)
* 03/08/2016 : Arreglo en el dibujado de objetos "Herreria" y "Carpinteria" (Shak)
* 23/12/2016 : Las penas se restan en el GameTimer (Shak)
* 23/12/2016 : Intervalo de npc arreglado. (No pegaban algunos npcs) (Shak)
* 23/12/2016 : Fix a errores que me fui comiendo :p (Shak)
* 23/12/2016 : Fix al chequeo de los limites del área (InGameArea) (Shak)
* 28/12/2016 : Strings de hechizos manejados desde el cliente (Shak)

- 0.13.6
* 11/08/2018 : Arreglado error de tiempo de la carcel y auto-transportacion hacia fuera de la misma (Recox)
* 12/08/2018 : Arreglado alpha blending, ahora los colores se ven mejor (Cucsifae)
* 13/08/2018 : Implementado auto-update en el repositorio del cliente y tambien se creo el repositorio del auto-update con su respectivo codigo. (Recox)
* 23/08/2018 : Bug solucionado: Problema que no deja tirar hechizos entre usuarios (Cucsifae)
* 25/08/2018 : Se activo Alphablending (Cucsifae)
* 29/08/2018 : Las superficies transparentes ahora se muestran en el color correcto (Cucsifae)
* 30/08/2018 : Bug solucionado: el multilinea no funcionaba cuando se veia un cartel (Cucsifae)
* 30/08/2018 : Bug solucionado: el techo de la carcel no se transparentaba al estar debajo (Cucsifae)
* 01/09/2018 : Bug solucionado: La lista de hechizos permanecia al cambiar de personaje (Cucsifae)
* 01/09/2018 : Se agrego animacion del arma al atacar (Cucsifae)
* 02/09/2018 : Se agrego Animacion de ataque: paquete para enviar la anim a otros users (Cucsifae)
* 06/09/2018 : Bug solucionado: Layer 2 no se renderizaba de la manera esperada (Cucsifae-Eqquss)
* 02/09/2018 : Se agrego solucion a problemas de encoding con .gitattributes, ahora los archivos siempre se guardan en CRLF (Recox)
* 10/09/2018 : Se arreglo sonido 3D y sonido al caminar (Cucsifae, Recox)
* 11/09/2018 : Se normalizo el nombre de las variables debido a que el IDE las cambia automaticamente y los PR's no se pueden revisar facil (Recox) (hay que seguir trabajando en esta)
* 12/09/2018 : Bug solucionado: El sonido de la lluvia no se escuchaba (Cucsifae)
* 12/09/2018 : Las particulas de lluvia son mas chicas y se renderizan mas particulas (Cucsifae)
* 17/09/2018 : Se cambio el comando /BORRARPENA a /MODIFICARPENA para reflejar la funcion real del comando (Cucsifae)
* 18/09/2018 : Se creo una lista de servidores que se descarga automaticamente al iniciar el cliente (Cucsifae)
* 19/09/2018 : Lo botones de los macros se colocaron en la posicion correcta (Cucsifae)
* 23/09/2018 : Bug solucionado: La lista de servidores no se cargaba al volver a la ventana de coneccion (Cucsifae)
* 24/09/2018 : Los Fx de las magias ahora pueden mostrarse en coordenadas del mapa (Cucsifae)
* 24/09/2018 : Bug solucionado: al matar a un Npc con magia no se mostraba el Fx de la misma (Cucsifae)
* 16/10/2018 : Implemented version checking with github releases, if the version differs it will open the app ao-autoupdate to do the update. (Recox)
* 27/11/2018 : Implemented Reddit's API to obtain all the posts and show them in the frmConnect (Recox)
* 28/11/2018 : #96 Fixed broken emoticons and fonts changing fonts.png and fonts.dat (Eqquss-Recox)
* 28/11/2018 : #96 Automation Error- Fixed Direct3D8 initial flag (Unused depth buffer, and discard mode prevent double buffering of the frame). - Fixed Direct3D8 nested BeginScene/EndScene, decoupled framebuffer's clear and present operation. - Removed unused specular vertex attribute. (Wolftein)
* 29/11/2018 : #105 Fixed show repeated news after reload the frmConnect (Recox)
* 03/12/2018 : Don't write file sinfo.ini with empty data if there is not https response. (Recox)
* 04/12/2018 : Check if nombre, password and confirm password are empty before submit in frmCrearPersonaje. (jopiortiz)
* 06/12/2018 : Update Changelog file with some old/legacy missing items made in 2016 by Shak (Recox)
* 06/12/2018 : #119 Keep selected server on list when an expected error appears like server offline, Clean code deleting unused functions. (CHOTS)
* 09/12/2018 : Optimize some string handling around the code to be more performant. more info:
http://www.aivosto.com/articles/stringopt.html (jopiortiz)
* 09/12/2018 : Nick and Clan text centered, Deleted DirectX 7 unused Functions (Juanmz)
* 11/12/2018 : Implemented IP API to obtain geolocation of the server (Recox)
* 11/12/2018 : Temporally fixed memory corruption in D3D. See comment to understand the problem https://github.com/ao-libre/ao-cliente/pull/132 (Wolftein)
* 18/12/2018 : Added modal to ask if close the game or just close session when the Close button is pressed (jopiortiz)
* 18/12/2018 : Optimization of map loading in memory. (jopiortiz)
* 21/12/2018 : Deleted weird character in the welcome message. (Recox)
* 21/12/2018 : Obtain latency with server doing Ping and show it in server's list. (Needs to be improved due this method don't work with ips that have Ping blocked) (Recox)
* 21/12/2018 : Integration of Accounts (10 charfiles per each) working with MySql Database or Accounts file system with charfiles. (CHOTS)
* 21/12/2018 : Obtain colours of characteres from the file colores.dat instead of the ones harcoded in frmPanelAccount (Recox)

- 0.13.7
* 01/02/2019 : #74 Fixed runtime error when someone tries to move the window in fullscreen mode (Juanmz)
* 01/02/2019 : Deleted unused validations in frmCrearPersonaje and General.bas (Recox)
* 11/02/2019 : Re-implemented centinela (jopiortiz)
* 12/02/2019 : Added new graphics [PRD2, Agua Azul, Dungeon 1, Dungeon Verde, Dungeon Azul, Dungeon Azul Oscura] (Bassinger)
* 14/02/2019 : Implemented multi-language module and added languages spanish.json and english.json (Recox - jopiortiz)
* 14/02/2019 : Re-implemented intro music when the game is loading (Recox)
* 19/02/2019 : Optimización: Eliminadas declaraciones de variables sin usar. (jopiortiz)
* 19/02/2019 : Elegir si querés buscar servidores del repositorio de GitHub o no. (jopiortiz)
* 19/02/2019 : Eliminados links muertos frmOpciones (jopiortiz)
* 25/02/2019 : Implementación: Sistema de Duelo entre Clanes (CvC) (jopiortiz)
* 26/02/2019 : Implementación de colores en los textos mediante JSON (jopiortiz)
* 26/02/2019 : Borradas funciones inutilizadas (jopiortiz)
* 07/03/2019 : Implementación: Mini-Mapa en Render con lectura de Imágenes. (jopiortiz)
* 07/03/2019 : Implementación: Drag and Drop en hechizos (jopiortiz)
* 07/03/2019 : Implementación: Efecto de desvanecimiento en techos. (jopiortiz)
* 07/03/2019 : Implementación: Evento - Juegos del Hambre. (jopiortiz)
* 11/03/2019 : Solución al bug de clones. (jopiortiz-Yhunja)
* 11/03/2019 : Eliminada la carga de MD5. (jopiortiz)

- 0.13.8
* 12/03/2019 : Implementación: Sistema de Quests via NPC's. (jopiortiz)
* 12/03/2019 : Optimizaciones varias, limpieza de codigo (jopiortiz)
* 14/03/2019 : Implementación: Amuleto del Silencio (Recox-jopiortiz)
* 15/03/2019 : Reemplazados caracteres especiales por normales (à á é í ó ú ñ Ñ) para evitar errores en encodeo y diferencias de codigo no deseadas en pull requests. (Recox)
* 20/03/2019 : Arreglado desde el codigo la obtencion de una propiedad inexistente al json de lenguajes (Recox)
* 22/03/2019 : Fix: Agregué una validacion (¿sos gm?) antes de abrir el frmBuscar. (jopiortiz)
* 27/03/2019 : Cambie el link del Manual y de las Reglas (Recox)
* 01/04/2019 : Se implemento la posibilidad de que cada servidor pueda elegir su propio mundo, el mismo se selecciona desde la propiedad Mundo en el archivo sinfo.dat (Recox)

- 0.13.8.1
* 04/04/2019 : Se usa el numero de versionTagRelease desde el archivo INIT\Config.ini para mostrar la version de juego en el render (Recox)
* 04/04/2019 : Se creo un boton para poder refrescar la lista de servidores (Recox)
* 04/04/2019 : Se simplifico el formulario de conectar borrando codigo innecesario (Recox)

- 0.13.8.2
* 08/04/2019 : Ahora la aplicacion no crashea al tratar de abrirla sin internet. (Recox)
* 08/04/2019 : Se agregaron todas las imagenes de minimapa faltantes (Recox)
* 08/04/2019 : Se modifico un poco el mapa 273 del battleserver y el 198 del deathmatch (Recox)
* 09/04/2019 : Ahora los sacerdotes de abajo y arriba curan en mapa deathmatch (198) (Recox)

- 0.13.8.3
* 11/04/2019: Se convirtio el mapa Escondrijo de las ruinas de earost en el mundo deathmatch con todos los npcs necesarios para un agite rapido. (Recox)
* 14/04/2019: Implementación - daño en render. (jopiortiz)

- 0.13.8.4
* 15/04/2019: Cuando un user ATACA a un NPC y viceversa.
Cuando un user CURA a un NPC o User y viceversa.
Cuando un elemental ataca a un NPC o user y viceversa.
Cuando un user FALLA un ataque a otro user o npc y viceversa.
Cuando un user obtiene un objeto al trabajar. Aparece un "+1" arriba de tu cabeza.
El mana recuperado al meditar. Aparece un "+valor recuperado" arriba de tu cabeza. (jopiortiz)
* 17/04/2019: Added Alkon map as default, needs to be improved (Recox)
* 17/04/2019: Se modifico la fuente para que se vean las coordenadas completas, se agregaron colores en el json de coordeandas para que la aplicacion no arrojase error (Recox)

- 0.13.8.5
* 05/05/2019: Arreglados algunas faltas de ortografia en el archivo de idiomas spanish.json (neoranger)
* 05/05/2019: Eliminadas librerias (.dll) sin usar. (jopiortiz)
* 05/05/2019: Ya no se actualiza la pantalla cuando elegis jugar en modo ventana, Se resetea la resolucion al cerrar desde el Sub CloseClient(). (jopiortiz)
* 05/05/2019: Encoded JSON lenguaje file to ANSI again (Recox)
* 10/05/2019: Se cambio la url del manual dentro de la ventana opciones por la guia actual: http://wiki.argentumonline.org/ (Recox)
* 13/05/2019: Mejoras en el frmBuscar y la invocación de NPC's. (jopiortiz)

- 0.13.9

* 21/05/2019: Ahora se actualiza el puntito rojo que indica la posición del usuario en el minimapa. (jopiortiz)
* 21/05/2019: Ahora se muestran los nombres al navegar. (jopiortiz)
* 21/05/2019: Las letras de los diálogos suben desde la cabeza. (jopiortiz)
* 21/05/2019: Extendido el tiempo en el que se renderiza el daño. (jopiortiz)
* 21/05/2019: Se respetan las mayúsculas/minúsculas al crear un personaje. (jopiortiz)
* 23/05/2019: Se eliminaron los archivos frmPasswd y frmRecuperar ya que no se usan. (Recox)
* 23/05/2019: Mejora y Arreglos en la conexion con el servidor. (jopiortiz)
* 23/05/2019: Implementado sistema cambio de passwords. (jopiortiz/Recox)

- v0.13.9.1
* 09/07/2019: Se reparo la fuente utilizada en el juego, se elimino el archivo INIT/font.dat ya que no se usa, se cambio la configuracion del archivo EXTRAS/font.dat en el archivo .gitattributes para evitar que el mismo se rompa. (Recox)

- v0.13.9.2
* 15/07/2019: Se arreglaron las estrellas en el frmCrearPersonaje para el paladin y el ladron (Recox)
* 15/07/2019: Se añadieron las clasicas imagenes de las profesiones al crear un personaje en el frmCrearPersonaje (Recox)

- v0.13.10
* 23/05/2019: Uso de la API de Windows para conectarse al servidor. Créditos a Dr. GoDKeR. (jopiortiz)
* 20/07/2019: Texto del daño deja de depender de los FPS y se suavizó la animación (Wyr0X)
* 24/07/2019: Fix nombres descentrados + fix emojis en nombres (Wyr0X)
* 07/08/2019: Ahora se puede elegir entre cargar los graficos comprimidos [Graphics.AO] o descomprimidos [*.bmp/*.png] mediante Properties -> Compiler Flags-> Compression = 0/1 (jopiortiz)
* 08/08/2019: Nuevo mini-mapa mas simple. (jopiortiz)
* 08/08/2019: Impletado sistema de skins. (RecoX)
* 09/08/2019: Carga y guardado de las configuraciones del cliente mediante clsIniManger. (jopiortiz)
* 09/08/2019: Eliminados Inicio.con, AO.dat y Ver.bin (jopiortiz)
* 09/08/2019: Recordar contraseña con encriptacion. (jopiortiz)
* 09/08/2019: Nueva funcion que devuelve los paths del cliente [Path(PathType)]. DEJEN DE USAR App.path & "\BLA-BLA-BLA\"
* 11/08/2019: Agregada opcion de elegir idioma del juego en la ventana opciones (Recox)
* 11/08/2019: Se cambio el checkbox de recordar password por un control de usuario de gsz-ao y se le coloco traduccion a su respectivo label. (Recox)

- v0.13.11
* 13/08/2019: Retos 1vs1,2vs2,3vs3,nVSn (MarinoLautaro)
- /RETOS
- /ACEPTAR NICK
* 15/08/2019: Se agrego el skin de cucsifae, se agregaron ventanas de cargando viejas y se agrego imagen de presentacion (Recox)
* 16/08/2019: Se arreglo skin de AO-Libre creado por Aizanoth, se puso como default el mismo (Recox)
* 16/08/2019: Se eliminaron las referencias a los Controles ActiveX inutilizados. (jopiortiz)
* 16/08/2019: Se eliminó todo el codigo referente a Sockets y Winsocks, ahora se usa la API ws2_32.dll por defecto. (jopiortiz)
* 16/08/2019: Se reemplazó el Control ActiveX MSINET.OCX por la API nativa WinInet. (jopiortiz)
* 20/08/2019: La consola ahora es transparente (jopiortiz)
* 20/08/2019: Es posible elegir la posicion del texto en la consola (jopiortiz)
* 20/08/2019: Se modifico la imagen de VentanaPrincipal del skin ao-libre para usar la consola transparente (Recox)

- 0.13.6

* 23/08/2018 : Bug solucionado: Sacerdote no cura veneno (Cucsifae)
* 25/08/2018 : Se agrego Encriptacion de passwords (Cucsifae)
* 02/09/2018 : Se agrego Animacion de ataque: paquete para enviar la anim a otros users (Cucsifae)
* 07/09/2018 : Bug solucionado: al equiparse la fragata fantasmal no se veia el body (Cucsifae)
* 11/09/2018 : Se agrego solucion a problemas de encoding con .gitattributes, ahora los archivos siempre se guardan en CRLF (Recox)
* 11/09/2018 : Se normalizo el nombre de las variables debido a que el IDE las cambia automaticamente y los PR's no se pueden revisar facil (Recox) (hay que seguir trabajando en esta)
* 14/09/2018 : Bug solucionado: los guilds no funcionaban, se agregaron los archivos faltantes (Cucsifae)
* 16/09/2018 : Bug solucionado: el nombre de usuario se asignaba despues de intentar abrir su charfile (Cucsifae)
* 23/09/2018 : Ahora el servidor envia mensajes al cliente para mostrar Fx en coordenadas del mapa (Cucsifae)
* 25/08/2018 : Se agrego Encriptacion de passwords (Cucsifae)
* 26/09/2018 : Se agregaron Multiplicadores de Exp y oro en el Init (Cucsifae)
* 16/10/2018 : Implemented version checking with github releases, if the version differs it will open the app ao-autoupdate to do the update. (Recox)
* 01/11/2018 : Added parameter in server.ini to customize the time in jail and also the time for the "Antipiquete" (block paths or entries to cities) (Cucsifae)
* 02/11/2018 : Added multiplier parameter for "Oficios" such as "Tala" "Pesca" "Minar" in the server.ini (CHOTS)
* 04/11/2018 : Changed WritedGuldChat to WriteConsoleMsg to fix print of MOTD.ini messages (Cucsifae)
* 05/11/2018 : Configurable Dice values in Server.ini with parameters MaxDados and MinDados (CHOTS)
* 10/11/2018 : Clean BanIps.dat file to avoid false positives, Reseted all the number in the file apuesta.dat to 0 (Recox)
* 11/11/2018 : Deleted unused properties in file Server.ini, deleted unused files and binaries from the repository (Recox)
* 04/12/2018 : Change command printed in message in the console when try to create a Pretoriano NPC with /ACC (CHOTS)

- 0.13.7

* 25/02/2019 : Implementación: Sistema de Duelo entre Clanes (CvC) (jopiortiz)
* 26/02/2019 : Muevo el código del timer Auditoria al MainLoop (jopiortiz)
* 07/03/2019 : Implementación: Drag and Drop en hechizos (jopiortiz)
* 07/03/2019 : Implementación: Evento - Juegos del Hambre. (jopiortiz)
* 11/03/2019 : Eliminada la carga de MD5. (jopiortiz)

- 0.13.8

* 12/03/2019 : Delete modHexaStrings.bas Este módulo pertenecía a la carga de MD5's. (jopiortiz)
* 12/03/2019 : Implementado mensaje "Tu clase no tiene la habilidad de aprender este hechizo." al querer usar un hechizo prohibido por clase. (jopiortiz)
* 12/03/2019: Implementación: Sistema de Quests via NPC's. (jopiortiz)
* 14/03/2019 : Implementación: Amuleto del Silencio (Recox-jopiortiz)
* 17/03/2019 : Ahora podes matar npcs de quest con elementales y te lo suma al dueñoindex de la quest (Juanmz)
* 18/03/2019 : Reemplazados caracteres especiales por normales (à á é í ó ú ñ Ñ) para evitar potenciales errores de encodeo y diferencias de codigo no deseadas en pull requests. (Recox)

* 20/03/2019: Ahora los users no pueden paralizar npcs arriba de portales (SOLO GMS) (JuanMz)
* 20/03/2019: Se creo una opcion en server.ini para poder hacer que en el server se caigan los objetos al morir o no (Recox)
* 23/03/2019: Cambio ñ por n en balances.dat (Recox)
* 23/03/2019: Fix JDH Pequeños arreglos. Y nueva función public WarpUserCharX para evitar pisadas. (JuanMZ)
* 23/03/2019: Indentación completa del código. (jopiortiz)
* 24/03/2019: Implementacion de inventario customizado desde el server.ini - Added possibility of customize the inventory when a player is created on server.ini (Recox)
* 26/03/2019: Agregados npcs de quests en Npcs.dat. (Recox)
* 01/04/2019: Implementacion de concepto de mundos, el mismo se elige desde el sinfo.dat del cliente (Recox)
* 01/04/2019: Se implemento posicion de nacimiento, junto con mapa si decidimos usar un Mundo propio (Recox)
* 01/04/2019: Creado Mundo Deathmatch(La boda) sobre Mapa 198 (Recox)
* 01/04/2019: Agregados 3 npcs de decoracion para Mundo Deathmatch(La Boda) (Recox)
* 01/04/2019: Creado Mundo BattleServer(Partenon de los Dioses) sobre Mapa 273 (Recox)
* 01/04/2019: Agregada customizacion de cada una de las estadisticas de un personaje al nacer desde el server.ini (Recox)
* 01/04/2019: Se Arreglo un bug que cuando se supera el maximo de oro permitido el cliente te kickea del server (Recox)
* 01/04/2019: Se arreglo bug que afectaba a los items por clases prohibidas (Recox)
* 04/04/2019: Se usa el numero de versionTagRelease desde el archivo sinfo.ini para mostrar la version juego en el titulo (Recox)
* 04/04/2019: Se muestra el mundo seleccionado desde el archivo Dat\Map.ini para mostrarlo en el titulo de la aplicacion (Recox)
* 07/04/2019: Se simplifico la customizacion de atributos iniciales, ahora se respetan los modificadores de raza/clase (Recox)
* 07/04/2019: Se arreglo un caracter roto cuando el sacerdote te cura. (Recox)
* 08/04/2019: Los gms ya no son expulsados del juego por inactividad (Recox)
* 08/04/2019: Se modifico un poco el mapa 273 del battleserver y el 198 del deathmatch (Recox)
* 09/04/2019: Ahora los sacerdotes de abajo y arriba curan en mapa deathmatch (198) (Recox)
* 11/04/2019: Chequeo si existen las carpetas "Account" y "Charfile" al iniciar el servidor. (jopiortiz)
* 11/04/2019: Se convirtio el mapa Escondrijo de las ruinas de earost en el mundo deathmatch con todos los npcs necesarios para un agite rapido. (Recox)
* 13/04/2019: El comando /CI ahora mete el item en el inventario en caso de que sea agarrable, si tiene el inventario lleno se tira al piso, los objetos no agarrables van al piso directamente (jopiortiz)
* 14/04/2019: Implementación - daño en render. (jopiortiz)
* 17/04/2019: Cambio la recursividad del HandleIncomingData, y ahora pasa a ser iterado y arregla el error de 'Out of stack space' (MateoMiccino)
* 17/04/2019: Se encapsulo el comportamiento de la funcion LiberarSlot y se rehusa alrededor de la aplicacion (jopiortiz/Juanmz)
* 21/04/2019: Deleted objs that are not indexed and breaks the application: OBJ1121, OBJ1122, OBJ1116, OBJ1113, OBJ1114, OBJ1115 (Recox)
* 21/04/2019: Agregado limite para la recepción de paquetes. (jopiortiz/Juanmz)
* 21/04/2019: Inicia en al ciudad elegida al crear pj (JuanMZ)

- 0.13.8.1

* 04/04/2019: Se usa el numero de versionTagRelease desde el archivo sinfo.ini para mostrar la version juego en el titulo (Recox)
* 04/04/2019: Se muestra el mundo seleccionado desde el archivo Dat\Map.ini para mostrarlo en el titulo de la aplicacion (Recox)

- 0.13.8.2

* 07/04/2019: Se simplifico la customizacion de atributos iniciales, ahora se respetan los modificadores de raza/clase (Recox)
* 07/04/2019: Se arreglo un caracter roto cuando el sacerdote te cura. (Recox)

- 0.13.8.3

* 08/04/2019: Los gms ya no son expulsados del juego por inactividad (Recox)
* 08/04/2019: Se modifico un poco el mapa 273 del battleserver y el 198 del deathmatch (Recox)
* 09/04/2019: Ahora los sacerdotes de abajo y arriba curan en mapa deathmatch (198) (Recox)


- 0.13.8.4

* 11/04/2019: Chequeo si existen las carpetas "Account" y "Charfile" al iniciar el servidor. (jopiortiz)
* 11/04/2019: Se convirtio el mapa Escondrijo de las ruinas de earost en el mundo deathmatch con todos los npcs necesarios para un agite rapido. (Recox)
* 13/04/2019: El comando /CI ahora mete el item en el inventario en caso de que sea agarrable, si tiene el inventario lleno se tira al piso, los objetos no agarrables van al piso directamente (jopiortiz)
* 14/04/2019: Implementación - daño en render. (jopiortiz)

- 0.13.8.5

* 17/04/2019: Cambio la recursividad del HandleIncomingData, y ahora pasa a ser iterado y arregla el error de 'Out of stack space' (MateoMiccino)
* 17/04/2019: Se encapsulo el comportamiento de la funcion LiberarSlot y se rehusa alrededor de la aplicacion (jopiortiz/Juanmz)
* 21/04/2019: Deleted objs that are not indexed and breaks the application: OBJ1121, OBJ1122, OBJ1116, OBJ1113, OBJ1114, OBJ1115 (Recox)
* 21/04/2019: Agregado limite para la recepción de paquetes. (jopiortiz/Juanmz)
* 21/04/2019: Inicia en al ciudad elegida al crear pj (JuanMZ)

- 0.13.8.6

* 05/05/2019: Eliminado cGarbaje. (jopiortiz)
* 10/05/2019: Borrada esta irrelevante linea de codigo .UpTime = .UpTime (Recox)
* 10/05/2019: El centinela ahora escribe un codigo de 4 caracteres en ves de 7 (Recox)
* 10/05/2019: Al poner el codigo correcto, ahora el centinela se va a tomar unos 30 mins antes de aparecer de nuevo para que no sea tan molesto (Recox)
* 10/05/2019: Ahora cuando no ingreso el codigo dentro del tiempo especificado, el centinela solo me manda a la carcel, ya no mata al personaje ni le borra todos los items. (Recox)
* 10/05/2019: Se le elimino la defensa magica al Murcielago y al Escorpion ya que son npcs que viven en el NW Dungeon y a un mago se le complica levelear. (Recox)
* 13/05/2019: No se caen los items y el oro al morir en Zona Segura. (jopiortiz)
* 13/05/2019: Fix a bug with HandleLoginNewAccount (CHOTS/JuanMZ)
* 13/05/2019: Arreglado - No se mataba el proceso al cerrar el servidor. (jopiortiz)
* 13/05/2019: Centinela activable/desactivable desde el Server.ini (jopiortiz)
* 13/05/2019: Se implemento conexion con API, endpoints BackupCharfiles, BackupAccount, BackupLogs (Recox)
* 13/05/2019: Arregladas omisiones en los manejadores de muchos paquetes. (jopiortiz)
* 13/05/2019: Se agrego boton forzar cerrar server en el frmMain. (Recox)
* 13/05/2019: Se comento el codigo la proteccion de contador de paquetes en 40ms, ya que al hacer WorldSave desconecta el personaje debido a que llegan mas paquetes en ese momento (debe ser arreglado) . (Recox)

- 0.13.9

* 15/05/2019: Actualización de armas vendidas por los herreros. (jopiortiz)
* 15/05/2019: Actualización de Hechizos vendidos por los comerciantes magos. (jopiortiz)
* 15/05/2019: Los carpinteros venderán arcos. (jopiortiz)
* 17/05/2019: Implementado xmlHttp para hacer AJAX requests (Recox)
* 17/05/2019: Implementado Endpoint de la API para el envio de emails al registrarse (Recox)
* 17/05/2019: Implementado Endpoint de la API para el envio de emails al iniciar sesion (Recox)
* 19/05/2019: Cast to Bool to some global properties (Recox)
* 21/05/2019: Implementacion endpoint Cambio de Contraseña mediante la API. (jopiortiz)
* 21/05/2019: Uso de clsIniManager para cargar Server.ini y Ciudades.dat (jopiortiz)
* 21/05/2019: Optimizada funcion NameIndex (JuanMZ)
* 22/05/2019: Se setea el Nivel Máximo desde Server.ini (jopiortiz)
* 22/05/2019: Implementado Endpoint para cambiar password mediante la api hecha en node.js (jopiortiz/Recox)

- v0.13.9.1
* 09/06/2019: Las llamadas hechas por xmlHttp ahora son asincronicas. (Recox)

- v0.13.9.2
* 11/07/2019: Se agrego Nemahuak como ciudad default otra vez. (Recox)
* 14/07/2019: Added Initial Mana on Paladin when the user is created (Recox)
* 14/07/2019: /Online muestra lista usuarios online, ahora se suman gms a la cuenta y a la lista de nombres (Recox)
* 14/07/2019: Added happy hour experience functionality (Recox)

- v0.13.9.3
* 24/07/2019: Bugfix los npcs de agua respawnean con menos frecuencia en tierra. (Wyr0X)
* 09/08/2019: Fix, los NPC's se quedaban trabados en los bloqueos. (jopiortiz)

- v0.13.11
* 13/08/2019: Retos 1vs1,2vs2,3vs3,nVSn (MarinoLautaro)
- Para retar, /RETOS
- Para aceptar, /ACEPTAR NICK
* 14/08/2019: Se cambiaron los mapas de duelos por otros que no sean ciudades. (Recox)

Changelogs completos y actualizados:

Historial de desarrollo de CVS A GIT

Se creo toda la organizacion de Github y se exporto todo el historial del CVS (sourceforge) a GIT para no perder el historial de desarrollo de los ultimos 13 años al menos. Se linkearon algunos viejos desarrolladores que pude encontrar como Pato Torres, Maraxus, AlejoLp entre otros.
Cree un tutorial para que puedan ver como fue el proceso de conversion del mismo:

Launcher:
Se creo un Launcher el cual actualiza todas las aplicaciones del ecosistema AO desde github releases para que todos los cambios que recibamos en codigo la gente los pueda tener de manera simple. (Cliente, Server, Worldeditor, ClienteOffline para jugar con Bots, AO-Setup)

API:
Se creo una API hecha en Node.js para realizar operaciones como envio de emails cuando uno se crea una cuenta o se logea al juego, envio de emails, mostrar rankings en la web hacer backups de pjs a base de datos mysql, si bien estas operaciones se pueden hacer tranquiamente en VB6 en javascript es mucho mas facil.

Con el mismo se pueden crear un servidor y ponerlo online con tan solo 2 clicks como muestra el siguiente video:


Finisterra:



Finisterra (aka AO-Java) es el proyecto que inicio uno de los chicos aqui en el foro (@guidON.- ) y el mismo apunta a hacer un remake del AO con conceptos y tecnologias que son mas modernas. El mismo forma parte de la organizacion de github de ao-libre y estan todos invitados a colaborar en cualquier aspecto que esten interesados, desde musica hasta programacion los limites los ponen ustedes. Si bien el proyecto aun esta en una fase alpha hay un avance monumental.

Les dejo un resumen de lo logrado este tiempo:
- Se creo una arquitectura arriba de Libgdx/ECS/Kryonet que soporta todos los features de AO.
- ECS brinda grandes beneficios al momento de agregar funcionalidades.
- Se migro el modelo de AO a uno más extensible, donde se pueden definir y reutilizar el mismo codigo, tanto en el cliente como en el servidor.
- Se escribieron gran cantidad de sistemas reconocidos en el AO, manteniendo asi la escencia del juego, entre ellos:
- Sistema de caminata con prediccion
- Sistema de combate (parcial, falta el combate con arcos)
- Sistema de NPCs con Path finding y movimientos independientes.
- Sistema de meditacion
- Sistema de Buffs
- Sistema de regeneracion de energia
- Sistema de footprints
- Sistema de relaciones/area

- Sistema de relaciones/area:
Se mantiene una relacion entre entidades en el juego, de tal manera que cada jugador solo sera notificado por cosas que suceden en su "area".

- Sistema de footprints: Esto se presta para entrar en detalles.
La idea de esto es combatir el ping, haciendo asi un sistema que guarda los timestamps de las acciones de combate, para luego validar en el servidor. Para esto se hace un sync del tiempo (cliente-servidor) constantemente. Esto mejora el rate de hit aun con un ping considerable. Esto se traduce a -> si tenes mucho ping, no hace falta tirar a un tile vacio y rezar a que le pegue.

- Prediccion (Testing):
La idea es nunca llegar a un estado inconsistente, chau a apretar la L cuando quedas lageado, evitar los saltos de personajes, etc.

- El nuevo diseño (a nivel codigo) brinda opciones para mejorar en varios aspectos, como por ejemplo:
- Podemos hacer que cada entidad en el juego pueda tener su propia velocidad.
- Reutilizar componentes entre personajes, npcs, arboles, etc.
- Control absoluto al momento de renderizar, pudiendo asi elegir el orden, criterio, forma.

- Kryonet (conexion cliente-servidor):
Gracias a kryonet y ECS, no tenemos que definir un protocolo ni tener que crear multiples paquetes para acciones simples, solo se mandan updates genericos, que el cliente sabe aplicar de una manera facil.

- Se agrego la posibilidad de ver mas alla de los mapas, es decir, simular la union entre ellos y asi evitar el salto de mapa. Teniendo asi visibilidad y interaccion con los mapas aledaños.

- Para la interfaz grafica utilizamos skins y scene2d.ui, lo que nos permite generar UI desde el codigo, pudiendo asi modificar cualquier tipo de caracteristica. Esto es mucho mas simple gracias al soporte de 9-patch.

- Compatibilidad:
Gracias a libgdx, se puede generar binarios para distintas plataformas, vease: Windows, Linux, Mac, entre otras que aun no tomamos ninguna accion, por ej: android/ios.

- Compilar:
Utilizamos JPackage (feature que viene a partir de Java 13, aun no releseado?) para generar un artefacto ejecutable, el cual viene con una JRE (Java) requerido para correr el juego. De esta manera no hace falta que el usuario tenga que tener pre instalado o configurado algun tipo de programa/library. Esta JRE depende del sistema operativo.


Link del repo


------------------------

Y si tienen dudas o quieren colaborar usen el discord asi se ponen en contacto o mismo hagan threads aqui en el mismo foro de GS-ZONE que lugar mas completo con gente que esta involucrada activamente en la escena del AO no existe.

Desde ya muchas gracias a todos por participar del proyecto y aportar su grano de arena.
 

Dr. Lord Fers

Legendario Inmortal Lvl 5
Miembro del equipo
Moderador
Moderador de Tecnología
No es por ofender a nadie, aprecio a una persona cuando trabaja mucho, pero, ¿no te da un poco de vergüenza de copiar y pegar tanto código, y después hacerte llamar la versión oficial en muchos foros públicos?

Aún así, les deseo lo mejor, simplemente me genera un poco de rechazo esa actitud que he visto de tu parte en muchos sitios por Internet y las redes sociales, no es para tomárselo a personal, pero espero que puedas tomarlo como una crítica constructiva para poder re-formular tus bases con la idea del proyecto que ofrecés.

Saludos.
 

guidON.-

Newbie Lvl 3
No es por ofender a nadie, aprecio a una persona cuando trabaja mucho, pero, ¿no te da un poco de vergüenza de copiar y pegar tanto código, y después hacerte llamar la versión oficial en muchos foros públicos?

Aún así, les deseo lo mejor, simplemente me genera un poco de rechazo esa actitud que he visto de tu parte en muchos sitios por Internet y las redes sociales, no es para tomárselo a personal, pero espero que puedas tomarlo como una crítica constructiva para poder re-formular tus bases con la idea del proyecto que ofrecés.

Saludos.
Buenas.
Creo que lo que esta haciendo recox va más allá de copiar y pegar código, publicitar en foros, o lo que comentas en esta cita. Como se aclara es una comunidad y pasan muchas cosas que acá no están descriptas. Desde el principio de los tiempos creo yo que AO se hizo con intenciones de ser libre y un poco se perdió esa idea entre tantos mods y programadores que con orgullo y/o motivos deciden constantemente no liberar o publicar código. Lo que se esta haciendo en AO libre no es solo recopilar código y subirlo a git. Hay procesos, discusiones, charlas interesantes, gente con muucha buena onda que dedica tiempo (y generalmente es de los ratos libres que tiene cada uno, lo cual valoro mucho más), gente que esta aprendiendo muchisimo (el progreso se ve claramente) y nadie espera nada a cambio.
No creo que nadie se sienta avergonzado y personalmente todo lo contrario, no pensaba que a la gente le iba a copar tanto pasar un rato aunque sea a charlar, leer o reaccionar y de hecho creo que es un gran complemento a este foro, que me parece que es el único activo en lo que es desarrollo de AO.
En fin espero que si te interesa el futuro del AO y/o tenes ganas de cambiar tus pensamientos, te des una vuelta por discord y charlemos.

Abrazo
 

Mateu-.

Matias
Que manera de seguir buscando pelea en esta comunidad que obviamente ya todos sabemos que ya esta casi muerta por cierto tipo de personas que no respeta semejante dedicación. Fácil hablar, difícil hacer. Ni siquiera leen el titulo del post (LIBRE) donde el termino de copy paste no deberia significar nada ya que es como dice el titulo, AO LIBRE. Terrible laburo, no sabia del proyecto hasta hoy ya que no juego mas Argentum ni estoy metido en el desarrollo pero estuve viendo la pagina y leyendo un poco y me encanto. Te felicito pibe!! Exitos en lo que siga.
 

Nedhelid

[Valion]
No es por ofender a nadie, aprecio a una persona cuando trabaja mucho, pero, ¿no te da un poco de vergüenza de copiar y pegar tanto código, y después hacerte llamar la versión oficial en muchos foros públicos?

Aún así, les deseo lo mejor, simplemente me genera un poco de rechazo esa actitud que he visto de tu parte en muchos sitios por Internet y las redes sociales, no es para tomárselo a personal, pero espero que puedas tomarlo como una crítica constructiva para poder re-formular tus bases con la idea del proyecto que ofrecés.

Saludos.

En todos lados deja en claro que no es la versión oficial. Mismo he visto que Gulfas compartió las publicaciones de AO Libre. No soy amigo, ni siquiera colaboro con el código ni nada, pero creo que si yo fuera el director del servidor oficial manejaría 2 opciones:

1) Hablo con toda esta gente que tiene ganas de laburar y la sumo al equipo de trabajo.

2) Les cedo el nombre y los derechos del servidor oficial y que lo laburen ellos.

No tengo la más mínima idea de que es código propio de ellos y que copiaron y pegaron, pero no tengo ninguna duda de que no paran de laburar, y eso es lo que necesita el argentum hoy en día.

Les deseo lo mejor.
 

Agushh

MR BROWNSTONE
Recuerdo cuando recox hizo las primeras publicidades, no solo acá, también en otras comunidades. Esto creció mucho, y sin dudas que lo seguirá haciendo por la finalidad que persigue. Creo que estoy en discord, pero lamentablemente no tengo tiempo... me encantaría algún día aportar activamente, espero que pronto.

IDEA: Podrían hacer un tutorial sobre cómo montar un AO-Java ;-)

PD: ¿Cuántos servidores tienen online?

Éxitos.
 
Última edición:

Jopi

Newbie Lvl 1
Recuerdo cuando recox hizo las primeras publicidades, no solo acá, también en otras comunidades. Esto creció mucho, y sin dudas que lo seguirá haciendo por la finalidad que persigue. Creo que estoy en discord, pero lamentablemente no tengo tiempo... me encantaría algún día aportar activamente, espero que pronto.

IDEA: Podrían hacer un tutorial sobre cómo montar un AO-Java ;-)

PD: ¿Cuántos servidores tienen online?

Éxitos.

Tienen 1 servidor de Rol con Experiencia x8 y Oro x8.
1 servidor de DeathMatch donde empezas con un PJ todo full.

Con respecto a como montar un servidor de AO-Java (por si queres ir probandolo):
Primero, tenes que bajarte Java (obvio) y agregarlo al $PATH
Segundo, tenes que clonar el repositorio o lo podes bajar de acá
Tercero, abrís CMD en la carpeta que te bajaste y escribis "gradlew.bat server:run"(sin las comillas).

Si tenes alguna duda, estoy en el discord de AO-Libre como "Jopi"
 

chester12

Newbie Lvl 1
Alguno sabe a que se refiere con no ah encontrado yacimiento de pesca cuando intentas usar la red sobre el baro o tierra? no me deja pescar.
 

recox

Argentum Online Libre
Alguno sabe a que se refiere con no ah encontrado yacimiento de pesca cuando intentas usar la red sobre el baro o tierra? no me deja pescar.

La wiki dice esto:
Pesca compleja
Se habilitará el ítem "red de pesca" (Sólo equipable por trabajadores), que al utilizarse desde la orilla permitirá que se pesquen los diferentes peces ya integrados en el servidor (pez dorado, merluza, pez espada y caballito de mar). Los cuales tienen un precio de venta mayor al pez común.

Al pescar en barca, el usuario podrá obtener ítems especiales mediante el "Cofre" y "Cofre pirata". Ambos son objetos que al hacerle doble click darán un ítem diferente aleatoriamente. El cofre pirata contiene ítems de mayor valor y sólo podrá obtenerse pescando con barca en la Isla Pirata.

La probabilidad de sacar cualquier cofre será de 0,025% por cada intervalo de pesca con red de pesca.

Y el codigo lo siguiente:


Código:
            Case eSkill.Pesca
                WeaponIndex = .Invent.WeaponEqpObjIndex

                If WeaponIndex = 0 Then Exit Sub
                
                'Check interval
                If Not IntervaloPermiteTrabajar(Userindex) Then Exit Sub
                
                'Basado en la idea de Barrin
                'Comentario por Barrin: jah, "basado", caradura ! ^^
                If MapData(.Pos.Map, .Pos.X, .Pos.Y).trigger = 1 Then
                    Call WriteConsoleMsg(Userindex, "No puedes pescar desde donde te encuentras.", FontTypeNames.FONTTYPE_INFO)
                    Exit Sub

                End If
                
                If HayAgua(.Pos.Map, X, Y) Then

                    Select Case WeaponIndex

                        Case CANA_PESCA, CANA_PESCA_NEWBIE
                            Call DoPescar(Userindex)
                        
                        Case RED_PESCA
                            
                            DummyInt = MapData(.Pos.Map, X, Y).ObjInfo.ObjIndex
                
                            If DummyInt = 0 Then
                                Call WriteConsoleMsg(Userindex, "No hay un yacimiento de peces donde pescar.", FontTypeNames.FONTTYPE_INFO)
                                Exit Sub

                            End If
                            
                            If Abs(.Pos.X - X) + Abs(.Pos.Y - Y) > 2 Then
                                Call WriteConsoleMsg(Userindex, "Estas demasiado lejos para pescar.", FontTypeNames.FONTTYPE_INFO)
                                Exit Sub

                            End If
                            
                            If .Pos.X = X And .Pos.Y = Y Then
                                Call WriteConsoleMsg(Userindex, "No puedes pescar desde alli.", FontTypeNames.FONTTYPE_INFO)
                                Exit Sub

                            End If
                            
                            'Hay un arbol normal donde clickeo?
                            If ObjData(DummyInt).OBJType = eOBJType.otYacimientoPez Then
                                Call DoPescarRed(Userindex)
                            Else
                                Call WriteConsoleMsg(Userindex, "No hay un yacimiento de peces donde pescar.", FontTypeNames.FONTTYPE_INFO)
                                Exit Sub

                            End If
                              
                        Case Else

                            Exit Sub    'Invalid item!

                    End Select
                    
                    'Play sound!
                    Call SendData(SendTarget.ToPCArea, Userindex, PrepareMessagePlayWave(SND_PESCAR, .Pos.X, .Pos.Y))
                Else
                    Call WriteConsoleMsg(Userindex, "No hay agua donde pescar. Busca un lago, rio o mar.", FontTypeNames.FONTTYPE_INFO)

                End If


Asi que no se que esta mas desactualizado y que se deberia arreglar si el codigo o la guia XD
 

Franeg95

CARP
Ex-Staff
Qué buen laburo se ve. En especial el espíritu de empujar para adelante y ponerse a levantarlo sin hablar, desde abajo.

Felicitaciones a todos los involucrados, cualquiera haya sido su granito de arena en el proyecto.

¿Tienen definidos próximos objetivos? Ya sea en VB como en Java.

Suerte y sigan así!
 

recox

Argentum Online Libre
Qué buen laburo se ve. En especial el espíritu de empujar para adelante y ponerse a levantarlo sin hablar, desde abajo.

Felicitaciones a todos los involucrados, cualquiera haya sido su granito de arena en el proyecto.

¿Tienen definidos próximos objetivos? Ya sea en VB como en Java.

Suerte y sigan así!

En finisterra se estan puliendo algunas cosas para lanzar un modo MOBA

En AO VB6 no hay objetivos explicitos, pero cada uno pone un poco de lo que puede, los ultimos grandes cambios fueron con respecto a motor grafico mejora de performance. Aunque ayer por ejemplo se añadio un pequeño cambio para mostrar un poco mas de info en armas/armaduras en los items de inventario por ejemplo y hay un usuario mejorando mapas / cambiando graficos del juego.
A lo que voy con esto, si bien no hay un rumbo especifico al que atarse para aportar cualquier cambio para bien es bienvenido ya que existe un flow de revision de pull requests para tratar de mantener sano el codigo
 

Franeg95

CARP
Ex-Staff
Perfecto. Está muy copado como vienen. Lo que les recomendaría es armar un roadmap aunque sea muy a groso modo para que cualquiera de afuera se interiorice rápidamente en hacia donde va el proyecto y como puede aportar. Después cada parte del roadmap se puede especificar mejor en discord o un pr.

Por otro lado, espero si me libero de laburo poder dar una mano.

Saludos y éxitos !
 
Última edición:
Arriba