Подскажите плиз как поставить задержку на скилл что бы нельзя было использовать бинт пока не закончилась предыдущая попытка
Код
CODE
[defname Healing_System_Defs]
HealingSys_Success_Chance = 50 //This is the percent added to their skill to determine success
//E.g. If this property is 50 and their skill is 33.0 it works as
// (33 + 50 = 83) Giving you a 83% chance of success
// (Resurrection uses 50% of the heal chance to succeed)
HealingSys_Max_Chance = 95 //This is the maximum percent chance of success anyone can have with healing
HealingSys_Healing_Max = 500.0 //The maximum that healing may gain to
HealingSys_Veterinary_Max = 500.0 //The maximum that veterinary may gain to
HealingSys_HealingMedium = 250.0 //The skill in healing when you become able to cure
HealingSys_HealingHigh = 300.0 //The skill in healing when you become able to resurrect
HealingSys_VeterinaryMedium = 200.0 //The skill in veterinary when you become able to cure
HealingSys_VeterinaryHigh = 250.0 //This is used to determine when you heal faster (Does not resurrect)
HealingSys_HealingTime_Self_Low = 8 //The time it takes to heal yourself at low healing skill
HealingSys_HealingTime_Self_Medium = 6 //The time it takes to heal yourself at medium healing skill
HealingSys_HealingTime_Self_High = 4 //The time it takes to heal yourself at high healing skill
HealingSys_HealingTime_Other_Low = 8 //The time it takes to heal others at low healing skill
HealingSys_HealingTime_Other_Medium = 6 //The time it takes to heal others at medium healing skill
HealingSys_HealingTime_Other_High = 4 //The time it takes to heal others at high healing skill
HealingSys_VeterinaryTime_Other_Low = 10 //The time it takes to heal others at low veterinary skill
HealingSys_VeterinaryTime_Other_Medium = 8 //The time it takes to heal others at medium veterinary skill
HealingSys_VeterinaryTime_Other_High = 5 //The time it takes to heal others at high veterinary skill
HealingSys_Healing_Amount_0 = {15 30} //The amount healing with 0-9% skill
HealingSys_Healing_Amount_1 = {30 50} //The amount healing with 10-19% skill
HealingSys_Healing_Amount_2 = {50 60} //The amount healing with 20-29% skill
HealingSys_Healing_Amount_3 = {60 70} //The amount healing with 30-39% skill
HealingSys_Healing_Amount_4 = {70 80} //The amount healing with 40-49% skill
HealingSys_Healing_Amount_5 = {80 90} //The amount healing with 50-59% skill
HealingSys_Healing_Amount_6 = {90 110} //The amount healing with 60-69% skill
HealingSys_Healing_Amount_7 = {110 130} //The amount healing with 70-79% skill
HealingSys_Healing_Amount_8 = {130 140} //The amount healing with 80-89% skill
HealingSys_Healing_Amount_9 = {140 150} //The amount healing with 90-99% skill
HealingSys_Healing_Amount_10 = {150 160} //The amount healing with 100-109% skill (Add more of these if your healing goes higher)
HealingSys_Veterinary_Amount_0 = {115 130} //The amount healing with 0-9% skill
HealingSys_Veterinary_Amount_1 = {130 150} //The amount healing with 10-19% skill
HealingSys_Veterinary_Amount_2 = {150 160} //The amount healing with 20-29% skill
HealingSys_Veterinary_Amount_3 = {160 170} //The amount healing with 30-39% skill
HealingSys_Veterinary_Amount_4 = {170 180} //The amount healing with 40-49% skill
HealingSys_Veterinary_Amount_5 = {180 190} //The amount healing with 50-59% skill
HealingSys_Veterinary_Amount_6 = {190 210} //The amount healing with 60-69% skill
HealingSys_Veterinary_Amount_7 = {210 230} //The amount healing with 70-79% skill
HealingSys_Veterinary_Amount_8 = {230 240} //The amount healing with 80-89% skill
HealingSys_Veterinary_Amount_9 = {240 250} //The amount healing with 90-99% skill
HealingSys_Veterinary_Amount_10 = {250 260} //The amount healing with 100-109% skill (Add more of these if your veterinary goes higher)
[PLEVEL 1]
useheal
[FUNCTION useheal]
IF <RESTEST i_bandage>
FINDID.i_bandage.dclick
ELSE
SRC.Message @149 No Bandage Found
ENDIF
[MENU m_res_ask]
Do you wish to resurrect?
ON=0 Yes
SRC.RESURRECT
ON=0 No
[ITEMDEF 0e21]
DEFNAME=i_bandage
TYPE=T_SCRIPT
WEIGHT=.1
CATEGORY=Items by Professions
SUBSECTION=Healer
DESCRIPTION=Clean Bandages
VALUE=0
ON=@DCLICK
Target
SRC.SYSMESSAGE @88 Select a target
RETURN 1
ON=@TARGON_CHAR
IF <SRC.FLAGS>==<SRC.FLAGS>|02
RETURN 1
ENDIF
OBJ=<SRC.TARG.UID>
IF <OBJ.HITS>>=<OBJ.MAXHITS>
SRC.SYSMESSAGE @88 Your target is not damaged!
RETURN 0
IF <LINK.RESTEST i_rune_poison>
MORE /= 2
IF <DEF0.HealingSys_HealingMedium>><CONT.HEALING>
IF <LINK.UID>==<CONT.UID>
CONT.SYSMESSAGE @88 You fail to cure yourself
ELSE
CONT.SYSMESSAGE @@88 You fail to cure your target.
LINK.SYSMESSAGE @@88 <CONT.NAME> fails to cure you.
ENDIF
ELSE
IF <LINK.UID>==<CONT.UID>
CONT.SYSMESSAGE @88 You cure yourself of all poisons
ELSE
CONT.SYSMESSAGE @88 You cure your target of all poisons
LINK.SYSMESSAGE @88 <CONT.NAME> cures you of all poisons
ENDIF
LINK.CONSUME i_rune_poison
ENDIF
ENDIF
ENDIF
IF <OBJ.DISTANCE>>2
SRC.SYSMESSAGE @88 You are too far away to heal your target
RETURN 1
ENDIF
IF !<OBJ.NPC>
IF <OBJ.FLAGS>==<OBJ.FLAGS>|02
IF <DEF0.HealingSys_HealingHigh>><SRC.HEALING>
SRC.ESSAGE @49 You need <FVAL <DEF0.HealingSys_HealingHigh>> Healing to resurrect your target
RETURN 1
ENDIF
SRC.CONSUME i_healingsys_item
SERV.NEWITEM=i_healingsys_item
NEW.LINK=<OBJ.UID>
NEW.TIMER=<DEF0.HealingSys_HealingTime_Other_High>
SRC.EQUIP <NEW.UID>
SRC.SYSMESSAGE @88 You begin healing
OBJ.SYSMESSAGE @88 <SRC.NAME> is attempting to heal you
CONSUME
ELSE
SRC.CONSUME i_healingsys_item
SERV.NEWITEM=i_healingsys_item
NEW.LINK=<OBJ.UID>
NEW.MORE=<DEF0.HealingSys_Healing_Amount_<EVAL <SRC.HEALING>/500>>
IF <OBJ.UID>==<SRC.UID>
SRC.SYSMESSAGE @88 You begin healing
Get_HealingSpeed_Self
NEW.TIMER=<NEW.MORE2>
ELSE
SRC.SYSMESSAGE @88 You begin healing
OBJ.SYSMESSAGE @88 <SRC.NAME> is attempting to heal you
Get_HealingSpeed_Other
NEW.TIMER=<NEW.MORE2>
ENDIF
SRC.EQUIP <NEW.UID>
CONSUME
ENDIF
ELSE
IF ((<OBJ.NPC>==brain_animal) || (<OBJ.NPC>==brain_animal) || (<OBJ.TAMING>>0))
SRC.CONSUME i_healingsys_item
SERV.NEWITEM=i_healingsys_item
NEW.LINK=<OBJ.UID>
NEW.MORE=<DEF0.HealingSys_Veterinary_Amount_<EVAL <SRC.Veterinary>/500>>
Get_VeterinarySpeed
NEW.TIMER=<NEW.MORE2>
SRC.EQUIP <NEW.UID>
SRC.SYSMESSAGE @88 You begin healing
CONSUME
ELSE
SRC.CONSUME i_healingsys_item
SERV.NEWITEM=i_healingsys_item
NEW.LINK=<OBJ.UID>
NEW.MORE=<DEF0.HealingSys_Healing_Amount_<EVAL <SRC.HEALING>/500>>
IF <OBJ.UID>==<SRC.UID>
SRC.SYSMESSAGE @88 You begin healing
Get_HealingSpeed_Self
NEW.TIMER=<NEW.MORE2>
ELSE
SRC.SYSMESSAGE @88 You begin healing
Get_HealingSpeed_Other
NEW.TIMER=<NEW.MORE2>
ENDIF
SRC.EQUIP <NEW.UID>
CONSUME
ENDIF
ENDIF
SRC.ANIM=19
RETURN 1
[ITEMDEF i_healingsys_item]
ID=i_memory
TYPE=t_eq_script
NAME=Healing Timer (DONT REMOVE)
ON=@TIMER
IF <CONT.FLAGS>==<CONT.FLAGS>|02
REMOVE
RETURN 1
ENDIF
CONT.SOUND 0057
IF <LINK.DISTANCE <CONT.UID>>>2
CONT.SYSMESSAGE @88 You are too far away to finish healing <LINK.NAME>
LINK.SYSMESSAGE @88 <CONT.NAME> is to far away to finish healing you
REMOVE
RETURN 1
ENDIF
IF <LINK.HITS>>=<LINK.MAXHITS>
CONT.SYSMESSAGE @88 You heal what little damage they had taken
REMOVE
RETURN 1
ENDIF
LOCAL.SUCCESS_CHANCE=<EVAL <DEF0.HealingSys_Success_Chance>+<EVAL <CONT.HEALING>/10>>
IF <LOCAL.SUCCESS_CHANCE>><DEF0.HealingSys_Max_Chance>
LOCAL.SUCCESS_CHANCE=<DEF0.HealingSys_Max_Chance>
ENDIF
IF <LINK.FLAGS>==<LINK.FLAGS>|02
LOCAL.SUCCESS_CHANCE /= 2
ENDIF
IF RAND(100)>=<LOCAL.SUCCESS_CHANCE>
CONT.SYSMESSAGE @88 You fail to heal your target
LINK.SYSMESSAGE @88 <CONT.NAME> fails to heal you
REMOVE
RETURN 1
ENDIF
CONT.ANIM=19
IF !<LINK.NPC>
IF <LINK.FLAGS>==<LINK.FLAGS>|02
IF <DEF0.HealingSys_HealingHigh>><CONT.HEALING>
CONT.SYSMESSAGE @88 You need <FVAL <DEF0.HealingSys_HealingHigh>> Healing to resurrect your target
REMOVE
RETURN 1
ENDIF
LINK.MENU m_res_ask
CONT.SOUND snd_spell_resurrection
CONT.SYSMESSAGE @88 You resurrect your target
LINK.SYSMESSAGE @88 <CONT.NAME> resurrects you
CONT.GAIN_HEALINGSYS 1
REMOVE
RETURN 1
ELSE
IF <LINK.RESTEST i_rune_poison>
MORE /= 2
IF <DEF0.HealingSys_HealingMedium>><CONT.HEALING>
IF <LINK.UID>==<CONT.UID>
CONT.SYSMESSAGE @88 You fail to cure yourself
ELSE
CONT.SYSMESSAGE @88 You fail to cure your target.
LINK.SYSMESSAGE @88 <CONT.NAME> fails to cure you.
ENDIF
ELSE
IF <LINK.UID>==<CONT.UID>
CONT.SYSMESSAGE @88 You cure yourself of all poisons
ELSE
CONT.SYSMESSAGE @88 You cure your target of all poisons
LINK.SYSMESSAGE @88 <CONT.NAME> cures you of all poisons
ENDIF
LINK.CONSUME i_rune_poison
ENDIF
ENDIF
IF <LINK.UID>==<CONT.UID>
CONT.SYSMESSAGE @88 You heal yourself: <EVAL <MORE>>
ELSE
CONT.SYSMESSAGE @88 You heal your target: <EVAL <MORE>>
LINK.SYSMESSAGE @88 <CONT.NAME> heals you: <EVAL <MORE>>
ENDIF
LINK.HITS += <MORE>
IF <LINK.HITS>><LINK.MAXHITS>
LINK.HITS=<LINK.MAXHITS>
ENDIF
CONT.GAIN_HEALINGSYS
REMOVE
RETURN 1
ENDIF
ELSE
IF ((<LINK.NPC>==brain_animal) || (<LINK.NPC>==brain_animal) || (<LINK.TAMING>>0))
IF <LINK.RESTEST i_rune_poison>
MORE /= 2
IF <DEF0.HealingSys_VeterinaryMedium><=<CONT.Veterinary>
LINK.CONSUME i_rune_poison
ENDIF
ENDIF
LINK.HITS += <MORE>
IF <LINK.HITS>><LINK.MAXHITS>
LINK.HITS=<LINK.MAXHITS>
ENDIF
CONT.SYSMESSAGE @88 You heal your target: <EVAL <MORE>>
CONT.GAIN_HEALINGSYS_VET
REMOVE
RETURN 1
ELSE
IF <LINK.RESTEST i_rune_poison>
MORE /= 2
IF <DEF0.HealingSys_HealingMedium>><CONT.Healing>
LINK.SYSMESSAGE @88 <CONT.NAME> fails to cure you.
ELSE
LINK.SYSMESSAGE @88 <CONT.NAME> cures you of all poisons
LINK.CONSUME i_rune_poison
ENDIF
ENDIF
CONT.SYSMESSAGE @88 You heal your target: <EVAL <MORE>>
LINK.HITS += <MORE>
IF <LINK.HITS>><LINK.MAXHITS>
LINK.HITS=<LINK.MAXHITS>
ENDIF
CONT.GAIN_HEALINGSYS
REMOVE
RETURN 1
ENDIF
RETURN 1
[ITEMDEF 0ee9]
//clean bandages
DUPEITEM=0e21
[FUNCTION GAIN_HEALINGSYS]
IF <HEALING><<DEF0.HealingSys_Healing_Max>
IF RAND(<EVAL <HEALING>/100>)==0
IF <HEALING><<EVAL <DEF0.HealingSys_Healing_Max>/4>
HEALING += <EVAL {1 3}>
ELSE
HEALING += 1
ENDIF
ENDIF
ENDIF
[FUNCTION GAIN_HEALINGSYS_VET]
IF <Veterinary><<DEF0.HealingSys_Veterinary_Max>
IF RAND(<EVAL <Veterinary>/100>)==0
IF <Veterinary><<EVAL <DEF0.HealingSys_Veterinary_Max>/4>
Veterinary += <EVAL {1 3}>
ELSE
Veterinary += 1
ENDIF
ENDIF
ENDIF
[FUNCTION Get_HealingSpeed_Self]
IF <DEF0.HealingSys_HealingHigh><=<SRC.HEALING>
NEW.MORE2=<DEF0.HealingSys_HealingTime_Self_High>
ELIF <DEF0.HealingSys_HealingMedium><=<SRC.HEALING>
NEW.MORE2=<DEF0.HealingSys_HealingTime_Self_Medium>
ELSE
NEW.MORE2=<DEF0.HealingSys_HealingTime_Self_Low>
ENDIF
[FUNCTION Get_HealingSpeed_Other]
IF <DEF0.HealingSys_HealingHigh><=<SRC.HEALING>
NEW.MORE2=<DEF0.HealingSys_HealingTime_Other_High>
ELIF <DEF0.HealingSys_HealingMedium><=<SRC.HEALING>
NEW.MORE2=<DEF0.HealingSys_HealingTime_Other_Medium>
ELSE
NEW.MORE2=<DEF0.HealingSys_HealingTime_Other_Low>
ENDIF
[FUNCTION Get_VeterinarySpeed]
IF <DEF0.HealingSys_HealingHigh><=<SRC.HEALING>
NEW.MORE2=<DEF0.HealingSys_HealingTime_Other_High>
ELIF <DEF0.HealingSys_HealingMedium><=<SRC.HEALING>
NEW.MORE2=<DEF0.HealingSys_HealingTime_Other_Medium>
ELSE
NEW.MORE2=<DEF0.HealingSys_HealingTime_Other_Low>
ENDIF
[EOF]