101Level - Foro

[Guía] Funciones de extración de información (Parte 4 - Refinamiento y armas)

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 4 - Refinamiento y armas)
Realizada por: Miles


[Introducción]

Esta guía tratara sobre las funciones que tiene que ver con refinamiento y armas.
Algunas de estas funciones nos sirven para crear un script de refinamiento. Recordando, estas función extrae información, no modifican nada.

Es importante recalcar que en esta guía, para fines practicos, en los ejemplos se mostrara nada mas la función de extración de información.
Otro comando no sera mostrado en los ejemplos.
Esos seran vistos en otra guía.




getequipisenableref(<slot equipamiento>)         [Integer]

La función regresara 1 si el item del slot selecionado del personaje es Refinable, de lo contrario regresara 0.
A continuación la lista de slots existentes:

slot equipamiento (alternativa)Descripción
EQI_HEAD_TOP (1)Equipo del Top Head
EQI_ARMOR (2)Armadura (Armor)
EQI_HAND_L (3)Mano izquierda (Left Hand)
EQI_HAND_R (4)Mano derecha (Right Hand)
EQI_GARMENT (5)Slot de Garment (Como Mufflers, Hoods, Manteaus)
EQI_SHOES (6)Zapatos
EQI_ACC_L (7)Accesorio Izquierdo (Accessory 1)
EQI_ACC_R (8)Accesorio Derecho (Accessory 2)
EQI_HEAD_MID (9)Equipo del Middle Headgear
EQI_HEAD_LOW (10)Equipo del Lower Headgear

Un ejemplo de esta función:

Código: [Seleccionar]
if (getequipisenableref(EQI_HAND_R)) {
mes "Tu puedes refinar esta arma.";
close;
}
mes "Pero si no puedes refinar esta arma...";
close;


   
getequiprefinerycnt(<slot equipamiento>)         [Integer]

Se puede tomar como referencia la tabla de la función de getequipisenableref como referencia para los slots de esta función.
Esta función regresa como valor las veces que el item fue refinado.
De esta forma podemos determinar cuando un item ha alcanzado su nivel maximo de refinamiento.
(tomamos en cuenta que el nivel maximo de refinamiento del servidor es 10).

Código: [Seleccionar]
if(getequiprefinerycnt(EQI_HEAD_TOP) == 10) {
mes "Parece que no puede refinar mas tu Hat.";
close;
}
mes "Aun puedes refinar tu Hat, recuerda que solo puedes refinarlo hasta nivel 10.";
close;



getequipweaponlv(<slot equipamiento>)         [Integer]

Se puede tomar como referencia la tabla de la función de getequipisenableref como referencia para los slots de esta función.
Esta función regresa como valor el nivel del arma actualmente equipada en el slot seleccionado.
Debido a que esta función sirve unicamente con armas (ya que las armas son las unicas que tienen nivel).
De igual manera, se pueden obtener el de cualquier slot, sin embargo no se puede esperar un resultado deseado.
Si no se tiene equipado nada en ese slot, la función regresara 0.

Código: [Seleccionar]
switch(getequipweaponlv(EQI_HAND_R)) {
case 1:
mes "Tienes una arma de Nivel 1"; break;
case 2:
mes "Tienes una amra de Nivel 2"; break;
case 3:
mes "Tienes una arma de Nivel 3"; break;
case 4:
mes "Tienes una arma de Nivel 4"; break;
default:
mes "Parece que no traes equipada ninguna arma."; break;
}
close;



getequippercentrefinery(<slot equipamiento>)         [Integer]

Está función calcula y regresa el porcentaje de refinamiento exitoso en el item del slot actualmente selecionado.
No existe una formula para calcular un refinamiento exitoso. El porcentaje para un cierto nivel de arma con un cierto nivel de refinamiento puede ser encontrado en:

../db/refine_db.txt

La función sirve para ver cuando porcentaje de exito tiene la arma/armadura para poderla refinar.
La forma de uso en los scripts de refinamiento oficiales son:

Código: [Seleccionar]
if (getequippercentrefinery(EQI_HAND_L)<=rand(100)) {
mes "Fallaste. No se pudo refinar.";
close;
}
mes "Fue un exito. Se refino.";
close;



getequipcardcnt(<equipment slot>)         [Integer]

Esta función no es de refinamiento, pero es de armas.
La función es simple, regresa el numero de cartas que se encuentran en la arma del slot seleccionado.
Por ejemplo:

Código: [Seleccionar]
if (getequipcardcnt(EQI_ARMOR) != 0) {
mes "Parece que tienes unas cartas en tu armadura.";
close;
}
mes "No tienes una carta en tu armadura...";
close;



cardscnt()         [Integer]

Es la simplificación de la función anterior.
Solo regresa el valor de las cartas que se encuentra en la arma.
El proposito de esta función es el de ser usada en Item Script. Pero tambien pueden ser usadas fuera de un Item.

Código: [Seleccionar]
if (cardscnt()==4) {
mes "Parece que tienes 4 cartas en tu arma. Debes de ser una persona que colecciona muchas cartas.",
close;
}
mes "Asi que no tienes ninguna carta en tu arma. Lastima...";
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 1)

Iniciado por Miles

Respuestas: 0
Vistas: 2042
Último mensaje 24 de Julio de 2012, 20:17
por Miles
[Guía] Funciones de extración de información (Parte 2 - Party)

Iniciado por Miles

Respuestas: 0
Vistas: 1232
Último mensaje 24 de Julio de 2012, 20:32
por Miles
[Guía] Funciones de extración de información (Parte 3 - Items y armamento)

Iniciado por Miles

Respuestas: 0
Vistas: 1276
Último mensaje 29 de Julio de 2012, 15:35
por Miles