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

Linux Problemas técnicos bajo la plataforma Linux

Reply
 
Thread Tools Display Modes
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
Old 06-26-2007, 06:14 PM   #2
x7iBiT
Pledge
 
x7iBiT's Avatar
 
Join Date: Jun 2007
Location: Syrtis
Posts: 45
x7iBiT is on a distinguished road
Default

¿Alguien lo ha probado? ¿Que tal?
x7iBiT no ha iniciado sesión   Reply With Quote
Old 06-26-2007, 06:19 PM   #3
arlick
Duke
 
arlick's Avatar
 
Join Date: Jan 2007
Posts: 3,939
arlick is a jewel in the rougharlick is a jewel in the rougharlick is a jewel in the rough
Default

Quote:
Originally Posted by x7iBiT
¿Alguien lo ha probado? ¿Que tal?
te iba a contestar que estaba liado y no podia probarlo pero en 5 minutos te cuento XD, ya me lo estoy descargando
__________________
"Nunca un científico ha quemado a un religioso por afirmar a Dios sin pruebas". Manuel Toharia
"uno empieza a darse cuenta que eso de no hacer ejercicio, comer y beber como si fuese la ultima cena y mantener la figura ya no existe...". Maryan
arlick no ha iniciado sesión   Reply With Quote
Old 06-26-2007, 06:27 PM   #4
arlick
Duke
 
arlick's Avatar
 
Join Date: Jan 2007
Posts: 3,939
arlick is a jewel in the rougharlick is a jewel in the rougharlick is a jewel in the rough
Default

funciona!!! esta genial!!!

tengo que aprender a hacer estos scrips
__________________
"Nunca un científico ha quemado a un religioso por afirmar a Dios sin pruebas". Manuel Toharia
"uno empieza a darse cuenta que eso de no hacer ejercicio, comer y beber como si fuese la ultima cena y mantener la figura ya no existe...". Maryan
arlick no ha iniciado sesión   Reply With Quote
Old 06-26-2007, 09:36 PM   #5
ArcticWolf
Duke
 
ArcticWolf's Avatar
 
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
ArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of light
Default

Quote:
Originally Posted by x7iBiT
¿Alguien lo ha probado? ¿Que tal?
Nosotros hicimos un programa en java que se encarga de lo mismo y costó 2000 líneas, vos lo hiciste con un script y es igual de efectivo


ES GENIAL!!!!!!!!!!
__________________
I don't have a solution, but I admire the problem.
ArcticWolf no ha iniciado sesión   Reply With Quote
Old 06-26-2007, 11:38 PM   #6
Daggy
Baron
 
Daggy's Avatar
 
Join Date: Mar 2006
Posts: 609
Daggy is on a distinguished road
Default

Quote:
Originally Posted by Xephandor
Nosotros hicimos un programa en java que se encarga de lo mismo y costó 2000 líneas, vos lo hiciste con un script y es igual de efectivo


ES GENIAL!!!!!!!!!!
jajajajajajajaj

cosas que pasan
__________________
Daggy Alturian Tirador ---> PT For Ever
Laggy Alturian Barbaro ---> Even more PT

Daggy no ha iniciado sesión   Reply With Quote
Old 06-27-2007, 01:51 AM   #7
sunos
Count
 
sunos's Avatar
 
Join Date: Jan 2007
Location: Rosario
Posts: 1,440
sunos has a spectacular aura aboutsunos has a spectacular aura about
Default

conste que te dije, hagamos un cat db | grep npc
__________________
Usuario GNU/linux registrado Nº450915
"Sólo hay un problema con el sentido común: que no es demasiado común" -- Milt Bryce
sunos no ha iniciado sesión   Reply With Quote
Old 06-27-2007, 03:10 AM   #8
ArcticWolf
Duke
 
ArcticWolf's Avatar
 
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
ArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of light
Default

Quote:
Originally Posted by sunos
conste que te dije, hagamos un cat db | grep npc

Pero no es multiplataforma...
__________________
I don't have a solution, but I admire the problem.
ArcticWolf no ha iniciado sesión   Reply With Quote
Old 06-27-2007, 04:28 AM   #9
sunos
Count
 
sunos's Avatar
 
Join Date: Jan 2007
Location: Rosario
Posts: 1,440
sunos has a spectacular aura aboutsunos has a spectacular aura about
Default

y bue, pero desde windows se pueden instalar cygwin ^^ y los que usan BeOS que se jodan no creo que les corra el RO ademas :-P
un scrip de bash podria andar en cualquier *nix
__________________
Usuario GNU/linux registrado Nº450915
"Sólo hay un problema con el sentido común: que no es demasiado común" -- Milt Bryce
sunos no ha iniciado sesión   Reply With Quote
Old 06-27-2007, 04:29 AM   #10
sunos
Count
 
sunos's Avatar
 
Join Date: Jan 2007
Location: Rosario
Posts: 1,440
sunos has a spectacular aura aboutsunos has a spectacular aura about
Default

correra el RO en un freeBSD con la capa de compatibilidad linux?
__________________
Usuario GNU/linux registrado Nº450915
"Sólo hay un problema con el sentido común: que no es demasiado común" -- Milt Bryce
sunos no ha iniciado sesión   Reply With Quote
Reply


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 09:41 PM.


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