Jump to content
  • 0
Sign in to follow this  
fiction

[Consulta] getarg

Question

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.-

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

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!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.