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

> Pvp Combat System [0.56b], Система возможно совместима с 0.55R 4.0.2.
Breaker
сообщение 22.4.2007, 5:19
Сообщение #1


******

Expert
Сообщений: 529
Регистрация: 25.12.2004
Группа: Пользователи
Наличность: 0
Из: Москва
Пользователь №: 2.792
Возраст: 27



Дополнительные удары при бое:
Backstab 33% - Шанс нанести удар со спины (+75% от урона)
Critical 1/50 - Шанс нанести критический удар (+135% от урона)

Бонусные переменные могут быть использованны на любов виде предмета который можно одеть на себя. Типы Бонусов:
Evasion % - Шанс увернуться от удара
ResistPhysical % - Сопративляемость к физическому урону
DamageIncreas % - увеличение урона
DamageSpeed % - увеличение скорости ударов
QuickCast % - Увеличение скорости магии
ManaRequirement % - Уменьшение потери маны при касте магии.
ResistMagic % - Сопративляемость к любому магическому урону
ResistFire % - Сопративляемость к огненному урону
ResistEnergy % - Сопративляемость к энергетическому урону
ResistPoison % - Сопративляемость к отравляющему урону
?ResistCold % - Сопративляемость к замаражевающему урону
? - Данное свойство откюченно в связи с тем что перепись действия этого эффекта должна производиться в тригере ON=@SpellEffect где указывается время действия данного спелла т.е при 0 сопротивляемости - 10 сек, при 100% сопративляемости - 0 сек.

PS: Возможно для кого то система ещё сырая.. но система работает на ура. Собственно в скрипте всё рассписанно что да где... так что легко подлежит изменениям... Спасибо...

Код

[FUNCTION GetCombatEffect]
LOCAL.Result="0"
FOR 1 24
IF (<LOCAL._FOR>!=9) && (<LOCAL._FOR>!=11) && (<LOCAL._FOR>!=15) && (<LOCAL._FOR>!=16) && (<LOCAL._FOR>!=21)
   LOCAL.Result = "<EVAL (<LOCAL.Result> + <FINDLAYER.<EVAL <LOCAL._FOR>>.TAG0.<ARGS>>)>"
ENDIF
ENDFOR
RETURN <LOCAL.Result>

[FUNCTION DamageEquipedArmor]
OBJ=<UID>
FORCONT <UID>
  IF StrMatch("t_armor*","<TYPE>") || StrMatch("t_shield*","<TYPE>") || StrMatch("t_clothing","<TYPE>")
     IF (<OBJ.FINDLAYER.<LAYER>.UID>==<UID>) && !(<ATTR>&attr_magic) && (RAND(100) < 50)
        DAMAGE 100.0
        RETURN 1
     ENDIF
  ENDIF
ENDFOR
RETURN 0


[FUNCTION DamageEquipedWeapon]
OBJ=<UID>
FORCONT <UID>
  IF StrMatch("t_weapon_*","<TYPE>")
     IF (<OBJ.FINDLAYER.<LAYER>.UID>==<UID>) && !(<ATTR>&attr_magic) && (RAND(100) < 25)
        DAMAGE 100.0
        RETURN 1
     ENDIF
  ENDIF
ENDFOR
RETURN 0

[EVENTS e_PvP]
//<------------------------------------------------------------------------------------->
//<------------------------------------------------------------------------------------->
//<- Magic Combat ---------------------------------------------------------------------->
//<------------------------------------------------------------------------------------->
//<------------------------------------------------------------------------------------->

//<------------------------------------------------------------------------------------->
//< TRIGGER: SpellCast                                                                  >
//<------------------------------------------------------------------------------------->
ON=@SpellCast
IF (<SRC.IsGM>) //(<SRC.ACCOUNT.PLEVEL> > 1)
   ARGN3=0.1
ELSE
//<[MOD] ------------- Вычисление модификации скорости магии со скроллов --------------->
   IF StrMatch("t_scroll","<ARGO.TYPE>")
      ARGN3 = <ARGN3> - <FVAL (<ARGN>*45)/100>
      SRC.TAG.IsScroll="1"
   ENDIF
//<[MOD] ---------------- Увеличение скорости магии бонусом QuickCast ------------------>
   ARGN3 -= <EVAL (<ARGN3>*<SRC.GetCombatEffect QuickCast>)/100>
ENDIF
SRC.SYSMESSAGE @73, Cast speed: <FVAL <ARGN3>> sec.


//<------------------------------------------------------------------------------------->
//< TRIGGER: SpellEffect                                                                >
//<------------------------------------------------------------------------------------->
ON=@SpellEffect
IF (<FLAGS>&statf_invul)
   EFFECT 3,037b9,10,20
   RETURN 1
//<[FIX] --------- Не применять формулы на спеллы которых нет в Spellbook-е ------------>
ELIF (<ARGN> >= 65)
   SERV.LOG @WARNING: <NAME> [<ACCOUNT>] using not aviable spell <ARGN>
//<[FIX] --------------------------- Применение Cure спелла ---------------------------->
ELIF (<ARGN>==11)
   TRY FINDID.i_memory_poison.REMOVE
   EFFECT 3,i_fx_heal_effect,15,25
   RETURN 1
//<[FIX] -------------------------- Применение Dispel спелла --------------------------->
ELIF (<ARGN>==41) || (<ARGN>==54)
   TRY FINDID.i_memory_poison.REMOVE
   TRY FINDID.i_memory_incognito.REMOVE
   TRY FINDID.i_memory_spell_stats.REMOVE
//<[MOD] ------------ Система отражения магии от спелла (Magic Reflection) ------------->
ELIF (<FINDID.i_rune_magic_reflection.UID>) && (<SERV.SPELL.<ARGN>.FLAGS>&spellflag_harm)

   EFFECT=3,i_fx_bless_EFFECT,15,15
   FINDID.i_rune_magic_reflection.REMOVE
   FLAGS=<FLAGS>&~statf_reflection

   IF (<UID>!=<SRC.UID>)
      SRC.SPELLEFFECT <ARGN>, <MAGERY>

      IF (0)
      ELIF (<ARGN>==5)    // s_magic_arrow
         SRC.EFFECT 0,036e4,4,16,6
      ELIF (<ARGN>==18)   // s_fireball
         SRC.EFFECT 0,036d4,4,16,6
      ELIF (<ARGN>==30)   // s_lightning
         EFFECT 1,i_fx_curse,4,16,6
      ELIF (<ARGN>==49)   // s_chain_lightning
         EFFECT 1,i_fx_curse,4,16,6
      ELIF (<ARGN>==51)   // s_flamestrike
         SRC.EFFECT 3,03709,4,16,6
      ENDIF

   ENDIF
   RETURN 1
ELSE
//<[MOD] ----------------- Восстановление/сохранение значений спелла ------------------->
   IF (<VAR0.Spell_<ARGN>_Effect>)
      SERV.SPELL.<ARGN>.EFFECT = "<VAR0.Spell_<ARGN>_Effect>"
   ELSE
      VAR0.Spell_<ARGN>_Effect = "<SERV.SPELL.<ARGN>.EFFECT>"
   ENDIF

   IF (<VAR0.Spell_<ARGN>_Duration>)
      SERV.SPELL.<ARGN>.DURATION = "<VAR0.Spell_<ARGN>_Duration>"
   ELSE
      VAR0.Spell_<ARGN>_Duration = "<SERV.SPELL.<ARGN>.DURATION>"
   ENDIF

   IF (<VAR0.Spell_<ARGN>_ManaUse>)
      SERV.SPELL.<ARGN>.MANAUSE = "<VAR0.Spell_<ARGN>_ManaUse>"
   ELSE
      VAR0.Spell_<ARGN>_ManaUse = "<SERV.SPELL.<ARGN>.MANAUSE>"
   ENDIF

//<[MOD] ------------ Уменьшение затрат маны бонусом ManaRequirement ------------------->
   SERV.SPELL.<ARGN>.MANAUSE -= <EVAL (<SERV.SPELL.<ARGN>.MANAUSE>*<SRC.GetCombatEffect ManaRequirement>)/100>

//<[MOD] -------------------- Вычисление модификации сил магии ------------------------->
   LOCAL.SpellDiff = "<QVAL (<SRC.INT> < 100) ?-<EVAL (100-<SRC.INT>)>:<EVAL (<SRC.INT>-100)> >"

//<[MOD] -------------------- Увеличение/уменьшение сил магии -------------------------->
   IF (<SERV.SPELL.<ARGN>.MANAUSE>) // Если есть значение затрат маны
      SERV.SPELL.<ARGN>.MANAUSE -= <EVAL (<SERV.SPELL.<ARGN>.MANAUSE>*<SRC.GetCombatEffect ManaRequirement>)/100>
      IF (<SERV.SPELL.<ARGN>.MANAUSE> < 0)
         SERV.SPELL.<ARGN>.MANAUSE = 0
      ENDIF
   ENDIF

   IF (<SERV.SPELL.<ARGN>.DURATION>) // Если у спелла есть значение продолжительности
      SERV.SPELL.<ARGN>.DURATION += <EVAL (<SERV.SPELL.<ARGN>.DURATION>*<LOCAL.SpellDiff>)/100>
      IF (<SERV.SPELL.<ARGN>.DURATION> < 1)
         SERV.SPELL.<ARGN>.DURATION = 0
      ENDIF
   ENDIF

   IF (<SERV.SPELL.<ARGN>.EFFECT>) // Если у спелла есть значение урона
      SERV.SPELL.<ARGN>.EFFECT += <EVAL (<SERV.SPELL.<ARGN>.EFFECT>*<LOCAL.SpellDiff>)/100>
      IF (<SERV.SPELL.<ARGN>.FLAGS>&spellflag_harm) // Если спелл является harm
         SERV.SPELL.<ARGN>.EFFECT += <EVAL (<SERV.SPELL.<ARGN>.EFFECT>*<EVAL <EvaluatingIntel>/15>)/100>
      ENDIF
      IF (<SERV.SPELL.<ARGN>.EFFECT> < 1)
         SERV.SPELL.<ARGN>.EFFECT = 0
      ENDIF
   ENDIF

//<[FIX] ------------------------- Применение спеллов на статы ------------------------->
   IF (<ARGN>==1)||(<ARGN>==3)||(<ARGN>==8)||(<ARGN>==9)||(<ARGN>==10)||(<ARGN>==16)||(<ARGN>==17)||(<ARGN>==27)

      // 1 - Clumsy      - STR= 0  DEX=-10 INT= 0
      // 3 - Feeblemind  - STR= 0  DEX= 0  INT=-10
      // 8 - Weaken      - STR=-10 DEX= 0  INT= 0
      // -----------------------------------------
      // 9 - Agility     - STR= 0  DEX=+10 INT= 0
      //10 - Cunning     - STR= 0  DEX= 0  INT=+10
      //16 - Strength    - STR=+10 DEX= 0  INT= 0
      // -----------------------------------------
      //17 - Bless       - STR=+5  DEX=+5  INT=+5
      //27 - Curse       - STR=-5  DEX=-5  INT=-5
      SOUND <SERV.SPELL.<ARGN>.SOUND>
      EFFECT 3,<SERV.SPELL.<ARGN>.EFFECT_ID>,15,15

      SERV.NEWITEM=i_memory_spell_stats
      NEW.DispID=<SERV.SPELL.<ARGN>.RUNE_ITEM>
      NEW.NAME=<SERV.SPELL.<ARGN>.NAME>
      NEW.LINK=<SRC.UID>
  
      IF (0)
      //<--------------------------------- Increased spells ---------------------------------->
      ELIF (<ARGN>== 1) // Clumsy      - STR= 0  DEX=-10 INT= 0
         NEW.MOREM=0       // Mode: 0=- 1=+
         NEW.MOREY=<SERV.SPELL.<ARGN>.EFFECT>  // DEX
      ELIF (<ARGN>== 3)
         NEW.MOREM=0       // Mode: 0=- 1=+
         NEW.MOREZ=<SERV.SPELL.<ARGN>.EFFECT>  // INT
      ELIF (<ARGN>== 8)
         NEW.MOREM=0       // Mode: 0=- 1=+
         NEW.MOREX=<SERV.SPELL.<ARGN>.EFFECT>  // STR
   //<--------------------------------- Decreased spells ---------------------------------->
      ELIF (<ARGN>== 9)
         NEW.MOREM=1       // Mode: 0=- 1=+
         NEW.MOREY=<SERV.SPELL.<ARGN>.EFFECT>  // DEX
      ELIF (<ARGN>==10)
         NEW.MOREM=1       // Mode: 0=- 1=+
         NEW.MOREZ=<SERV.SPELL.<ARGN>.EFFECT>  // INT
      ELIF (<ARGN>==16)
         NEW.MOREM=1       // Mode: 0=- 1=+
         NEW.MOREX=<SERV.SPELL.<ARGN>.EFFECT>  // STR
   //<------------------------------- Increased mass spell -------------------------------->
      ELIF (<ARGN>==17)
         NEW.MOREM=1       // Mode: 0=- 1=+
         NEW.MOREX=<SERV.SPELL.<ARGN>.EFFECT>  // STR
         NEW.MOREY=<SERV.SPELL.<ARGN>.EFFECT>  // DEX
         NEW.MOREZ=<SERV.SPELL.<ARGN>.EFFECT>  // INT
   //<------------------------------- Decreased mass spell -------------------------------->
      ELIF (<ARGN>==27)
         NEW.MOREM=0       // Mode: 0=- 1=+
         NEW.MOREX=<SERV.SPELL.<ARGN>.EFFECT>  // STR
         NEW.MOREY=<SERV.SPELL.<ARGN>.EFFECT>  // DEX
         NEW.MOREZ=<SERV.SPELL.<ARGN>.EFFECT>  // INT
      ENDIF  
      EQUIP=<NEW.UID>
      NEW.TIMER=<SERV.SPELL.<ARGN>.DURATION>
      RETURN 1
   ENDIF

//<[MOD] ------------------------------------------------------------------------------->
   SRC.SYSMESSAGE @73, Spell Diff: <EVAL <LOCAL.SpellDiff>>%
   SRC.SYSMESSAGE @73, Cast Effect: <SERV.SPELL.<ARGN>.EFFECT>
   SRC.SYSMESSAGE @73, Cast Duraction: <SERV.SPELL.<ARGN>.DURATION>
   SRC.SYSMESSAGE @73, Cast Mana Use: <SERV.SPELL.<ARGN>.MANAUSE>
ENDIF

//<------------------------------------------------------------------------------------->
//<------------------------------------------------------------------------------------->
//<- Melee Combat ---------------------------------------------------------------------->
//<------------------------------------------------------------------------------------->
//<------------------------------------------------------------------------------------->

//<------------------------------------------------------------------------------------->
//< TRIGGER: HitTry
//<------------------------------------------------------------------------------------->
ON=@HitTry
//<----------------------------- Если аттакуемый Game Master --------------------------->
IF (<SRC.IsGM>)
   SYSMESSAGE You can`t attack a Game Master.
//<------------------------ Если на каком нить игроке есть invul ----------------------->
ELIF (<FLAGS>&statf_invul) || (<SRC.FLAGS>&statf_invul)
   SYSMESSAGE You can't attack <SRC.NAME> in your state.
//<---------------------------- Если аттакуемый в No PVP зоне -------------------------->
ELIF (<REGION.FLAGS>&region_flag_safe) || (<REGION.FLAGS>&region_flag_no_pvp)
   SYSMESSAGE You can't attack <SRC.NAME> here.
//<----------------------------- Если аттакуещий в Safe зоне --------------------------->
ELIF (<SRC.REGION.FLAGS>&region_flag_safe) || (<SRC.REGION.FLAGS>&region_flag_no_pvp)
   SYSMESSAGE You can't attack <SRC.NAME> here.
ELIF (<STAM> < 1)
   STAM=0
ELSE
   ARGN = 20 // Скорость рукопашного удара (По умолчанию)
   IF StrMatch("t_weapon_*","<ARGO.TYPE>")
      IF (<EVAL 0<DEF.<UID.<ARGO.UID>.DispID>_speed>>)     // Скорость оружий по его дополнительному типу
         ARGN = <FVAL <DEF.<UID.<ARGO.UID>.DispID>_speed>>
      ELIF (<EVAL 0<DEF.<UID.<ARGO.UID>.BaseID>_speed>>)   // Скорость оружий по его главному типу
         ARGN = <FVAL <DEF.<UID.<ARGO.UID>.BaseID>_speed>>
      ELSE  // Если предмет не прописан в базе оружий то сообщяем игроку
         SYSMESSAGEUA 32 0 0 0` If you have seen this message, speed of your
         SYSMESSAGEUA 32 0 0 0` weapon is not registered, call Game Master!
         SERV.LOG [<NAME>] use weapon <ARGO.NAME>[<ARGO.UID>], is not registered.
         RETURN 1
      ENDIF
   ENDIF

//<[MOD] ---------- Каждые 10 ловкости увеличиывают/уменьшают скорость на 0.1 ---------->
   ARGN = <ARGN> + <EVAL (100-<DEX>)/10>
//<[MOD] --------------- Применение эффекта боя на скорость с предметов ---------------->
   ARGN = <ARGN> - <FVAL (<ARGN>*<GetCombatEffect DamageSpeed>)/100>
//<[MOD] ----------------- Потеря стамины в зависимости от типа оружия ----------------->
   STAM = <STAM> - <ARGO.LAYER>

   IF (<FVAL <ARGN>> < 0.1)
      ARGN=0.1
   ENDIF

   SYSMESSAGE @0c2, Weapon speed: <FVAL <ARGN>>
   RETURN 0
ENDIF
RETURN 1


//<------------------------------------------------------------------------------------->
//< TRIGGER: HitMiss
//<------------------------------------------------------------------------------------->
ON=@HitMiss
SRC.SYSMESSAGE <NAME> miss you.
SYSMESSAGE You miss <SRC.NAME>


//<------------------------------------------------------------------------------------->
//< TRIGGER: Hit  
//<------------------------------------------------------------------------------------->
ON=@Hit
//<[MOD]------------------- Получение базового урона персонажа ------------------------->
IF StrMatch("t_weapon_*","<ARGO.TYPE>") || StrMatch("t_wand","<ARGO.TYPE>")
   ARGN = RAND({<ARGO.DAM>})
ELSE
   ARGN = <EVAL ((<STR>*10)/100) + RAND(2)>
ENDIF

//<[MOD] ------------------ Увеличение урона от силы персонажа ------------------------->
//ARGN += <EVAL (<STR>-100)/5>
ARGN += <EVAL (<STR>/10)> // Default of Client Formula

//<[MOD] --------------- Увеличение урона от бонуса увеличения урона ------------------->
ARGN += <EVAL (<ARGN>*<GetCombatEffect DamageIncrease>)/100>

//<[MOD] ------------------- Потеря урона луков от дистанции --------------------------->
IF StrMatch("t_weapon_bow","<ARGO.TYPE>") || StrMatch("t_weapon_xbow","<ARGO.TYPE>")
   IF (<ARGO.ID>==013b1) // Если это bow (лук)
      ARGN = <ARGN> - <EVAL (<DISTANCE>*135)/100>
   ELIF (<ARGO.ID>==0f4f) // Если это crossbow (арбалет)
      ARGN = <ARGN> - <EVAL (<DISTANCE>*120)/100>
   ELIF (<ARGO.ID>==013fc) // Если это heavy crossbow (тяжолый арбалет)
      ARGN = <ARGN> - <EVAL (<DISTANCE>*105)/100>
   ENDIF
ELSE
//<[MOD] -------- Дополнительный удар со спины (backstab) от оружия ближнего боя ------->
   IF (<ARGN> > 0) && (<SRC.DIR>==<DIR>) && (RAND(3)==0)
      TAG.Backstab=<EVAL (<ARGN>*75)/100>
   ENDIF
//<[MOD] --------------- Критический удар оружием от оружия ближнего боя --------------->
   IF (<ARGN> > 0) && (RAND(50)==0)
      TAG.Critical=<EVAL (<ARGN>*135)/100>
   ENDIF
ENDIF

//<[FIX] ----------------- Поломка одетых предметов оружия при ударе ------------------->
IF (<ARGN> > 0)
   DamageEquipedWeapon
ENDIF


//<------------------------------------------------------------------------------------->
//<------------------------------------------------------------------------------------->
//< TRIGGER: GetHit                                                                     >
//<------------------------------------------------------------------------------------->
ON=@GetHit
//<[MOD] ------------------- Получаемый урон является магическим ----------------------->
IF (<ARGN2>&dam_magic)
//<[MOD] ----------------- Применение потери силы магии от резиста --------------------->
   ARGN -= <EVAL (<ARGN>*<EVAL <MagicResistance>/25>) / 100>
//<[MOD] ----------- Применение потери силы магии от бонуса ResistMagic ---------------->
   ARGN -= <EVAL (<ARGN>*<GetCombatEffect ResistMagic>)/100>


//<[MOD] ------- Применение потери силы огненной магии от бонуса ResistFire ------------>
   IF (<ARGN2>&dam_fire)
      ARGN -= <EVAL (<ARGN>*<GetCombatEffect ResistFire>)/100>
   ENDIF
//<[MOD] ---- Применение потери силы энергетической магии от бонуса ResistEnergy ------->
   IF (<ARGN2>&dam_lightning)
      ARGN -= <EVAL (<ARGN>*<GetCombatEffect ResistEnergy>)/100>
   ENDIF
//<[MOD] ----- Применение потери силы отравляющей магии от бонуса ResistPoison --------->
   IF (<ARGN2>&dam_poison)
      ARGN -= <EVAL (<ARGN>*<GetCombatEffect ResistPoison>)/100>
   ENDIF

//<[MOD] ------------------- Получаемый урон является физическим ----------------------->
ELSE
//<[MOD] -------- Дополнительный удар со спины (backstab) от оружия ближнего боя ------->
   IF (<SRC.TAG0.Backstab>)
      SRC.SAY @33, Backstab!
      ARGN += <EVAL <SRC.TAG.Backstab>>
      SRC.TAG.Backstab =
   ENDIF
//<[MOD] --------------- Критический удар оружием от оружия ближнего боя --------------->
   IF (<SRC.TAG0.Critical>)
      SRC.SAY @33, Critical!
      ARGN += <EVAL <SRC.TAG.Critical>>
      SRC.TAG.Critical =
   ENDIF

//<[MOD] -------------------- Сопративляемость к физическому урону --------------------->
   ARGN -= <EVAL (<ARGN>*<GetCombatEffect ResistPhysical>)/100>

//<[MOD] -------------------- Уменьшение урона от количества брони --------------------->
   ARGN -= <EVAL (<AC>*45)/100>

//<[MOD] -------------------- Уменьшение урона бонусом сопративления ------------------->
//   ARGN -= <EVAL (<ARGN>*<GetCombatEffect Defense>)/100>

//<[FIX] ------------- Поломка одетых предметов брони при получении урона -------------->
   IF (<ARGN> > 0)
      DamageEquipedArmor
   ENDIF
ENDIF

IF (<ARGN> > 0)
//<[MOD] --------------- Прерывание каста с книшки, при получении удара ---------------->
   IF (<SRC.UID>!=<UID>) && !(<TAG0.IsScroll>) && (<ACTION>==Skill_Magery)
      ACTION=-1
   ENDIF

//<[FIX] ---------------- Выводим игрока из парализа, если он в нём -------------------->
   TRY FINDID.i_rune_paralyze.REMOVE
   TRY FINDID.i_rune_paralyze_field.REMOVE
ENDIF

//<[MOD] ---------------- ворот от удара бонусом "увернуться от удара" ----------------->
IF (RAND(100) < <EVAL <GetCombatEffect Evasion>>)
   SYSMESSAGE @73, You have evaded from attack.
   SRC.SYSMESSAGE @33, <NAME> has evaded your attack.
   ARGN=0
   RETURN 1
ENDIF

//<[MOD] ---------------------- Выполнение результатов урона --------------------------->
IF (<ARGN> > 0)
//<[MOD] ------------------- Вывод информации о получении урона ------------------------>
   IF (<UID>==<SRC.UID>)
      SRC.SYSMESSAGE @<QVAL (<ARGN2>&dam_magic)?0c2:04a>, You damaged on <ARGN> hits.
   ELIF (<ARGN2>&dam_magic)
      SRC.SYSMESSAGE @0c2, You damage <NAME> on <ARGN> hits.
      SYSMESSAGE @026, <SRC.NAME> damage you on <ARGN> hits.
   ELSE
      SRC.SYSMESSAGE @04a, You damage <NAME> on <ARGN> hits.
      SYSMESSAGE @026, <SRC.NAME> damage you on <ARGN> hits.
   ENDIF
ELSE
   SYSMESSAGE You parry is blow.
   SRC.SYSMESSAGE <NAME> is parry blow.
   RETURN 1
ENDIF
//<[MOD] ---------- Установка GOD типа урона, так как сделали все вычисления ----------->
ARGN2=01 // Чтоб урон прошёл на столько, чему равно ARGN

//<------------------------------------------------------------------------------------->
//<[MOD] ------------------------ Мемори на изменение статов --------------------------->
//<------------------------------------------------------------------------------------->
[ITEMDEF i_memory_spell_stats]
DEFNAME=i_memory_spell_stats
NAME=memory spell stats
ID=02093
LAYER=32
TYPE=t_eq_script

ON=@Create
ATTR=attr_decay|attr_newbie|attr_invis

ON=@Equip
IF (<MOREM>)
   CONT.MODSTR += <MOREX>
   CONT.MODDEX += <MOREY>
   CONT.MODINT += <MOREZ>
ELSE
   CONT.MODSTR -= <MOREX>
   CONT.MODDEX -= <MOREY>
   CONT.MODINT -= <MOREZ>
ENDIF

ON=@Unequip
IF (<MOREM>)
   CONT.MODSTR -= <MOREX>
   CONT.MODDEX -= <MOREY>
   CONT.MODINT -= <MOREZ>
ELSE
   CONT.MODSTR += <MOREX>
   CONT.MODDEX += <MOREY>
   CONT.MODINT += <MOREZ>
ENDIF

ON=@Timer
REMOVE
RETURN 1

[EOF]


SphereDefsX.scp
Код

[DEFNAME WEAPONS_SPEED]
i_club_speed             20
i_hatchet_speed          20
i_pickaxe_speed          20
i_cleaver_meat_speed     20
i_knife_skinning_speed   20
i_knife_butcher_speed    20
i_dagger_speed           20
i_hammer_smith_speed     20
i_hammer_sledge_speed    23
i_crook_sheperds_speed   23
i_staff_black_speed      32
i_staff_quarter_speed    35
i_staff_gnarled_speed    38
t_wand_speed             20

// Swordsmanship (swords)
i_cutlass_speed          20
i_katana_speed           23
i_scimitar_speed         26
i_sword_broad_speed      29
i_sword_long_speed       32
i_sword_viking_speed     35
i_halberd_speed          38
i_bardiche_speed         41
i_blade_long_speed       44

// Swordsmanship(axes)
i_axe_war_speed          23
i_axe_speed              26
i_axe_exec_speed         29
i_axe_double_speed       32
i_axe_two_hand_speed     35
i_axe_battle_large_speed 38

// Fencing
i_kryss_speed            23
i_war_fork_speed         26
i_spear_short_speed      32
i_pitchfork_speed        35
i_spear_speed            38

// MaceFighting
i_maul_speed             23
i_mace_speed             26
i_mace_war_speed         32
i_hammer_pick_speed      35
i_hammer_war_speed       38

i_bow_speed              26
i_crossbow_speed         32
i_crossbow_heavy_speed   35


--------------------
Все мои скрипты и сервера: ftp://sphere@magery.ru
FTP работает не всегда, только когда мой комп включен. По вечерам часто!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Sirocco
сообщение 18.12.2014, 10:43
Сообщение #2


******

Expert
Сообщений: 810
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15529
Пользователь №: 14.566
Возраст: 30



Ну я даже и не знаю.... действительно почему?
src.tag.DamageIncreas=0<src.tag.DamageIncrease>+-70
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Breaker   Pvp Combat System [0.56b]   22.4.2007, 5:19
asvama   Привет.Я установил твои скрипт и поставил его как ...   24.4.2007, 17:57
Breaker   Да просто Вы забыли добавить в сферу функцию GetCo...   25.4.2007, 12:55
asvama   Спасиб за помощь.Не знал што надо в sphere.scp доб...   25.4.2007, 15:27
Breaker   На предмет ON=@PickUp_Pack RETURN 1   26.4.2007, 4:03
NFx   брякер, а ты чо это, решил отдать свои запасы наро...   28.4.2007, 19:52
DihlofozzZ   наверно движуху получше написал :)   29.4.2007, 10:54
asvama   [FUNCTION GetCombatEffect] LOCAL.Result="0...   29.4.2007, 19:04
Breaker   Можешь обьяснить что делает ета функция?А то она ...   30.4.2007, 13:37
Wuu   Ishit po layeram =)   30.4.2007, 11:52
asvama   Так по немногу начинаю понимать.Значит штобы итем ...   1.5.2007, 17:05
KonstantiN   Бонусные переменные могут быть использованны на л...   1.5.2007, 20:12
evil3   [code] Бонусные переменные могут быть использован...   2.5.2007, 9:34
-=BASO=-   Так будет правильней:[code]on=@equip src.tag.Evas...   2.5.2007, 11:29
-=BASO=-   [ITEMDEF i_Axe] ... TAG.ResistFire=10 .......   1.5.2007, 20:58
asvama   Где и что мне надо изменить чтобы самому распредел...   2.5.2007, 11:05
LawbreaK   Брэйкер и Басо будьте по спокойнее. Если уж решили...   2.5.2007, 14:55
Breaker   Брэйкер и Басо будьте по спокойнее. Если уж решил...   4.5.2007, 0:36
-=BASO=-   Я не сталкивался с этими клиентами(пока не было та...   2.5.2007, 16:07
LawbreaK   Просто для меня было не поняткой, как вытащить из ...   4.5.2007, 0:49
tayfun   Проблемы: 1. С кулока можно убить кого угодно т.к...   10.7.2007, 21:31
Breaker   Проблемы: 1. С кулока можно убить кого угодно т.к...   14.7.2007, 5:51
NeoBahamut   меня интересует где в Backstab идёт проверка что ч...   27.7.2007, 0:59
DihlofozzZ   мне впадлу просматривать весь скрипт, но если пише...   27.7.2007, 1:15
NeoBahamut   я вообщето эти строчки пытался использовать вот та...   27.7.2007, 2:10
DihlofozzZ   а что в данном случае у тебя <DIR> и какой т...   27.7.2007, 10:24
Breaker   ON=@GetHit ..... //<[MOD] -------- До...   29.7.2007, 5:59
mAdShAkEr   Скажите почему не добавляет бонус к оружию ? ARGN ...   18.12.2014, 2:59


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

 

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