101Level - Foro

[Guía] Funciones de extración de información (Parte 2 - Party)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Miles

  • *
  • 1.826
  • 46
  • Actividad:
    0%
  • Sexo: Masculino
[Guía] Funciones de extración de información (Parte 2 - Party)
Realizada por: Miles


[Introducción]

Continuamos con las guías de funciones y comandos de extracción de información.
Esta edición es en parte especial. Nos enfocaremos en las funciones de extracción de información de party.
Es importante conocer estos comandos si queremos desarrollar algo relacionado con party's.



getpartyname(<ID party>)         [String]

Esta función regresara como resultado el nombre de la party de la ID dada en la función.
Si no existe la party, regresara como valor "null"

Código: [Seleccionar]
set .@party, getcharid(1);
if (getpartyname(.@party) != "null") mes "Estas en una party.";
else mes "No estas en una party.";

Basicamente sirve para saber si estas en una Party o no.
Ademas de ello tambien es usado para decir el nombre de la party.

Código: [Seleccionar]
set .@party, getcharid(1);
if (getpartyname(.@party) != "null") mes "Actualmente estas en la party "+getpartyname(.@party);
else mes "No puedo encontrar el nombre de tu party.";



getpartymember <ID party>{,<tipo>};         [String/Integer]

Este es uno de los comandos mas importantes de esta guía, y es la que mas espacio abarcara.
Independientemente del tipo, siempre debemos de pedir el ID de la party para que haga alguna acción nuestra función.
Por lo cual es importante siempre preguntar por el ID party y si es que esta en una party (para evitar problemas con la función).

Código: [Seleccionar]
set .@party, getcharid(1);
if (.@party == 0) {
mes "No tienes party, no puedo dejarte usar la función.";
close;
}

Esta función genera variables con los datos de la party.
Estos datos son almacenados en arrays.


VariableDescripción
$@partymembername$[]Es una array global temporal de tipo string la cual contiene el nombre de todos los miembros de la party (se genera solamente al especificar el tipo 0).
$@partymembercid[]Es una array global temporal de tipo Integer la cual almacena los ID de personajes de la party (se generan solamente al especificar el tipo 1).
$@partymemberaid[]Es una array global temporal de tipo Integer la cual almacena los ID de cuenta de todos los miembros de la party (se generan solamente al especificar el tipo 2).
$@partymembercountEs una variable global temporal de tipo Integer la cual contiene el numero de miembros totales de la party (siempre se genera esta variable).


Estos conjuntos de variables y arrays son utiles para diversos tipos de comandos que pueden ser usados con ID's para realizar alguna función.
El siguiente ejemplo en lista todos los miembros de la party:

Código: [Seleccionar]
set .@party, getcharid(1);
if (.@party == 0) {
mes "No tienes party, no puedo dejarte usar la función.";
close;
}

getpartymember .@party,0;
//Copiamos las variables, para evitarnos problemas
set .@cntparty,$@partymembercount;
copyarray .@nameparty$[0],$@partymembername$[0],.@cntparty;

for (set .@a,0; .@a < .@cntparty; set .@a,.@a+1) {
mes "Miembro de Party #"+.@a+": "+.@nameparty$[.@a];
}
mes "Estos son los nombres de todos los miembros de la party.";
close;


El siguiente ejemplo en lista los miembros de party, ademas de que te permite hacer warp a la localización de algun miembro de la party:

Código: [Seleccionar]
set .@party, getcharid(1);
if (.@party == 0) {
mes "No tienes party, no puedo dejarte usar la función.";
close;
}

getpartymember .@party,0;
//Copiamos las variables, para evitarnos problemas
set .@cntparty,$@partymembercount;
copyarray .@nameparty$[0],$@partymembername$[0],.@cntparty;

for (set .@a,0; .@a < .@cntparty; set .@a,.@a+1) {
set .@menu$,.@menu$+.@nameparty$[.@a]+":";
}

set .@warpmember,select(.@menu$)-1;

if (getmapxy(.@ptwarp$,.@ptx,.@pty,0,.@nameparty$[.@warpmember])!=0) {
mes "No se ha encontrado al miembro de la party.";
close;
}

warp .@ptwarp$,.@ptx,.@pty;
end;

Esos son algunos de los usos que se le puede dar a esta función.



getpartyleader(<ID party>{,<tipo>})         [Integer/String]

Esta función propociorna diferentes tipos de datos los cuales pueden ser usados para extraer información referente al Party Leader
Cuando se omite el tipo de la función, regresara el nombre del Party Leader.
Tipos:

0.   Muestra el nombre del Party Leader [string]
1.    Muestra el ID de cuenta del Party Leader [Integer]
2.   Muestra el ID de personaje del Party Leader [Integer]
3.   Muestra la Clase del Party Leader [Pending]
4.   Muestra el mapa en el cual esta el Leader [String]
5.   Muestra el Nivel actual del Party Leader [Integer]

Si esta función falla y no encuentra al leader o no existe una Party, la función regresa el valor de "null" (si es string) o -1 (si es Integer).
Esta función puede ser útil para que el Party Leader acceda únicamente a ciertas secciones del script

Código: [Seleccionar]
set .@idparty,getcharid(1);
if (getpartyleader(.@idparty,2) == getcharid(0)) {
mes "Eres el Party Leader, solo el Party Leader puede leer esto.";
}
mes "Para tener acceso completo al script, necesitas ser Party Leader.";
close;



[FAQ]

-La función no me regresa ningún resultado.
~ Es posible que no regrese ningún valor, en el caso de las función que regresa String regresan un "" que es un conjunto vació y no puede ser usado.

-He colocado la función en mi script, pero no veo nada.
~ La función regresa un valor, ese valor puedes almacenarlo o imprimirlo. No puede ser modificado el valor de la función (al menos que sea almacenado en una variable).

-He almacenado el valor de la función en una variable, pero no guarda nada.
~ Si la función regresa como resultado una string ($), pero las estas guardando en una variable integer no podrás ver nada, de igual manera viceversa (si guardas un integer a una string). Solamente guarda correctamente los tipos de datos.
No importa el tiempo gastado, un talento es un talento

Servicio a la Comunidad [Links Patrocinados]:
[Guía] Uploader de Archivos (Haizu)          [Guía] Diseño de Pagina Web en HTML & CSS (Haizu)


 

[Guía] Funciones de extración de información (Parte 3 - Items y armamento)

Iniciado por Miles

Respuestas: 0
Vistas: 1273
Último mensaje 29 de Julio de 2012, 15:35
por Miles
[Guía] Funciones de extración de información (Parte 4 - Refinamiento y armas)

Iniciado por Miles

Respuestas: 0
Vistas: 1606
Último mensaje 29 de Julio de 2012, 15:44
por Miles
[Guía] Funciones de extración de información (Parte 1)

Iniciado por Miles

Respuestas: 0
Vistas: 2036
Último mensaje 24 de Julio de 2012, 20:17
por Miles