megala2 Четверг, 25.04.2024, 13:46
Приветствую Вас Гость | RSS
Главная | Малярия для la2base сборки - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Lineage2 » Архив манулов » Малярия для la2base сборки
Малярия для la2base сборки
megala2Дата: Среда, 25.03.2009, 18:30 | Сообщение # 1
~[ADM]~Gashish~
Группа: Администраторы
Сообщений: 182
Репутация: 14
Статус: Offline
1). в папке config залесть в script.cfg и вставить снизу там где custom: custom/q8009_HotSpringsBuffs/__init__.py
должно получиться вот так:

Quote
# Custom
custom/3995_echo/__init__.py
custom/4000_ShadowWeapons/__init__.py
custom/7000_HeroItems/__init__.py
custom/8000_RaidbossInfo/__init__.py
custom/8001_NpcLocationInfo/__init__.py
custom/6050_KetraOrcSupport/__init__.py
custom/6051_VarkaSilenosSupport/__init__.py
custom/q8009_HotSpringsBuffs/__init__.py <------------это

2). Создать папку в data\scripts\custom\ q8009_HotSpringsBuffs.
там же создать файл __init__.py и вставить:

Quote
import sys
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
from net.sf.l2j.gameserver.datatables import SkillTable
from net.sf.l2j.gameserver.model import L2Effect
from net.sf.l2j.util import Rnd
from java.lang import System

qn = "q8009_HotSpringsBuffs"

HSMOBS = [21316, 21321, 21314, 21319]

class Quest (JQuest) :

def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

def onAttack (self,npc,player,damage,isPet):
npcId = npc.getNpcId()
if npcId in HSMOBS:
if (Rnd.get(100) < 50):
if player.getFirstEffect(int(4552)):
holera = player.getFirstEffect(int(4552)).getLevel()
if (Rnd.get(100) < 30):
if holera < 10:
newholera = int(holera + 1)
npc.setTarget(player)
npc.doCast(SkillTable.getInstance().getInfo(4552,newholera))
else:
npc.setTarget(player)
npc.doCast(SkillTable .getInstance().getInfo(4552,1))
else:
if player.getFirstEffect(int(4554)):
malaria = player.getFirstEffect(int(4554)).getLevel()
if (Rnd.get(100) < 15):
if malaria < 10:
newmalaria = int(malaria + 1)
npc.setTarget(player)
npc.doCast(SkillTable.getInstance().getInfo(4554,newmalaria))
else:
npc.setTarget(player)
npc.doCast(SkillTabl e.getInstance().getInfo(4554,1))
return

QUEST = Quest(8009,qn,"custom")

for i in HSMOBS:
QUEST.addAttackId(i)

3).Правка самих скилов в data\stat\skills в файле 4500-4599:

<skill id="4554" levels="10" name="Hot Springs Malaria">
<table name="#Tab-mAtkSpd"> 1.04 1.08 1.12 1.16 1.08 1 1 1 1 1 </table>
<table name="#MpConsumeRate"> 1 0.96 0.96 0.96 0.92 0.92 0.92 0.88 0.88 0.84 </table>
<set name="mpConsume" val="55"/>
<set name="power" val="200"/>
<set name="target" val="TARGET_ONE"/>
<set name="hitTime" val="1"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="castRange" val="600"/>
<set name="effectRange" val="900"/>
<for>
<effect count="900" name="DamOverTime" time="4" val="0" abnormal="poison">
<mul order="0x40" stat="mAtkSpd" val="#Tab-mAtkSpd"/>
<mul order="0x40" stat="MpConsumeRate" val="#MpConsumeRate"/>
</effect>
</for>
</skill>

<skill id="4552" levels="10" name="Hot Springs Cholera">
<table name="#Tab-rEvas"> 0 3 3 3 5 5 5 8 8 10 </table>
<table name="#Tab-accCombat"> 3 6 8 10 6 0 0 0 0 0 </table>
<set name="mpConsume" val="69"/>
<set name="power" val="200"/>
<set name="target" val="TARGET_ONE"/>
<set name="hitTime" val="1"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="castRange" val="600"/>
<set name="effectRange" val="900"/>
<for>
<effect count="900" name="DamOverTime" time="4" val="0" abnormal="poison">
<add order="0x40" stat="accCombat" val="#Tab-accCombat"/>
<sub order="0x40" stat="rEvas" val="#Tab-rEvas"/>
</effect>
</for>
</skill>

-----------------------------------------------------------
The End!

smile


 
Форум » Lineage2 » Архив манулов » Малярия для la2base сборки
  • Страница 1 из 1
  • 1
Поиск:


Copyright MyCorp © 2024