Ultima Online en Español
Bienvenido a Ultima Online en Español. Por favor, regístrate o entra con tu cuenta.

Saludos.

El equipo del Foro.
Últimos temas
» Inception busca scripter.
Jue 31 Dic 2015 - 2:20 por Lethal

» Equipo para Servidor
Mar 3 Nov 2015 - 13:39 por Kork

» Busco un buen scripter para proyecto server pvp
Dom 19 Jul 2015 - 3:57 por rastrero

» Ultima Azteca
Lun 29 Jun 2015 - 3:31 por chronoMx

» AYUDA SCRIPT
Mar 3 Mar 2015 - 3:35 por rastrero

» NuevaUO (BUSCA COLABORADORES)
Lun 6 Oct 2014 - 10:46 por pushim

» Ultima Alianza
Sáb 26 Jul 2014 - 14:32 por Jecht

» Versiones de Cliente
Mar 22 Jul 2014 - 2:52 por Lethal

» Insane World
Sáb 19 Jul 2014 - 18:00 por Lethal

Staff
Admin Oupman [Fundador]
Lethal [Administrador] Inferno Networks
Rastrero [Administrador]
Mr.H (Moderador)
Servidores

Armors+Event+Disfuncional

Ir abajo

Armors+Event+Disfuncional

Mensaje por Mr.H el Dom 20 Mar 2011 - 22:28

Bueno, hace u ntiempo consulte sobre como hacer armors con propiedades, y me ayudaron Ludgan, Floyd y V8, bueno quiero anunciar que los termine y todo, peero, no me funcionan xD....



Código:
[EVENTS e_oscuro]
on=spelleffect
IF (<ARGN> == s_flamestrike)
 EMOTE *Tu armadura absorve el hechizo*
        RETURN 1
endif
return 0

/////////////////////////////////////////////////////////
/////////Funciones de nuevas armors///////
/////////////////////////////////////////////////////////
[FUNCTION ARMADURA_oscuro_COMPLETA]
if ((<findlayer.7.i_Oscuro_gloves>)&&(<findlayer.10.i_Oscuro_gorget>)&&(<findlayer.6.i_Oscuro_cap>)&&(<findlayer.24.i_Oscuro_leggings>)&&(<findlayer.19.i_Oscuro_sleeves>)&&(<findlayer.13.i_Oscuro_tunic>))
 return 1
endif

Esta es la propiedad para una armor de cuero oscuro


Y esta de aca es la armor de cuero oscuro:

Código:
[ITEMDEF i_Oscuro_sleeves]
NAME=Brazos de Cuero Oscuro
ID=i_leather_sleeves
TYPE=t_armor_leather
RESOURCES=4 i_hides_cut_Oscuro
SKILLMAKE=TAILORING 89.9, t_sewing_kit
ARMOR=49
WEIGHT=6
FLIP=1
REQSTR=10

CATEGORY=Provisions - Armor
SUBSECTION=Oscuro Armor
DESCRIPTION=Oscuro Sleeves

ON=@Create
HITPOINTS={25 30}
COLOR=color_o_blackrock

ON=@Equip
IF (<SRC.ARMADURA_oscuro_COMPLETA>)
  SRC.EVENTS +e_oscuro
endif 

ON=@UNEQUIP
SRC.EVENTS -e_oscuro

[ITEMDEF i_Oscuro_cap]
NAME=Capucha de Cuero Oscuro
ID=i_leather_cap
TYPE=t_armor_leather
RESOURCES=4 i_hides_cut_Oscuro
SKILLMAKE=TAILORING 89.9, t_sewing_kit
ARMOR=49
WEIGHT=6
FLIP=1
REQSTR=10

CATEGORY=Provisions - Armor
SUBSECTION=Oscuro Armor
DESCRIPTION=Oscuro Sleeves

ON=@Create
HITPOINTS={25 30}
COLOR=color_o_blackrock

ON=@Equip
IF (<SRC.ARMADURA_oscuro_COMPLETA>)
  SRC.EVENTS +e_oscuro
endif 

ON=@UNEQUIP
SRC.EVENTS -e_oscuro

[ITEMDEF i_Oscuro_gloves]
NAME=Guantes de Cuero Oscuro
ID=i_leather_gloves
TYPE=t_armor_leather
RESOURCES=3 i_hides_cut_Oscuro
SKILLMAKE=TAILORING 89.8, t_sewing_kit
WEIGHT=1
FLIP=1
ARMOR=49
REQSTR=10

CATEGORY=Provisions - Armor
SUBSECTION=Oscuro Armor
DESCRIPTION=Oscuro Gloves

ON=@Create
HITPOINTS={25 30}
COLOR=color_o_blackrock

ON=@Equip
IF (<SRC.ARMADURA_oscuro_COMPLETA>)
  SRC.EVENTS +e_oscuro
endif 

ON=@UNEQUIP
SRC.EVENTS -e_oscuro

[ITEMDEF i_Oscuro_gorget]
NAME=Cuello de Cuero Oscuro
ID=i_leather_gorget
TYPE=t_armor_leather
RESOURCES=4 i_hides_cut_Oscuro
SKILLMAKE=TAILORING 89.9, t_sewing_kit
WEIGHT=2
FLIP=1
ARMOR=49
REQSTR=10

CATEGORY=Provisions - Armor
SUBSECTION=Oscuro Armor
DESCRIPTION=Oscuro Gorget

ON=@Create
HITPOINTS={25 30}
COLOR=color_o_blackrock

ON=@Equip
IF (<SRC.ARMADURA_oscuro_COMPLETA>)
  SRC.EVENTS +e_oscuro
endif 

ON=@UNEQUIP
SRC.EVENTS -e_oscuro

[ITEMDEF i_Oscuro_leggings]
NAME=Piernas de Cuero Oscuro
ID=i_leather_leggings
TYPE=t_armor_leather
RESOURCES=10 i_hides_cut_Oscuro
SKILLMAKE=TAILORING 89.3, t_sewing_kit
WEIGHT=6
FLIP=1
ARMOR=49
REQSTR=10

CATEGORY=Provisions - Armor
SUBSECTION=Oscuro Armor
DESCRIPTION=Oscuro Leggings

ON=@Create
HITPOINTS={25 30}
COLOR=color_o_blackrock

ON=@Equip
IF (<SRC.ARMADURA_oscuro_COMPLETA>)
  SRC.EVENTS +e_oscuro
endif 

ON=@UNEQUIP
SRC.EVENTS -e_oscuro

[ITEMDEF i_Oscuro_tunic]
NAME=Pechera de Cuero Oscuro
ID=i_leather_tunic
TYPE=t_armor_leather
RESOURCES=12 i_hides_cut_Oscuro
SKILLMAKE=TAILORING 89.5, t_sewing_kit
WEIGHT=7
FLIP=1
ARMOR=49
REQSTR=15

CATEGORY=Provisions - Armor
SUBSECTION=Oscuro Armor
DESCRIPTION=Oscuro Tunic

ON=@Create
HITPOINTS={25 30}
COLOR=color_o_blackrock

ON=@Equip
IF (<SRC.ARMADURA_oscuro_COMPLETA>)
  SRC.EVENTS +e_oscuro
endif 

ON=@UNEQUIP
SRC.EVENTS -e_oscuro


Lo que no entiendo es por que no funciona si tiene toda la pinta de hacerlo :\....

Osea el event esta creado, la funcion de chequeo de armor esta hecha, los event estan activados dentro del Equip/Unequip, no entiendoooooo !!!!
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Ludgan el Lun 21 Mar 2011 - 6:01

El problema es que cada ves que te equipas un pedazo de armadura, estas chequeando si tiene los 6 pedazos equipados, y obviamente 1 siempre te va a faltar porque es el que te estas equipando en ese momento.
Lo que tenes que chequear es, si la parte esta equipada o si la estas equipando. Aca te dejo una función general que podes usar para chequear armaduras chainmail

Código:

[FUNCTION f_check_armor_magos_2]
IF (<SRC.FINDLAYER(6).BASEID>==i_<ARGV[0]>_cap) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_cap)
IF (<SRC.FINDLAYER(7).BASEID>==i_<ARGV[0]>_gloves) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_gloves)
IF (<SRC.FINDLAYER(13).BASEID>==i_<ARGV[0]>_tunic) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_tunic)
IF (<SRC.FINDLAYER(4).BASEID>==i_<ARGV[0]>_leggings) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_leggings)
IF (<SRC.FINDLAYER(19).BASEID>==i_<ARGV[0]>_sleeves) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_sleeves)
IF (<SRC.FINDLAYER(10).BASEID>==i_<ARGV[0]>_gorget) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_gorget)
RETURN 1
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

Lo usas asi:

Código:
ON=@EQUIP
IF (0<SRC.f_check_armor_magos_2 NOMBRE,<uid>>)
SRC.EVENTS +e_loquesea
ENDIF

en nombre, en tu caso iria OSCURO.

avatar
Ludgan
Iniciado
Iniciado

Mensajes : 96
Puntos : 2982
Reputación : 20
Fecha de inscripción : 24/09/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Lun 21 Mar 2011 - 17:17

Okey, gracias por la ayuda, pero una pregunta, que es crucial y por eso no me cierra la funcion :


Que es "<ARGV[0]>" o "<ARGV[1]>" ????
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por rastrero el Lun 21 Mar 2011 - 19:59

buenas
Te voy a enseñar un pekeño truco, para saber donde falla una programacion (se puede aplicar a cualquir tipo de programacion)
Consiste en ir poniendo: "src.Msg Pasa"
en distintas partes de la funcion. Por ejemplo:

Código:
ON=@Equip
IF (<SRC.ARMADURA_oscuro_COMPLETA>)
  SRC.EVENTS +e_oscuro
  SRC.Message Pasa
endif 

Si cuando ejecutas el script saldra un mensaje sobre tu personaje diciendo: "Pasa". Si el mensaje no pasa singifica que el Condifional: "IF (<SRC.ARMADURA_oscuro_COMPLETA>)" No funciona por alguna razon.
Por lo que el fallo estaría en el propio condicional o en la Function de antes.
Asi mediante este metodo lozalizas donde esta el fallo de tu script. Asi sabes donde buscar y a parte de ahorrarte tiempo, sabras donde buscar y te resultara mas facil encontrar el error.

avatar
rastrero
Aprendiz
Aprendiz

Mensajes : 242
Puntos : 3110
Reputación : 29
Fecha de inscripción : 17/11/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Ludgan el Lun 21 Mar 2011 - 20:03

cuando llamas una funcion, podes pasarle parametros por ej src.f_funcion A,B,C,D,E,F,etc.
Y dentro de la funcion, para recuperar esos parametros usas argv[0], argv[1], etc.
avatar
Ludgan
Iniciado
Iniciado

Mensajes : 96
Puntos : 2982
Reputación : 20
Fecha de inscripción : 24/09/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Mar 22 Mar 2011 - 4:34

pero, no entendi igual, osea eso es un ejemplo ??? si yo quiero poner en lugar del :


argv[0], argv[1]


Pongo el nombre de la armor, anda igual no ???

Por que el "i_<ARGV[0]>_cap" no me dice nada :S....
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por rastrero el Mar 22 Mar 2011 - 7:43

Tamb lo puedes hacer con un tag. Muy sencillo y creo que consume menos que los scripts de arriba. Se me acaba de ocurrir pero seria algo asi:

Código:
//en todas las armaduras
ON=@Equip
IF (<SRC.TAG0.armadura>)  //chekea si el tag existe
  src.tag.armadura +=1
else
  src.tag.armadura = 1
endif 
src.ARMADURA_oscuro_COMPLETA //función

ON=@unEquip
src.event -e_armaduraoscura
IF <SRC.TAG.armadura>==1
  src.tag.armadura=    //borra el tag para liberar bits
else
  src.tag.armadura -=1
endif 

[Function ARMADURA_oscuro_COMPLETA]
if <src.tag.armadura> == 6 //son 6 partes de armadura
  src.event +e_oscuro
endif

Como funciona:
Al equiparte la primera parte de la armadura te añade un tag con valor "1"
Al ponerte las siguientes partes se ira sumando +1 a ese tag y chekea si el valor del tag es igual a 6. Si el valor del tag alcanza 6, te añade el evento del flamestrike.
Al quitarte algun cacho de armadura te quita el event automaticamente y baja el tag -1. Cuando te quites el ultimo trozo de armadura borra el tag para ahorrar memoria virtual.


edit:

por cierto me fije que tienes una cosa rara, quiza no funciona por eso, te pongo un ejemplo:

(<findlayer.7.i_Oscuro_gloves>)
(<findlayer(7).i_Oscuro_gloves>)
avatar
rastrero
Aprendiz
Aprendiz

Mensajes : 242
Puntos : 3110
Reputación : 29
Fecha de inscripción : 17/11/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Lethal el Mar 22 Mar 2011 - 15:07

Ludgan escribió:El problema es que cada ves que te equipas un pedazo de armadura, estas chequeando si tiene los 6 pedazos equipados, y obviamente 1 siempre te va a faltar porque es el que te estas equipando en ese momento.
Lo que tenes que chequear es, si la parte esta equipada o si la estas equipando.

Pero al usar @equip automaticamente no estas chequeando que te la estas equipando?.

Por ejemplo;
Código:

[FUNCTION ARMADURA_JUGGER_COMPLETA]
if (<findlayer.(7).baseid>==i_armor_jugger_gauntlets)&&(<findlayer.(10).baseid>==i_armor_jugger_gorget)&&(<findlayer.(6).baseid>==i_armor_jugger_helm)&&(<findlayer.(4).baseid>==i_armor_jugger_legs)&&(<findlayer.(19).baseid>==i_armor_jugger_arms)&&(<findlayer.(13).baseid>==i_armor_jugger_chest)
   return 1
endif

Al equipar i_armor_jugger_gauntlets se que otro itemdef no me estoy equipando y a su vez chequeo que este completa.
Si no entiendo mal, esa funcion seria si estas usando @dclick. Igualmente al ser general es hermosa, te simplifica la vida.

@rastrero
Si, el problema es el mismo que el de la funcion que agregué. Tenes que hacer una funcion por cada armadura. La de Ludgan es mas eficaz.

_________________
V8 - Lethal

"pensar en grande no cuesta nada"



Te invitamos a nuestra comunidad!.
www.adrenalinegames.com.ar
Comunidad Adrenaline Games
avatar
Lethal
Admin

Mensajes : 623
Puntos : 3599
Reputación : 36
Fecha de inscripción : 03/09/2010
Edad : 33
Localización : Argentina

Ver perfil de usuario http://www.i-networks.com.ar

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por rastrero el Mar 22 Mar 2011 - 18:43

hmm con mi sistema tieners que hacer una funcion por armadura??? que va, solo esta:

[Function ARMADURA_oscuro_COMPLETA]
if <src.tag.armadura> == 6 //son 6 partes de armadura
src.event +e_oscuro
endif


Igualmente son mas bonitos vuestras soluciones pa mi gusto.
avatar
rastrero
Aprendiz
Aprendiz

Mensajes : 242
Puntos : 3110
Reputación : 29
Fecha de inscripción : 17/11/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Ludgan el Mar 22 Mar 2011 - 18:55

@Mr.h
Ahi te deje como se usaria

Código:
ON=@EQUIP
IF (0<SRC.f_check_armor_magos_2 oscuro,<uid>>)
SRC.EVENTS +e_loquesea
ENDIF

Fijate que puse la palabra OSCURO, adelante de la funcion.

@V8
Yo lo que estoy diciendo es que si en el trigger EQUIP, chequeas si tenes equipada la parte de armadura que te estas equipando, te va a decir que no la tenes equipada. Ej, me estoy equipando i_platemail_gauntlets:

Código:
ON=@EQUIP
if (<SRC.findlayer.(7).baseid>==i_platemail_gauntlets)
SRC.SAY SI
ELSE
SRC.SAY NO
ENDIF

Va a decir "No", por eso hay que chequear las dos cosas.

Otra opcion seria por cada parte, chequear si tenes equipadas las otras 5, pero seria una funcion distinta para cada parte.

@rastrero
Chequear varias cosas cuando te equipas una armadura, consume menos que tener 6 tags todo el tiempo que tenes la armadura equipada.
avatar
Ludgan
Iniciado
Iniciado

Mensajes : 96
Puntos : 2982
Reputación : 20
Fecha de inscripción : 24/09/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Mar 22 Mar 2011 - 19:33

Sigo si nentender que catso es: "i_<ARGV[0]>_cap"" y por quen o puedo poner la ID de la fuking armor, disculpen que sea tan corto, pero hasta ahora no me explicaron/entendi por que no le pongo directamente la ID de la armor en lugar del <ARGV[0]>/<ARGV[1]> :S....


Onda, el resto si lo entendi...

Hacer una funcion que chekee correctamente la Armadura.
Activar un On@Equip/Unequip depende sea necesario.
Agregar un "mensaje" para saber cuando se active....
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Ludgan el Mar 22 Mar 2011 - 19:35

Podes ponerle directamente el nombre del armor en ves del argv, pero suponete que tenes otra armor, que se llama LOQUESEA y queres ponerle propiedades tambien, para no tener que hacer otra funcion nueva, simplemente lo que haces es en ves de poner

Código:
ON=@EQUIP
IF (0<SRC.f_check_armor_magos_2 oscuro,<uid>>)
SRC.EVENTS +e_loquesea
ENDIF

pones

Código:
ON=@EQUIP
IF (0<SRC.f_check_armor_magos_2 LOQUESEA,<uid>>)
SRC.EVENTS +e_loquesea
ENDIF

Es simplemente para ahorrar trabajo
avatar
Ludgan
Iniciado
Iniciado

Mensajes : 96
Puntos : 2982
Reputación : 20
Fecha de inscripción : 24/09/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Mar 22 Mar 2011 - 20:02

<ARGV[0]>/<ARGV[1]>

Seria un "espacio en blanco" que se reemplaza con :
IF (0<SRC.f_check_armor_magos_2 oscuro,<uid>>) ?????
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Mar 22 Mar 2011 - 20:07

Pd: paso a explicar, que 1 y solo 1 armor de mi server va a tener la propiedad esa, a lo mejor cree otras, pero con propiedades distintas, por lo tanto pondre las Id`s, no ?... dado que no va a haber copia de esa "propiedad"...
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Ludgan el Mar 22 Mar 2011 - 20:10

Justamente, por mas que tengan propiedades distintas, la función te sirve igual.
avatar
Ludgan
Iniciado
Iniciado

Mensajes : 96
Puntos : 2982
Reputación : 20
Fecha de inscripción : 24/09/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Mar 22 Mar 2011 - 20:12

Ahora entiendo xD jajajajajajaja listo, Muchas gracias y disculpen :$ !!!!!
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Mar 22 Mar 2011 - 20:33

En caso de desequipar:

ON=@EQUIP
IF (0<SRC.f_check_armor_magos_2 loquesea,<uid>>)
SRC.EVENTS +e_loquesea
ENDIF

ON=@UNEQUIP
SRC.EVENTS -e_loquesea
ENDIF



Ahi quedaria nomas no ?
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Mar 22 Mar 2011 - 22:10

Ya edite las funciones, hice 2 nada mas:

Una con las armros de cueros (f_check_armor_magos)

Y otro para las armors platemail ( f_check_armor_warriors)

Cuando equipo la armadura completa sigue sin pasar nada,

ON=@EQUIP
IF (0<SRC.f_check_armor_warrior Mytheril,<uid>>)
SRC.EVENTS +e_mytheril
Src.Say Puedo sentir su proteccion
ENDIF

ON=@UNEQUIP
SRC.EVENTS -e_mytheril
Src.Say Me avandona toda proteccion

Eso agrague en todas y cada una de las piezas de la armor, cada vez que me saco una pieza de la armor se puede leer el "Me avandona toda proteccion" pero cuando la completo, no me aparece el "Puedo sentir su proteccion"...

avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Ludgan el Miér 23 Mar 2011 - 2:15

Postea las funciones
avatar
Ludgan
Iniciado
Iniciado

Mensajes : 96
Puntos : 2982
Reputación : 20
Fecha de inscripción : 24/09/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Lethal el Miér 23 Mar 2011 - 4:44

Ludgan escribió:@Mr.h
Ahi te deje como se usaria

Código:
ON=@EQUIP
IF (0<SRC.f_check_armor_magos_2 oscuro,<uid>>)
SRC.EVENTS +e_loquesea
ENDIF

Fijate que puse la palabra OSCURO, adelante de la funcion.

@V8
Yo lo que estoy diciendo es que si en el trigger EQUIP, chequeas si tenes equipada la parte de armadura que te estas equipando, te va a decir que no la tenes equipada. Ej, me estoy equipando i_platemail_gauntlets:

Código:
ON=@EQUIP
if (<SRC.findlayer.(7).baseid>==i_platemail_gauntlets)
SRC.SAY SI
ELSE
SRC.SAY NO
ENDIF

Va a decir "No", por eso hay que chequear las dos cosas.

Otra opcion seria por cada parte, chequear si tenes equipadas las otras 5, pero seria una funcion distinta para cada parte.

@rastrero
Chequear varias cosas cuando te equipas una armadura, consume menos que tener 6 tags todo el tiempo que tenes la armadura equipada.

Es que en realidad esas funciones estan chequeando si las otras piesas estan equipadas. Chequear si estas equipando una piesa que esta equipada no le veo sentido, salvo que entre equip a equip se buguee el modar, que no me extrañaria. Igualmente voy a probar las funciones, por que hablo sin ponerlo en practica.

_________________
V8 - Lethal

"pensar en grande no cuesta nada"



Te invitamos a nuestra comunidad!.
www.adrenalinegames.com.ar
Comunidad Adrenaline Games
avatar
Lethal
Admin

Mensajes : 623
Puntos : 3599
Reputación : 36
Fecha de inscripción : 03/09/2010
Edad : 33
Localización : Argentina

Ver perfil de usuario http://www.i-networks.com.ar

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Miér 23 Mar 2011 - 4:53

Chekeo de armaduras warrior
Código:
[FUNCTION f_check_armor_warrior]
IF (<SRC.FINDLAYER(6).BASEID>==i_<ARGV[0]>_platemail_helm) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_platemail_helm)
IF (<SRC.FINDLAYER(7).BASEID>==i_<ARGV[0]>_platemail_gauntlets) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_platemail_gauntlets)
IF (<SRC.FINDLAYER(13).BASEID>==i_<ARGV[0]>_PLATEMAIL) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_PLATEMAIL)
IF (<SRC.FINDLAYER(4).BASEID>==i_<ARGV[0]>_PLATEMAIL_leggings) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_PLATEMAIL_leggings)
IF (<SRC.FINDLAYER(19).BASEID>==i_<ARGV[0]>_PLATEMAIL_ARMS) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_PLATEMAIL_ARMS)
IF (<SRC.FINDLAYER(10).BASEID>==i_<ARGV[0]>_platemail_gorget) || (<UID.<ARGV[1]>.BASEID>==i_<ARGV[0]>_platemail_gorget)
RETURN 1
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

Id`s de una armor:
Código:
i_Breastorm_PLATEMAIL_ARMS
i_Breastorm_PLATEMAIL_leggings
i_Breastorm_PLATE_HELM
i_Breastorm_PLATEMAIL_GORGET
i_Breastorm_PLATEMAIL_GAUNTLETS
i_Breastorm_PLATEMAIL
i_Breastorm_HEATER_SHIELD

Pieza de una armor:
Código:
[ITEMDEF i_Breastorm_PLATEMAIL]
DEFNAME=i_Breastorm_PLATEMAIL
NAME=Breastorm Platemail
ID=i_platemail_chest
ARMOR=99
REQSTR=60
WEIGHT=10
CATEGORY=Provisions - Armor - Colored
SUBSECTION=Breastorm
DESCRIPTION=Platemail
RESOURCES=25 i_ingot_Breastorm
SKILLMAKE=BLACKSMITHING 82

ON=@Create
   COLOR=color_o_breastorm
   HITPOINTS=51

ON=@EQUIP
IF (0<SRC.f_check_armor_warrior Breastorm,<uid>>)
SRC.EVENTS +e_Breastorm
src.sysmessage Equipas completamente la armadura Breastorm
ENDIF

ON=@UNEQUIP
SRC.EVENTS -e_Breastorm
src.sysmessage Desequipas completamente la armadura Breastorm

Event de la Breastorm
Código:
[EVENTS e_Breastorm]
on=spelleffect
IF (<ARGN> == s_pain_spike)
 EMOTE *Tu armadura absorve el hechizo*.
        RETURN 1
endif
return 0


Osea, hice todo tal cual me recomendaron y la verdad que no pasa naranja.....


Ahora, por que a mi no me funcionan las cosas xD jajajaj el Skillmenu no me funco, esto tampoco, dios tengo mala suerte :\...

avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Ludgan el Miér 23 Mar 2011 - 23:51

Es que justamente la pieza no esta equipada todavia.

MR.H

En la funcion pusiste platemail_helm y la armor es plate_helm

avatar
Ludgan
Iniciado
Iniciado

Mensajes : 96
Puntos : 2982
Reputación : 20
Fecha de inscripción : 24/09/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Jue 24 Mar 2011 - 0:56

Fuck xD... mcuhas gracias Very Happy ! .... ahora lo pruebo Smile !
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Mr.H el Jue 24 Mar 2011 - 19:57

Con las armors de magos anda de 10 con la de warriors sigue sin andar ahroa veo que odna con las Id, a lo mejro alguna otra se traspapelo !
avatar
Mr.H
Moderador

Mensajes : 474
Puntos : 3474
Reputación : 13
Fecha de inscripción : 29/08/2010
Edad : 26
Localización : Frente al monitor
Empleo /Ocio : Estudiante.

Ver perfil de usuario

Volver arriba Ir abajo

Re: Armors+Event+Disfuncional

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.