Go Back   Champions of Regnum > Español > Soporte Técnico > Linux

Linux Problemas técnicos bajo la plataforma Linux

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 06-23-2007, 01:17 AM   #1
x7iBiT
Pledge
 
x7iBiT's Avatar
 
Join Date: Jun 2007
Location: Syrtis
Posts: 45
x7iBiT is on a distinguished road
Default Script Linux (bash) para buscar NPCs

Gracias a otro hilo, conseguí de la página de regnumZg.com.ar un archivo de texto con la base de datos de todos los NPCs del juego. Tras abrirlo y ver lo sencillo que era enseguida se me ocurrió hacer un script para buscar en él de forma sencilla a través del terminal de nuestro Linux. Para empezar, he cogido la base de datos y la he partido en tres (un archivo por reino). También he quitado los acentos para que la búsqueda sea más sencilla. Los archivos son los siguientes:
  • npca.txt -> Reino de Alsius
  • npci.txt -> Reino de Ignis
  • npcs.txt -> Reino de Syrtis

Luego he creado un sencillo script para bash que lo que hace es volcar el contenido del archivo con el camando cat, ponerlo por columnas con el comando awk, y finalmente filtrarlo (aquí es donde entra en acción la búsqueda) con el comando grep:

Code:
#!/bin/bash
file=npcs.txt
for i in $*; do
	if [[ $i == $1 ]]; then
		srch="$i"
	else
		srch="$srch $i"
	fi
done
if (( $# == 0 )); then
	cat $file | awk -F : '{printf "%-27s %-23s %-24s %4s:%4s\n",$1,$2,$3,$4,$5}'
else
	cat $file | awk -F : '{printf "%-27s %-23s %-24s %4s:%4s\n",$1,$2,$3,$4,$5}' | grep --color -i "$srch"
fi
exit
Para bajar tanto las bases de datos como el script:
http://www.mediafire.com/?9wi11gbgigl

El funcionamiento es muy sencillo, lo primero es descomprimirlo (por si acaso, no useis el directorio del juego, hacerlo mejor en otro directorio), y editar el script npc.bash (podeis usar vi, nano, gedit, etc.) y cambiar donde pone pone "file=npcs.txt" y poner la base de datos de vuestro reino (ver más arriba). Como se habrán dado cuenta, viene por defecto con el reino de Syrtis (es el mío, jeeje) por lo que si sois de Syrtis no hay que cambiar nada. Luego hay que comprobar que el script tenga permisos de ejecución y en el caso de que no los tenga cambiarlos con chmod +x npc.bash. Finalmente ejecutar el script. Así por ejemplo:
  • Poniendo ./npc.bash (a secas) listará todos los NPCs de vuestro reino
  • Poniendo ./npc.bash korsum listará todos los NPCs del pueblo de Korsum
  • Poniendo ./npc.bash guardia elite listará todos los Guardias Elites de vuestro reino
  • Poniendo ./npc.bash caballero listará todos los entrenadores de caballero de vuestro reino
  • Poniendo ./npc.bash nombre, en donde nombre es el nombre del NPC a buscar, sólo aparecerá dicho personaje.

Por cierto, para hacer la búsqueda más sencilla, no hace falta poner acentos, ni respetar las mayúsculas/minúsculas.

Luego también podemos incluso copiar el script a un directorio que esté en el PATH (por ejemplo /usr/local/bin) para no tener que ir hasta el directorio en el que esté cada vez que queramos ejecutarlo. Lo único es que si hacemos esto, en donde pone file= hay que poner la ruta completa del archivo de la base de datos. Por ejemplo yo lo tengo así:
file=/home/xzibit/Misc/Regnum/npcs.txt

Cualquier duda que tengan, no duden en preguntarla. También agradecería cualquier otro comentario, sugerencia o "bug" que hayan podido encontrar.

Un Saludo
x7iBiT no ha iniciado sesión   Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:47 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
NGD Studios 2002-2024 © All rights reserved