fiction 14 Posted December 30, 2014 Muy buenas a todos, abro este topic con la posibilidad si alguien me puede explicar cuando se usa este funcion. getarg getargcount() He leído el script_commands pero aun no se no logro entender como funciona. Si es posible con algun ejemplo practico y como utilizarlo, y cuando. Un cordial saludo.- Quote Share this post Link to post Share on other sites
0 jaBote 438 Posted January 1, 2015 Esos dos comandos de scripting (tengo serias reservas para llamarlos funciones, aunque realmente lo sean en el código fuente dentro de src/map/script.c) sirven para el tratamiento de parámetros que se pasan a través de los otros script commands callsub y callfunc, que podríamos decir para simplificar que son una llamada a una SUBrutina (que se ejecuta dentro del mismo NPC a través de una etiqueta) o una FUNCión (que se ejecuta en un NPC aparte que es solo esa misma función) . Aunque no sea estrictamente cierto, viene bien creerse que todos los argumentos (o parámetros) que se pasan a través de los comandos anteriores se empaquetan en una especie de vector o array unidimensional, a cuyos valores solo se puede acceder usando getarg. Entonces getarg es el "vector" que contiene, ordenados, los valores de los parámetros que se han pasado, cuyo primer índice es el 0. Entonces, sabiendo el número de argumentos que se han enviado, es posible acceder a la información guardada en tal vector. getarg (GET ARGument) funciona de la siguiente forma: getarg(<index>[, <default value>]); Siendo el índice (index) la posición (el argumento) que quieres recuperar y el default value un valor opcional para dar al mismo, en caso de que haya un error al obtenerlo (porque el programador no lo haya pasado de forma intencional o accidental, o haya habido cualquier otro problema). Si no se especifica este último valor, en caso de error al obtener el argumento especificado, la ejecución del script terminaría y en la consola aparecería un mensaje de error. Por otro lado, getargcount (GET ARGument COUNT) simplemente cuenta el número de argumentos que se ha pasado a la subrutina o función. Este comando es solo útil cuando no sabes bien cuántos argumentos se han enviado (o tu script se comporta de forma distinta según el número de argumentos enviados). Es con esta función con la que se consigue determinar de forma rápida y fiable el número de argumentos recibidos. Ahora mismo no dispongo de mucho más tiempo para hacer ejemplos, aunque intenta leer de nuevo la documentación y a ver si así los comprendes; si no trataré de aclararlo un poco más cuando pueda. ¡Un saludo! Quote Share this post Link to post Share on other sites
Muy buenas a todos, abro este topic con la posibilidad si alguien me puede explicar cuando se usa este funcion.
He leído el script_commands pero aun no se no logro entender como funciona.
Si es posible con algun ejemplo practico y como utilizarlo, y cuando.
Un cordial saludo.-
Share this post
Link to post
Share on other sites