Tamaño del Texto:
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
 

Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: [npc] random item y recall party  (Leído 74 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Morfey
Posteador
**

Reputacion: 13
Desconectado Desconectado

Mensajes: 78
Miembro Nº: 2093




Última visita: 29 de Agosto de 2008, 11:58:50
« : 06 de Abril de 2008, 06:52:47 »

mi dudan es:

como puedo acer que un npc me de un item random??

por ejemplo, le paso 30 poring conin

y el npc tiene el

50% de darme una carrot

y el otro 50% me puede dar una apple

existe tal codigo para que se pueda acer??
------------------------------

lo otro, como puedo acerle recall con un npc a una party??


de antemano gracias
« Última modificación: 06 de Abril de 2008, 07:05:27 por Morfey » En línea
DivineRO :: Foro :: Ragnarok Online
« : 06 de Abril de 2008, 06:52:47 »

 En línea
Dolbar
Posteador Habitual
***

Reputacion: 10
Desconectado Desconectado

Sexo: Masculino
Mensajes: 136
Miembro Nº: 2842





Última visita: Hoy a las 12:59:59
« Respuesta #1 : 06 de Abril de 2008, 11:36:48 »

con respecto a lo del item:


set @prob,rand(10);

if(@prob<5){
   getitem ID,cantidad;
}
else{
   getitem ID,cantidad;
}


con lo del recall a la party no se, sorry
« Última modificación: 06 de Abril de 2008, 11:38:20 por Dolbar, Reason: correcion » En línea



Morfey
Posteador
**

Reputacion: 13
Desconectado Desconectado

Mensajes: 78
Miembro Nº: 2093




Última visita: 29 de Agosto de 2008, 11:58:50
« Respuesta #2 : 07 de Abril de 2008, 01:56:00 »

no entendi lo de
}
else{
   getitem ID,cantidad;
}

para que es else??
la probavilidad de que salga un item es 5?? ["@prob<5"]

a que se refiere el 10 de ["@prob,rand(10);"]

para agregar otros item debo copiar las ultimas lineas??'


sorry por tanta pregunta, es que quiero aprender como funciona el comando ya que al integrarlo no funciono u.u

de antemano gracias
En línea
Dolbar
Posteador Habitual
***

Reputacion: 10
Desconectado Desconectado

Sexo: Masculino
Mensajes: 136
Miembro Nº: 2842





Última visita: Hoy a las 12:59:59
« Respuesta #3 : 07 de Abril de 2008, 02:08:06 »

ok deja lo explico:

con el set @prob,rand(9); (aquí me diculpo debi haber puesto un 9 en vez del 10) lo que haces es darle un valor random a la variable @prob, el cual puede ser cualquier numero entre el 0 y el 9

ahora si por ejemplo el valor que obtenga esa variable esté entre el 0 y el 4  hara lo que éste dentro del if

Código:
if(@prob<5){
   getitem ID,cantidad;
}

esto es porque si puede ser cualquier numero entre el 0 y el 9 tienes un 50% de probabilidad que el numero que obtengas éste por debajo del 5 (o sea desde el 0 hasta el 4), y otro 50% de probabilidad de que el el numero esté entre el 5 y el 9,

entonces si el numero que obtengas no se encuentra entre 0 y 4, es decir que sea 5,6,7,8 u 9 hará lo que está dentro del else

Código:
else{
   getitem ID,cantidad;
}

o sea lo del if y el else es esto

si (condicion sea verdadera){
    hacer esto;
}
si no{  // la condicion anterior resultó falsa
    hacer esto otro;
}

ahora... si quieres agregar mas items... puedes hacer esto:

supon que quieres el npc te puede dar uno de cuatro items, entonces cada item tiene un 25% de que sea el que se te dará, así pues:

set @prob,rand(3)  // aquí te dara un numero al azar entre 0 y 3, o sea que cada numero tiene un 25% de chance de que sea seleccionado

ahora la seleccion para la entrega del item

if (@prob==0)
{
getitem ID,cantidad; //recuerda que el ID es el Id del item de la item_db.txt
close;
}
if (@prob==1)
{
getitem ID,cantidad;
close;
}
if (@prob==2)
{
getitem ID,cantidad;
close;
}
if (@prob==3)
{
getitem ID,cantidad;
close;
}
« Última modificación: 07 de Abril de 2008, 02:16:33 por Dolbar » En línea



Morfey
Posteador
**

Reputacion: 13
Desconectado Desconectado

Mensajes: 78
Miembro Nº: 2093




Última visita: 29 de Agosto de 2008, 11:58:50
« Respuesta #4 : 07 de Abril de 2008, 03:54:09 »

el rand, no puede cer mas de 9?? o puede ser 11 12 o lo que quiera??

como le ago para que si me sale solo un nomero aga algo onda algo como esto:

(numero 1)
             getitem 12916,1;
(numero 2)
             getitem 12913,1;
(numero 3)
             getitem 12914,1;
y asi Sucesivamente
En línea
Morfey
Posteador
**

Reputacion: 13
Desconectado Desconectado

Mensajes: 78
Miembro Nº: 2093




Última visita: 29 de Agosto de 2008, 11:58:50
« Respuesta #5 : 07 de Abril de 2008, 04:23:06 »

sorry por el doble post
En línea
Dolbar
Posteador Habitual
***

Reputacion: 10
Desconectado Desconectado

Sexo: Masculino
Mensajes: 136
Miembro Nº: 2842





Última visita: Hoy a las 12:59:59
« Respuesta #6 : 07 de Abril de 2008, 05:02:13 »

el rand() es un comando que devuelve un valor entre un rango de numeros y funciona de la siguiente forma:

rand(x)   // devuelve un valor cualquiera que se encuentra entre 0 y X
rand(x,z) // devuelve un valor cualquiera que se encuentre entre x y z

supongamos que quieres hacer un npc que te de un item cualquiera de la database, el 1er item de la databa tiene el id 501 y supongamos que el ultimo tiene el id 14000

pones por ejemplo

set @obtener,rand(501,14000);
getitem @obtener,1;

entonces cuando un usuario hable con el npc, el npc le dará un valor a la variable @obtener que se encontrará entre 501 y 14000, supongamos que le dio el valor de 1261... entonces quiere decir que el usuario que habló con el npc obtendrá una infiltrator


si lo que deseas es que el npc te de un item predefinido por ti, dentro de un grupo de items:

supongamos que el npc te puede dar cualquiera de los siguientes items

  • Infiltrator
  • Pole Axe
  • War Axe
  • Valkyrie Shield

pones algo como ésto

set @variable,random(1,4); //porque són sólo 4 items
if (@variable==1) getitem 1261,1; // los numeros son ID del item , cantidad
if (@variable==2) getitem 1417,1;
if (@variable==3) getitem 1306,1;
if (@variable==4) getitem 2115,1;

si quieres por ejemplo en algun item custom que hagas...

supongamos que quieres ahcer un item como una pocion o una yggdrassil berry, que si la usas muchas veces en vez de curarte te penalize con una perdida del 99% de tu HP y SP, con lo cual tendríamos algo como esto en la parte del script del item:

percentheal 100,100; if (rand(1000)>=990) percentheal -99,-99;

esto quiere decir que 1ro te restaura todo tu HP y SP, y tiene una probabilidad del 1% de que te deje sólo el 1% de tu HP y SP

es algo así como el efecto de las potato que si las comes demasiado te dan stun

Código:
if(rand(1000)<15) sc_start SC_Stun,3000,0;
En línea



Morfey
Posteador
**

Reputacion: 13
Desconectado Desconectado

Mensajes: 78
Miembro Nº: 2093




Última visita: 29 de Agosto de 2008, 11:58:50
« Respuesta #7 : 07 de Abril de 2008, 06:36:32 »

grax por la explicacion tan detallada ^^

ahora si entendi revien
En línea
Dolbar
Posteador Habitual
***

Reputacion: 10
Desconectado Desconectado

Sexo: Masculino
Mensajes: 136
Miembro Nº: 2842





Última visita: Hoy a las 12:59:59
« Respuesta #8 : 07 de Abril de 2008, 05:47:17 »

de nada, es un gusto poder ayudar cuando se puede  NO1
En línea



Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Powered by SMF 1.1.5 | SMF © 2006, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks

BlueSkies design by Bloc, editado por eves para DivineRO | XHTML | CSS

Página creada en 0.109 segundos con 21 consultas.


Google visitó por ultima vez esta pagina 27 de Julio de 2008, 02:47:51