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.

Unirse al foro, es rápido y fácil

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.
Ultima Online en Español
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Últimos temas
» Inception busca scripter.
Duda con el Healing EmptyJue 31 Dic 2015 - 2:20 por Lethal

» Equipo para Servidor
Duda con el Healing EmptyMar 3 Nov 2015 - 13:39 por Kork

» Busco un buen scripter para proyecto server pvp
Duda con el Healing EmptyDom 19 Jul 2015 - 3:57 por rastrero

» Ultima Azteca
Duda con el Healing EmptyLun 29 Jun 2015 - 3:31 por chronoMx

» AYUDA SCRIPT
Duda con el Healing EmptyMar 3 Mar 2015 - 3:35 por rastrero

» NuevaUO (BUSCA COLABORADORES)
Duda con el Healing EmptyLun 6 Oct 2014 - 10:46 por pushim

» Ultima Alianza
Duda con el Healing EmptySáb 26 Jul 2014 - 14:32 por Jecht

» Versiones de Cliente
Duda con el Healing EmptyMar 22 Jul 2014 - 2:52 por Lethal

» Insane World
Duda con el Healing EmptySáb 19 Jul 2014 - 18:00 por Lethal

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

Duda con el Healing

5 participantes

Ir abajo

Duda con el Healing Empty Duda con el Healing

Mensaje por ertoni Lun 19 Dic 2011 - 20:32

tengo un script de healing, y me cura automaticamente, como podría hacer que tardase X segundos en curar, y no cure inmediatamente? Gracias de Antemano.

ertoni
Iniciado
Iniciado

Mensajes : 36
Puntos : 4742
Reputación : -7
Fecha de inscripción : 24/06/2011

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por Amaraco1 Lun 19 Dic 2011 - 20:56

Yo lo tengo con un chequeo de dex, te dejo un ejemplo:

Spoiler:

Amaraco1
Iniciado
Iniciado

Mensajes : 45
Puntos : 4888
Reputación : 4
Fecha de inscripción : 26/02/2011

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por ertoni Lun 19 Dic 2011 - 21:26

Si, pero la cuestión, es que nosé donde está para que sea instantaneo, jaja.

Dejo aqui el Script

[ITEMDEF 0e21]
DEFNAME=i_bandage
RESOURCES=i_cloth
TYPE=T_BANDAGE
WEIGHT=.1
DUPELIST=0ee9
CATEGORY=Items by Professions
SUBSECTION=Healer
DESCRIPTION=Clean Bandages

ON=@TARGON_CHAR

IF !(<SRC.RESTEST 1 i_bandage>)
SRC.SYSMESSAGE @0799 Usted no tiene vendas para curar.
RETURN 1
ENDIF

IF (<SRC.RESTEST 1 i_mem_healing>)
SRC.SYSMESSAGE @07ad Debera esperar 2 segundos para la proxima cura!
RETURN 1
ENDIF

IF (<SRC.TARG.DISTANCE> > 2)
SRC.SYSMESSAGE @0799 Usted esta demasiado lejos para aplicar las vendas a <SRC.TARG.NAME>!
SRC.TARG.SYSMESSAGE <SRC.NAME> attempts to apply bandages on you, but you are too far away!
RETURN 1
ENDIF

//IF !((<SRC.TARG.ID>==c_ghost_man) || (<SRC.TARG.ID>==c_ghost_woman) || (<SRC.TARG.ID>==c_man) || (<SRC.TARG.ID>==c_woman))
//RETURN 0
//ENDIF

SRC.ANIM=19

//IF (((<SRC.TARG.ID>==c_ghost_man) || (<SRC.TARG.ID>==c_ghost_woman)) && (<SRC.TARG.REGION.FLAGS>==09092))
http://SRC.SYSMESSAGE @0799 Nose puede resucitar a nadie que este cerca o dentro de una casa.
//RETURN 1

//ELSE
IF (((<SRC.TARG.ID>==c_ghost_man) || (<SRC.TARG.ID>==c_ghost_woman)) && !(<SRC.RESTEST 10 i_BANDAGE>))
SRC.SYSMESSAGE You attempt to resurrect <SRC.TARG.NAME>, but need 10 bandages to do so.
SRC.TARG.SYSMESSAGE @0799 <SRC.NAME> Intenta resucitarlo pero falla.
RETURN 1

ELSEIF (((<SRC.TARG.ID>==c_ghost_man) || (<SRC.TARG.ID>==c_ghost_woman)) && (<SRC.HEALING> <85.0))
SRC.SYSMESSAGE You attempt to resurrect <SRC.TARG.NAME>, but fail. You are not trained enough.
SRC.TARG.SYSMESSAGE <SRC.NAME> attemps to resurrect you, but fails!
RETURN 1

ELSEIF ((<SRC.HITS> < 41) && ((<SRC.TARG.ID>==c_ghost_woman) || (<SRC.TARG.ID>==c_ghost_man)))
SRC.SYSMESSAGE You attempt to resurrect <SRC.TARG.NAME>, but takes 40 HITPOINTS to do so!
SRC.TARG.SYSMESSAGE <SRC.NAME> attemps to resurrect you, but fails!
RETURN 1

ELSEIF ((<SRC.TARG.ID>==c_ghost_man) || (<SRC.TARG.ID>==c_ghost_woman))

IF ((<SRC.HEALING><95.0) && (<SRC.HEALING>>=90.0))

IF RAND(4) == 1

SRC.SYSMESSAGE @0799 Usted no puede resucitar a <SRC.TARG.NAME>!
SRC.TARG.SYSMESSAGE @0799 <SRC.NAME> falla al resucitarle.
SRC.TAG.HEALINGRESULT=0
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP
ELSE

SRC.SYSMESSAGE @0799 Usted no puede resucitar a <SRC.TARG.NAME>!
SRC.TARG.SYSMESSAGE @0799 <SRC.NAME> falla al resucitarle.

SRC.EMOTE resurrect <SRC.TARG.NAME>
SRC.TARG.RESURRECT
SRC.TARG.CONSUME 1 i_deathshroud

SRC.HITS=<SRC.HITS>+ -40
SRC.TAG.HEALINGRESULT=1
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP

ENDIF

ELSEIF ((<SRC.HEALING><100.0) && (<SRC.HEALING>>=95.0))

IF RAND(2) == 1

SRC.SYSMESSAGE @0799 Usted no puede resucitar a <SRC.TARG.NAME>!
SRC.TARG.SYSMESSAGE @0799 <SRC.NAME> falla al resucitarle.
SRC.TAG.HEALINGRESULT=0
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP
ELSE

SRC.SYSMESSAGE @0799 Usted no puede resucitar a <SRC.TARG.NAME>!
SRC.TARG.SYSMESSAGE @0799 <SRC.NAME> falla al resucitarle.

SRC.EMOTE resurrect the <SRC.TARG.NAME>
SRC.TARG.RESURRECT
SRC.TARG.CONSUME 1 i_deathshroud

SRC.HITS=<SRC.HITS>+ -40
SRC.TAG.HEALINGRESULT=1
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP

ENDIF

ELSEIF (<SRC.HEALING>==100.0)

IF RAND(1) == 1

SRC.SYSMESSAGE @0799 ha fallado al resucitar a <SRC.TARG.NAME>!
SRC.TARG.SYSMESSAGE @0799 <SRC.NAME> falla al resucitar.
SRC.TAG.HEALINGRESULT=0
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP
ELSE

SRC.SYSMESSAGE @07a1 Usted resucita a <SRC.TARG.NAME>!
SRC.TARG.SYSMESSAGE @07ad <SRC.NAME> le ha resucitado.

SRC.EMOTE resurrect the <SRC.TARG.NAME>
SRC.TARG.RESURRECT
SRC.TARG.CONSUME 1 i_deathshroud

SRC.HITS=<SRC.HITS>+ -40
SRC.TAG.HEALINGRESULT=1
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP

ENDIF
ENDIF

IF (<SRC.TAG.HEALINGRESULT>==1)

SRC.CONSUME 10 i_BANDAGE

SRC.NEWITEM=i_bandage_bloody
SRC.ACT.AMOUNT=10
SRC.ACT.BOUNCE

ELSE
SRC.CONSUME 10 i_BANDAGE

ENDIF

IF (<SRC.HEALING><1000)
IF RAND(40) == 1
SRC.HEALING=<SRC.HEALING>+<eval {1 20 2 1}>
IF (<SRC.HEALING>>1000)
SRC.HEALING=1000
ENDIF
ENDIF
ENDIF
RETURN 1

ELSEIF (<SRC.TARG.HITS>>=<SRC.TARG.STR>)

IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE <SRC.TARG.NAME> does not require you to heal <SRC.TARG.SEX him/her>!
ELSE
SRC.SYSMESSAGE @07ad No requiere cura!
ENDIF
RETURN 1
ENDIF

///////////////////////////////
///////////////////////////////

IF (<SRC.HEALING><=330)

IF RAND(2) == 1

SRC.TAG.HEALINGRESULT=0
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP
IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE You heal <SRC.TARG.NAME> poorly.
SRC.TARG.SYSMESSAGE <SRC.NAME> heals you poorly.
SRC.TARG.HITS=<SRC.TARG.HITS>+ 1

ELSE
SRC.SYSMESSAGE You heal yourself poorly.
ENDIF

ELSE
SRC.TAG.HEALINGRESULT=1
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP
TIMER=4
SRC.EVENTS=e_healing
IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE You heal <SRC.TARG.NAME>.
SRC.TARG.SYSMESSAGE <SRC.NAME> heals you.

ELSE
SRC.SYSMESSAGE You heal yourself.
ENDIF

SRC.TARG.SPELLEFFECT=s_CURE,1000
SRC.TARG.HITS=<SRC.TARG.HITS>+((<SRC.HEALING>/2)/20)
TIMER=4
SRC.EVENTS=e_healing
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP

ENDIF

ELSEIF ((<SRC.HEALING><=660) && (<SRC.HEALING>>330))
IF RAND(4) == 1
SRC.TAG.HEALINGRESULT=0
IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE You heal <SRC.TARG.NAME> poorly.
SRC.TARG.SYSMESSAGE <SRC.NAME> heals you poorly.
SRC.TARG.HITS=<SRC.TARG.HITS>+ 1
SRC.TAG.HEALINGRESULT=0

ELSE
SRC.SYSMESSAGE You heal yourself poorly.
SRC.TAG.HEALINGRESULT=0
ENDIF

ELSE
SRC.TAG.HEALINGRESULT=1
IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE You heal <SRC.TARG.NAME>.
SRC.TARG.SYSMESSAGE <SRC.NAME> heals you.
SRC.TAG.HEALINGRESULT=1

ELSE
SRC.SYSMESSAGE You heal yourself.
SRC.TAG.HEALINGRESULT=1
ENDIF

SRC.TARG.SPELLEFFECT=s_CURE,1000
SRC.TARG.HITS=<SRC.TARG.HITS>+((<SRC.HEALING>/2)/20)
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP

ENDIF

ELSEIF ((<SRC.HEALING><=999) && (<SRC.HEALING>>660))
IF RAND(7) == 1
SRC.TAG.HEALINGRESULT=0
IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE You heal <SRC.TARG.NAME> poorly.
SRC.TARG.SYSMESSAGE <SRC.NAME> heals you poorly.
SRC.TARG.HITS=<SRC.TARG.HITS>+ 1
SRC.TAG.HEALINGRESULT=0

ELSE
SRC.SYSMESSAGE You heal yourself poorly.
SRC.TAG.HEALINGRESULT=0
ENDIF

ELSE
SRC.TAG.HEALINGRESULT=1
IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE You heal <SRC.TARG.NAME>.
SRC.TARG.SYSMESSAGE <SRC.NAME> heals you.
SRC.TAG.HEALINGRESULT=1

ELSE
SRC.SYSMESSAGE You heal yourself.
SRC.TAG.HEALINGRESULT=1
ENDIF

SRC.TARG.SPELLEFFECT=s_CURE,1000
SRC.TARG.HITS=<SRC.TARG.HITS>+((<SRC.HEALING>/2)/20)
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP

ENDIF

ELSEIF (<SRC.HEALING>==1000)
IF RAND(9) == 1
SRC.TAG.HEALINGRESULT=0
IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE You heal <SRC.TARG.NAME> poorly.
SRC.TARG.SYSMESSAGE <SRC.NAME> heals you poorly.
SRC.TARG.HITS=<SRC.TARG.HITS>+ 1
SRC.TAG.HEALINGRESULT=0

ELSE
SRC.SYSMESSAGE You heal yourself poorly.
SRC.TAG.HEALINGRESULT=0
ENDIF

ELSE
SRC.TAG.HEALINGRESULT=1
IF (<SRC.TARG.SERIAL> != <SRC.SERIAL>)
SRC.SYSMESSAGE You heal <SRC.TARG.NAME>.
SRC.TARG.SYSMESSAGE <SRC.NAME> heals you.
SRC.TAG.HEALINGRESULT=1

ELSE
SRC.SYSMESSAGE You heal yourself.
SRC.TAG.HEALINGRESULT=1
ENDIF

SRC.TARG.SPELLEFFECT=s_CURE,1000
SRC.TARG.HITS=<SRC.TARG.HITS>+((<SRC.HEALING>/2)/15)
SRC.FINDLAYER(1).UNEQUIP
SRC.FINDLAYER(2).UNEQUIP

ENDIF
ENDIF

IF (<SRC.TARG.HITPOINTS>><SRC.TARG.STR>)
SRC.TARG.HITS=<SRC.TARG.STR>
ENDIF

IF (<SRC.HEALING><1000)
IF (<SRC.HEALING><330)
IF RAND(10) == 1
SRC.HEALING=<SRC.HEALING>+<eval {1 20 2 1}>
ENDIF
ELSEIF (<SRC.HEALING><660)
IF RAND(40) == 1
SRC.HEALING=<SRC.HEALING>+<eval {1 20 2 1}>
ENDIF
ELSE
IF RAND(60) == 1
SRC.HEALING=<SRC.HEALING>+<eval {1 20 2 1}>
IF (<SRC.HEALING>>1000)
SRC.HEALING=1000
ENDIF
ENDIF
ENDIF
ENDIF

IF (<SRC.TAG.HEALINGRESULT>==1)

SRC.CONSUME 1 i_bandage
SRC.NEWITEM=i_bandage_bloody
SRC.ACT.BOUNCE

ELSE

SRC.CONSUME 1 i_bandage

ENDIF

SRC.NEWITEM=i_mem_healing
SRC.ACT.EQUIP

RETURN 1

[ITEMDEF i_mem_healing]
ID=i_memory
TYPE=t_eq_script
NAME=Healing

ON=@EQUIP
TIMER=4
ATTR=attr_decay // | attr_invis

ON=@TIMER
REMOVE
RETURN 1

[ITEMDEF 0ee9]
//clean bandages
DUPEITEM=0e21

[EVENTS e_healing]
ON=@GETHIT
EVENTS=-e_healing
IF !(=)
FINDID.i_mem_healing.LINK.SYSMESSAGE Your healer lost his concentration!
ENDIF
SYSMESSAGE You lost your concentration!
FINDID.i_mem_healing.MORE=1
FINDID.i_mem_healing.TIMER
RETURN 0

La verdad es que tmb tengo el de cloud, pero ese lo veo más dificil de modificar, pero bueno, si me podríais decir, que es lo que tengo que cambiar de ahí, os lo agradecería.

Un saludo y gracias.

PD: nosé como poner los script que no ocupen toda la pantalla, si alguien es tan amable de editar mi post, y decirme como es lo agradecería.

ertoni
Iniciado
Iniciado

Mensajes : 36
Puntos : 4742
Reputación : -7
Fecha de inscripción : 24/06/2011

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por NasH Mar 20 Dic 2011 - 12:58

Buenas, yo lo haría de la siguiente manera:

Después del targon, añadiría un objeto al jugador el cual cuente x segundos.

Y luego antes de los rands que es donde hace los cálculos para la vida que cura metería un check de este objeto.

Un saludo.

NasH
Novato
Novato

Mensajes : 18
Puntos : 4813
Reputación : 6
Fecha de inscripción : 25/03/2011

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por ertoni Miér 21 Dic 2011 - 0:06

no consigo hacer funcionar el script como yo quiero, ya de por sí sirve, pero no como a mi me gustaría, tsss

ertoni
Iniciado
Iniciado

Mensajes : 36
Puntos : 4742
Reputación : -7
Fecha de inscripción : 24/06/2011

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por NasH Miér 21 Dic 2011 - 13:51

Haber ertoni, no se que nivel tienes a la hora de scriptear con sphere. Y pienso que estas buscando que te den una solución y listo. Pero veo mejor que intentes hacerlo por ti mismo, no por nada si no para que aprendas un pocos mas. Pienso que estos foros están para eso para compartir los conocimientos de cada uno y aprender algo entre todos.

Después de toda esta charla, 1º ¿Entiendes bien como funciona el script? Cada uno tiene una manera de scriptear y dudo que a dos personas que le mandes un mismo sistema te lo hagan igual y es importante entender lo que ha pretendido alguien hacer a la hora de modificar un script.

2º La idea que tienes de modificarlo, ¿únicamente lo quieres para cuando se cure el mismo, para cuando cure a otros, o para cuando resucite a alguien o para todo lo anterior?

Un saludo.

NasH
Novato
Novato

Mensajes : 18
Puntos : 4813
Reputación : 6
Fecha de inscripción : 25/03/2011

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por ertoni Miér 21 Dic 2011 - 18:26

si, mi nivel de scrip no es muy avanzado, por eso pedía ayuda, no pido que me lo hagan simplemente ayuda.

Lo que yo quiero, es que el tiempo sea para todo, para ress, curarse uno mismo y a otros.

ertoni
Iniciado
Iniciado

Mensajes : 36
Puntos : 4742
Reputación : -7
Fecha de inscripción : 24/06/2011

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por Lethal Jue 22 Dic 2011 - 14:52

Ese script es medio obsoleto, se nota que es para otra versión, aparte tiene muchas líneas de más y no entiendo esa necesidad de usar un tag a ese nivel.

Yo te recomiendo que utilices otro sistema, hay muchos.

Ahora si lo queres utilizar, con respecto a lo que búscas, el memory (i_mem_healing) es quien otorga el "delay" entre vendazo y vendazo. Si vos necesitas que ese mismo delay se aplique a resucitar (por ejemplo), simplemente con que te fijes como se aplica el memory a la hora de curar, lo vas a entender, luego es colocar esas líneas a las líneas de resucitar, étc.

Lethal
Lethal
Admin

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

http://www.i-networks.com.ar

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por ertoni Vie 23 Dic 2011 - 16:07

Cual es la función del R130 en este event?

[EVENTS e_bandage_slip]
ON=@GETHIT
IF !(<TAG0.SLIP>)
IF (<DEX> >= <R130>)
TAG0.SLIP ++
ENDIF
ENDIF

ertoni
Iniciado
Iniciado

Mensajes : 36
Puntos : 4742
Reputación : -7
Fecha de inscripción : 24/06/2011

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por Lethal Lun 26 Dic 2011 - 19:32

ertoni escribió:Cual es la función del R130 en este event?

[EVENTS e_bandage_slip]
ON=@GETHIT
IF !(<TAG0.SLIP>)
IF (<DEX> >= <R130>)
TAG0.SLIP ++
ENDIF
ENDIF

Un número al azar entre 1 a 130.
Lethal
Lethal
Admin

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

http://www.i-networks.com.ar

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por Mr.H Lun 26 Dic 2011 - 20:26

Lethal escribió:
ertoni escribió:Cual es la función del R130 en este event?

[EVENTS e_bandage_slip]
ON=@GETHIT
IF !(<TAG0.SLIP>)
IF (<DEX> >= <R130>)
TAG0.SLIP ++
ENDIF
ENDIF

Un número al azar entre 1 a 130.


En otras palabras, R130, seria una forma mas rápida de crear un numero random entre 1 y 130... Como dijo v8...

Que tiene de bueno esa forma?

Que cuanto mas chico sea el script mas rápido lo carga y mas rápido lo corre... según tengo entendido...
Mr.H
Mr.H
Moderador

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

Volver arriba Ir abajo

Duda con el Healing Empty Re: Duda con el Healing

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

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