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 |