Главная страницаМой профильРегистрацияВыходВход
Приветствую Вас Гость | RSS
Суббота
2025-07-12
5:18 AM
Forum
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Animal Taiming
AntoskaДата: Воскресенье, 2006-02-19, 10:20 PM | Сообщение # 1
Генерал-полковник
Группа: Модераторы
Сообщений: 18
Репутация: 2
Статус: Offline
Code
[ITEMDEF i_staff_taming]
ID=013f8
NAME=Timing Staff
WEIGHT=5
TYPE=T_WEAPON_MACE_STAFF
FLIP=1
D AM=9,21
//SPEED=40
SKILL=Mace Fighting
REQSTR=20
TWOHANDS=Y
CATEGORY=Provisio ns - Weapons
SUBSECTION=Staves
DESCRIPTION=Taming staff
DUPELIST=013f9
SKILLMAKE=CARPENTRY 48.9, t_carpentry
RESOURCES=4 i_log

ON=@Create
HITPOINTS={31 50}
COLOR=0233

ON=@DCLICK

TARGET что теймить будем ????
RETURN 1

ON=@TARGON_CHAR
IF (<SRC.TAMING> < <SRC.TARG.TAMING> )
   SRC.SYSMESSAGE у вас недостаточно тейминга !!!
   RETURN 1
ENDIF
Taming_Check
RETURN 1

[FUNCTION Taming_Check]
IF (<SRC.TARG.BRAIN>!=1) && (<SRC.TARG.BRAIN>!=13)
  SRC.SYSMESSAGE I can not tame this. 
ELSEIF !(<SRC.TARG.TAMING> )
  SRC.SYSMESSAGE I can not tame this.
ELSEIF (<EVAL <SRC.TAMING>> < <SRC.TARG.TAMING> )
  SRC.SYSMESSAGE I could not begin to tame this!
ELSEIF (<SRC.FLAGS> & (statf_dead|statf_freeze|statf_invisible|statf_sle eping|statf_polymorph|statf_stone|statf_hidden))
  SRC.SYSME SSAGE I can not tame this in my current state.
ELSEIF (<SRC.TARG.FLAGS> & (statf_dead|statf_freeze|statf_invisible|statf_sle eping|statf_polymorph|statf_stone|statf_hidden))
  SRC.SYSME SSAGE I can not tame <SRC.TARG.NAME> in current state.
ELSEIF (<SRC.TARG.MEMORYFINDTYPE.memory_ipet> )
  SRC.SYSMESSAGE That is already tame.
ELSEIF (<SRC.TARG.DISTANCE> > 3)
  SRC.SYSMESSAGE I am too far away to tame that.
ELSEIF (<SRC.TARG.FOOD> < 1)
  SRC.SYSMESSAGE This creature very hungry to tame.
ELSE
  SRC.NEWITEM i_tamingdelay
  SRC.ACT.LINK=<SRC.TARG.UID>
  SRC.ACT.CONT= <SRC.UID>
  SRC.ACT.TIMER=2
ENDIF
RETURN 1

[ITEMDEF i_tamingdelay]
ID=i_memory
TYPE=t_eq_script
NAME=Taming Delay

ON=@Create
ATTR=attr_decay
MORE1=11

O N=@Timer
IF !(<LINK.UID> )
  CONT.SYSMESSAGE You fail to tame the creature.
  RETURN 1
ENDIF

IF (<CONT.ISGM> ) && !(<LINK.MEMORYFINDTYPE.memory_ipet> )
  CONT.NEWITEM i_memory
  CONT.ACT.ATTR attr_newbie
  CONT.ACT.COLOR memory_ipet
  CONT.ACT.MORE1 04
  CONT.ACT.LINK <CONT.UID>
  CONT.ACT.MORE2 <SERV.TIME>
  CONT.ACT.MOREP <LINK.P>
  CONT.ACT.CONT <LINK.UID>
  CONT.SYSMESSAGE It seems to accept you as its master.
  IF (<CONT.TAMING> < 1000) && (RAND(<EVAL <CONT.TAMING>> ) < 250) && !(<CONT.REGION.FLAGS>®ion_flag_safe)
    CONT.TAMING=<CONT.TAMING> + 1
  ENDIF
  RETURN 1
ENDIF

IF (<MORE1> )
  IF (<EVAL <MORE1>>==12) || (<EVAL <MORE1>>==10) || (<EVAL <MORE1>>==8) || (<EVAL <MORE1>>==6) || (<EVAL <MORE1>>==4) || (<EVAL <MORE1>>==2)
    CONT.ANIM=19
    DORAND 4
    CONT.SAY Good <LINK.NAME>
    CONT.SAY I won't hurt you.
    CONT.SAY Here <LINK.NAME>
    CONT.SAY I always wanted a <LINK.NAME> like you
    ENDDO
  ENDIF
 
  MORE1=<EVAL <MORE1> - 1>
  TIMER=1
  RETURN 1
ELSE
  IF (RAND(2)==0)
    CONT.NEWITEM i_memory
    CONT.ACT.ATTR attr_newbie
    CONT.ACT.COLOR memory_ipet
    CONT.ACT.MORE1 04
    CONT.ACT.LINK <CONT.UID>
    CONT.ACT.MORE2 <SERV.TIME>
    CONT.ACT.MOREP <LINK.P>
    CONT.ACT.CONT <LINK.UID>
    CONT.SYSMESSAGE It seems to accept you as its master.
    IF (<CONT.TAMING> < 1000) && (RAND(<EVAL <CONT.TAMING>> ) < 250) && !(<CONT.REGION.FLAGS>®ion_flag_safe)
     CONT.TAMING=<CONT. TAMING> + 1
    ENDIF
  ELSE
    CONT.SYSMESSAGE You fail to tame the creature.
    IF (<CONT.TAMING> < 1000) && (RAND(<EVAL <CONT.TAMING>> ) < 20) && !(<CONT.REGION.FLAGS>®ion_flag_safe)
     CONT.TAMING=<CONT. TAMING> + 1
    ENDIF
  ENDIF
ENDIF

[FUNCTION fixaction_is_combat]
IF (<FIXACTION> == Skill_Archery)
  RETURN 1
ELSEIF (<FIXACTION> == Skill_Fencing)
  RETURN 1
ELSEIF (<FIXACTION> == Skill_Macefighting)
  RETURN 1
ELSEIF (<FIXACTION> == Skill_Parrying)
  RETURN 1
ELSEIF (<FIXACTION> == Skill_Swordsmanship)
  RETURN 1
ELSEIF (<FIXACTION> == Skill_Wrestling)
  RETURN 1
ELSESE
  RETURN 0
ENDIF

[EOF]



.invis

Сообщение отредактировал FelexS - Понедельник, 2006-02-20, 5:36 PM
 
ShockeRДата: Четверг, 2006-09-21, 11:04 AM | Сообщение # 2
Рядовой
Группа: Пользователи
Сообщений: 12
Репутация: 0
Статус: Offline
а у меня лучше но не дам biggrin

Умрем За Реп!!!
 
exeДата: Воскресенье, 2007-03-11, 10:16 PM | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 7
Репутация: 0
Статус: Offline
Quote (ShockeR)
а у меня лучше но не дам

Ну тогда чё ты тут делаеш ?


Лишь от солнечного диска
Разрастается пиписка.


Сообщение отредактировал exe - Воскресенье, 2007-03-11, 10:17 PM
 
FelexSДата: Воскресенье, 2007-03-11, 11:22 PM | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 56
Репутация: 2
Статус: Offline
SKILL TAIMING:
Code

[DEFNAME def_Taming]
Taming_Delay 2

[FUNCTION Taming_TAME]
IF !(<ACT.CanSeeLOS>)   
   SYSMESSAGEU Вы слишком далеко
ELIF (<ACT.NPC> != brain_animal) && (<ACT.NPC> != brain_dragon)   
   SYSMESSAGEU <act.name> не может быть затаймлен
ELIF !(<ACT.TAMING>)   
   SYSMESSAGEU Возникла неизвестная ошибка. Срочно позовите ГМа, по средствам "гм пейдж"
ELIF (<EVAL <TAMING> + 30.0> < <ACT.TAMING>)  
   SYSMESSAGEU Ваш скилл taming cлишком маленький чтобы затаймить <act.name>
ELIF (<FLAGS> & (statf_dead|statf_freeze|statf_invisible|statf_sleeping|statf_polymorph|statf_stone|statf_hidden))  
   SYSMESSAGEU Вы не можите что либо таймить в вашем состоянии
ELIF (<ACT.MEMORYFINDTYPE.memory_ipet>)   
   SYSMESSAGEU <act.name> уже затаймлен.
ELIF (<ACT.MEMORYFINDTYPE.memory_fight>)  
   SYSMESSAGEU Вы не можите таймить что-либо находясь в состоянии боя.
ELIF (<ACT.DISTANCE> > 5)  
   SYSMESSAGEU Вы находитесь слишком далеко.
ELSE
   NEWITEM i_mem_taming
   ACT.LINK <TARG.UID>
   ACT.MORE1 {3 7}
   ACT.CONT <UID>
   ACT.TIMER <EVAL Taming_Delay>
ENDIF

Добавлено (2007-03-11, 11:21 Pm)
---------------------------------------------
Продолжение
Code

[FUNCTION Taming_SUCCESS]
CONT.NEWITEM i_memory
CONT.ACT.ATTR attr_newbie
CONT.ACT.COLOR memory_ipet
CONT.ACT.MORE1 04
CONT.ACT.LINK <CONT.UID>
CONT.ACT.MORE2 <SERV.TIME>
CONT.ACT.MOREP <LINK.P>
CONT.ACT.CONT <LINK.UID>
LINK.FOOD 50
LINK.KARMA 2000
CONT.SYSMESSAGEU Теперь вы хозяин этого животного.
CONT.Taming_SKILLGAIN 10

[FUNCTION Taming_FAILURE]
CONT.SYSMESSAGEU Пока у вас не получилось затаймить это животное.
CONT.Taming_SKILLGAIN 5

[FUNCTION Taming_SKILLGAIN]
IF (<TAMING> < 1000)
   TAG.Taming_Fudge <EVAL 0<TAG.Taming_Fudge> + <ARGN>>
   IF (<TAG.Taming_Fudge> > <TAMING>)
     TAG.Taming_Fudge
     TAMING <TAMING> + 1
   ENDIF
ENDIF

Добавлено (2007-03-11, 11:22 Pm)
---------------------------------------------
и концовка
Code

[itemdef i_mem_taming]
NAME=Timer for Taming [Do NOT Remove]
ID=i_deed
TYPE=t_eq_script
LAYER=30
WEIGHT=0

ON=@Create
  attr=attr_invis|attr_move_never|attr_decay
  more1={3 7}

ON=@Timer
   IF (<CONT.ISGM>) && !(<LINK.MEMORYFINDTYPE.memory_ipet>)
     Taming_SUCCESS
     RETURN 0
   ENDIF
   CONT.CHECKS <LINK.UID>
   IF !(<VAR.SEE>)
     CONT.SYSMESSAGE You are too far away
   ELIF (<LINK.NPC> != brain_animal) && (<LINK.NPC> != brain_dragon)  
     CONT.SYSMESSAGEU <act.name> не может быть затаймлен
   ELIF !(<LINK.TAMING>)    
     CONT.SYSMESSAGEU Возникла неизвестная ошибка. Срочно позоврите ГМа, по средствам "гм пейдж"
   ELIF (<EVAL <CONT.TAMING> + 30.0> < <LINK.TAMING>)
     CONT.SYSMESSAGEU Ваш скилл Taming cлишком маленький чтобы затаймить <act.name>
   ELIF (<CONT.FLAGS> & (statf_dead|statf_freeze|statf_invisible|statf_sleeping|statf_polymorph|statf_stone|statf_hidden))
     CONT.SYSMESSAGE You can't do much in your current state.
   ELIF (<LINK.MEMORYFINDTYPE.memory_ipet>)     
     CONT.SYSMESSAGEU <act.name> уже затаймлен.
   ELIF (<LINK.MEMORYFINDTYPE.memory_fight>)     
     CONT.SYSMESSAGEU Вы не можите таймить что-либо находясь в состоянии боя.
   ELIF (<VAR.DIST> > 5)     
     CONT.SYSMESSAGEU Вы находитесь слишком далеко.
   ELSE
     IF (<MORE1>)
       DORAND 4
         CONT.SAYU Иди ко мне <LINK.NAME>
         CONT.SAYU Я буду ухаживать за тобой.
         CONT.SAYU Иди ко мне <LINK.NAME>
         CONT.SAYU Я буду тебя хорошо кормить.
       ENDDO
       MORE1 <EVAL <MORE1> - 1>
       TIMER {<EVAL Taming_Delay> <EVAL <EVAL Taming_Delay> + 2>}
       RETURN 1
     ELSE
       IF (<EVAL <LINK.TAMING> - <CONT.TAMING>> <= 0)
         IF (RAND(<EVAL ((<CONT.TAMING> - <LINK.TAMING>) / 20) + 3>))
           Taming_SUCCESS
         ELSE
           Taming_FAILURE
         ENDIF
       ELIF !(RAND(<EVAL ((<LINK.TAMING> - <CONT.TAMING>) / 20) + 3>))
         Taming_SUCCESS
       ELSE
         Taming_FAILURE
       ENDIF
     ENDIF
   ENDIF



Читай Правила, за стаканом Молока.
 
  • Страница 1 из 1
  • 1
Поиск:


  Copyright Ultima  © 2007