Здравствуйте, гость ( Вход | Регистрация )

> Full Armor, Full Armor = Bonus str and regen hp.
Canek_
сообщение 14.5.2009, 22:30
Сообщение #1


****

Apprentice
Сообщений: 136
Регистрация: 17.4.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.772
Возраст: 19



У меня такая проблемка... Написал фулл армор который при полном комплекте дает + силу. И каждая вещь регенирирует 4 hp в секунду. Проблема в том что не каждая вещь регенирирует hp... Не могу понять почему... Может нужно как то иначе писать полный комплект армора? Подскажите пожалуйста как правильно надо написать чтоб регенила каждая вещь... А не каждая 2-ая или даже 3-ья... Желательно небольшим примером хоть на 2 вещи. Вот мой скрипт.

Код

[ITEMDEF i_devil_platemail_chest]
DEFNAME=i_devil_platmemail_chest
NAME=Devil Platemail Chest
ID=i_platemail_chest
ARMOR=95
REQSTR=150
VALUE=20000
WEIGHT=10
CATEGORY=Provisions - Armor - Colored
SUBSECTION=Agapite
DESCRIPTION=Platemail Chest
RESOURCES=25 i_ingot_devil
SKILLMAKE=BLACKSMITHING 240.0

ON=@Create
COLOR=0618
HITPOINTS=50

ON=@Equip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>+300)
Timer = 1
RETURN 0

ON=@UnEquip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>-300))
Timer=-1
RETURN 0

ON=@Timer
IF (<CONT.HITS>  >= <CONT.STR>)
    CONT.HITS = <CONT.STR>
ELSE
CONT.HITS = <CONT.HITS> + 4
ENDIF
TIMER=1
RETURN 1


[ITEMDEF i_devil_platemail_arms]
DEFNAME=i_devil_platemail_arms
NAME=Devil Platemail Arms
ID=i_platemail_arms
ARMOR=95
REQSTR=135
VALUE=20000
WEIGHT=5
CATEGORY=Provisions - Armor - Colored
SUBSECTION=Agapite
DESCRIPTION=Platemail Arms
RESOURCES=18 i_ingot_devil
SKILLMAKE=BLACKSMITHING 240.0

ON=@Create
COLOR=0618
HITPOINTS=50

ON=@Equip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>+300)
Timer = 1
RETURN 0

ON=@UnEquip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>-300))
Timer=-1
RETURN 0

ON=@Timer
IF (<CONT.HITS>  >= <CONT.STR>)
    CONT.HITS = <CONT.STR>
ELSE
CONT.HITS = <CONT.HITS> + 4
ENDIF
TIMER=1
RETURN 1


[ITEMDEF i_devil_platemail_leggings]
DEFNAME=i_devil_platemail_leggings
NAME=Devil Platemail Leggings
ID=i_platemail_leggings
ARMOR=95
REQSTR=135
VALUE=20000
WEIGHT=15
CATEGORY=Provisions - Armor - Colored
SUBSECTION=Agapite
DESCRIPTION=Platemail Legs
RESOURCES=20 i_ingot_devil
SKILLMAKE=BLACKSMITHING 240.0

ON=@Create
COLOR=0618
HITPOINTS=50

ON=@Equip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>+300)
Timer = 1
RETURN 0

ON=@UnEquip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>-300))
Timer=-1
RETURN 0

ON=@Timer
IF (<CONT.HITS>  >= <CONT.STR>)
    CONT.HITS = <CONT.STR>
ELSE
CONT.HITS = <CONT.HITS> + 4
ENDIF
TIMER=1
RETURN 1


[ITEMDEF i_devil_platemail_helm]
DEFNAME=i_devil_platemail_helm
NAME=Devil Platemail Helm
ID=i_platemail_helm
ARMOR=80
REQSTR=135
VALUE=20000
WEIGHT=5
CATEGORY=Provisions - Armor - Colored
SUBSECTION=Agapite
DESCRIPTION=Plate Helm
RESOURCES=15 i_ingot_devil
SKILLMAKE=BLACKSMITHING 240.0

ON=@Create
COLOR=0618
HITPOINTS=50

ON=@Equip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>+300)
Timer = 1
RETURN 0

ON=@UnEquip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>-300))
Timer=-1
RETURN 0

ON=@Timer
IF (<CONT.HITS>  >= <CONT.STR>)
    CONT.HITS = <CONT.STR>
ELSE
CONT.HITS = <CONT.HITS> + 4
ENDIF
TIMER=1
RETURN 1


[ITEMDEF i_devil_platemail_gorget]
DEFNAME=i_devil_platemail_gorget
NAME=Devil Platemail Gorget
ID=i_platemail_gorget
ARMOR=95
REQSTR=135
VALUE=20000
WEIGHT=2
CATEGORY=Provisions - Armor - Colored
SUBSECTION=Agapite
DESCRIPTION=Platemail Gorget
RESOURCES=10 i_ingot_devil
SKILLMAKE=BLACKSMITHING 240.0

ON=@Create
COLOR=0618
HITPOINTS=50

ON=@Equip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>+300)
Timer = 1
RETURN 0

ON=@UnEquip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>-300))
Timer=-1
RETURN 0

ON=@Timer
IF (<CONT.HITS>  >= <CONT.STR>)
    CONT.HITS = <CONT.STR>
ELSE
CONT.HITS = <CONT.HITS> + 4
ENDIF
TIMER=1
RETURN 1


[ITEMDEF i_devil_platemail_gloves]
DEFNAME=i_devil_platemail_gloves
NAME=Devil Platemail Gloves
ID=i_platemail_gloves
ARMOR=98
REQSTR=135
VALUE=20000
WEIGHT=2
CATEGORY=Provisions - Armor - Colored
SUBSECTION=Agapite
DESCRIPTION=Platemail Gloves
RESOURCES=12 i_ingot_devil
SKILLMAKE=BLACKSMITHING 240.0

ON=@Create
COLOR=0618
HITPOINTS=50

ON=@Equip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>+300)
Timer = 1
RETURN 0

ON=@UnEquip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest)
IF (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms)
IF (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings)
IF (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm)
IF (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget)
IF (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>-300))
Timer=-1
RETURN 0

ON=@Timer
IF (<CONT.HITS>  >= <CONT.STR>)
    CONT.HITS = <CONT.STR>
ELSE
CONT.HITS = <CONT.HITS> + 4
ENDIF
TIMER=1
RETURN 1


--------------------
Курили, курим и курить будем! )
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Wap
сообщение 15.5.2009, 1:23
Сообщение #2


**********

Администратор Форума
Сообщений: 3.010
Регистрация: 22.12.2006
Группа: Администраторы
Наличность: 31930
Пользователь №: 9.227



Код
ON=@Equip
IF (<SRC.FINDLAYER(13).BASEID>==i_devil_platemail_chest) && (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms) && (<SRC.FINDLAYER(19).BASEID>==i_devil_platemail_arms) && (<SRC.FINDLAYER(24).BASEID>==i_devil_platemail_leggings) && (<SRC.FINDLAYER(6).BASEID>==i_devil_platemail_helm) && (<SRC.FINDLAYER(10).BASEID>==i_devil_platemail_gorget) && (<SRC.FINDLAYER(7).BASEID>==i_devil_platemail_gloves)
SRC.STR = (<SRC.STR>+300)
Timer = 1
SRC.FINDLAYER(13).TIMER=1
SRC.FINDLAYER(19).TIMER=1
SRC.FINDLAYER(24).TIMER=1
SRC.FINDLAYER(6).TIMER=1
SRC.FINDLAYER(10).TIMER=1
SRC.FINDLAYER(7).TIMER=1
ENDIF
RETURN 0

Мораль этого такова:
1) Ставь таймеры всем итемам.
2) Не зажимай ендифы, может боком выйти.
3) Проверки можно объединять.
4) Unequip пиши сам.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 15.9.2025, 17:07
Designed by Nickostyle