Перейти к содержанию
Авторизация  
Серый_Ветер

Редактирование Скилов.

Рекомендуемые сообщения

скрил:

Скрытый текст
<------><skill id="1557" levels="1" name="Servitor Share">^M
<------><------><set name="magicType" val="MAGIC"/>^M
<------><------><set name="icon" val="icon.skill1557"/>^M
<------><------><set name="effectPoint" val="669"/>^M
<------><------><set name="castRange" val="400"/>^M
<------><------><set name="hitTime" val="1000"/>^M
<------><------><set name="magicLvl" val="83"/>^M
<------><------><set name="mpConsume" val="35"/>^M
<------><------><set name="operateType" val="OP_ACTIVE"/>^M
<------><------><set name="reuseDelay" val="60000"/>^M
<------><------><set name="skillType" val="BUFF"/>^M
<------><------><set name="target" val="TARGET_PET"/>^M
<------><------><set name="cancelable" val="false"/>^M
<------><------><set name="isSelfDispellable" val="false"/>^M
<------><------><set name="isSaveable" val="false"/>^M
<------><------><for>^M
<------><------><------><effect count="1" name="Buff" time="1200" val="0" applyOnCaster="true" applyOnSummon="false"/>^M
<------><------><------><effect count="1" name="ServitorShare" time="1200" val="0" displayId="-1">^M
<------><------><------><------><add order="0x40" stat="pAtk" val="0.5"/>^M
<------><------><------><------><add order="0x40" stat="pDef" val="0.5"/>^M
<------><------><------><------><add order="0x40" stat="mAtk" val="0.25"/>^M
<------><------><------><------><add order="0x40" stat="mDef" val="0.25"/>^M
<------><------><------><------><add order="0x40" stat="maxHp" val="0.1"/>^M
<------><------><------><------><add order="0x40" stat="maxMp" val="0.1"/>^M
<------><------><------><------><add order="0x40" stat="rCrit" val="0.2"/>^M
<------><------><------><------><add order="0x40" stat="pAtkSpd" val="0.1"/>^M
<------><------><------><------><add order="0x40" stat="mAtkSpd" val="0.03"/>^M
<------><------><------></effect>^M
<------><------></for>^M
<------></skill>^M

 

имеем в итоге:

имеем до:

скорость атаки у кота без бафа - 297

хп у кота без бафа 6053

маны у кота 2143

по шансу крит атаки у меня без бафа 40 у кота 44

 

у чара - 244 скорость атаки

маны - 2933

хп - 3550

 

после бафа:

у кота 6110 хп и 2208 маны

скорость атаки у кота - 297 - без изменений

крит атаки 52 у кота

 

что та не то с настройками...

где править можно/нужно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
add на mull измени.

 

а потом что сделать? reload чего/кого

чтобы целиком серв не перезагружать...

 

сделал reload skills

так теперь ничего не дает

вообще ничего не даёт о0

причём ниодин параметр)

Скрытый текст

<------><skill id="1557" levels="1" name="Servitor Share">^M
<------><------><set name="magicType" val="MAGIC"/>^M
<------><------><set name="icon" val="icon.skill1557"/>^M
<------><------><set name="effectPoint" val="669"/>^M
<------><------><set name="castRange" val="400"/>^M
<------><------><set name="hitTime" val="1000"/>^M
<------><------><set name="magicLvl" val="83"/>^M
<------><------><set name="mpConsume" val="35"/>^M
<------><------><set name="operateType" val="OP_ACTIVE"/>^M
<------><------><set name="reuseDelay" val="60000"/>^M
<------><------><set name="skillType" val="BUFF"/>^M
<------><------><set name="target" val="TARGET_PET"/>^M
<------><------><set name="cancelable" val="false"/>^M
<------><------><set name="isSelfDispellable" val="false"/>^M
<------><------><set name="isSaveable" val="false"/>^M
<------><------><for>^M
<------><------><------><effect count="1" name="Buff" time="1200" val="0" applyOnCaster="true" applyOnSummon="false"/>^M
<------><------><------><effect count="1" name="ServitorShare" time="1200" val="0" displayId="-1">^M
<------><------><------><------><mull order="0x40" stat="pAtk" val="0.5"/>^M
<------><------><------><------><mull order="0x40" stat="pDef" val="0.5"/>^M
<------><------><------><------><mull order="0x40" stat="mAtk" val="0.25"/>^M
<------><------><------><------><mull order="0x40" stat="mDef" val="0.25"/>^M
<------><------><------><------><mull order="0x40" stat="maxHp" val="0.1"/>^M
<------><------><------><------><mull order="0x40" stat="maxMp" val="0.1"/>^M
<------><------><------><------><mull order="0x40" stat="rCrit" val="0.2"/>^M
<------><------><------><------><mull order="0x40" stat="pAtkSpd" val="0.1"/>^M
<------><------><------><------><mull order="0x40" stat="mAtkSpd" val="0.03"/>^M
<------><------><------></effect>^M
<------><------></for>^M
<------></skill>^M

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
а потом что сделать? reload чего/кого

чтобы целиком серв не перезагружать...

 

сделал reload skills

так теперь ничего не дает

 

Скрытый текст

<------><skill id="1557" levels="1" name="Servitor Share">^M
<------><------><set name="magicType" val="MAGIC"/>^M
<------><------><set name="icon" val="icon.skill1557"/>^M
<------><------><set name="effectPoint" val="669"/>^M
<------><------><set name="castRange" val="400"/>^M
<------><------><set name="hitTime" val="1000"/>^M
<------><------><set name="magicLvl" val="83"/>^M
<------><------><set name="mpConsume" val="35"/>^M
<------><------><set name="operateType" val="OP_ACTIVE"/>^M
<------><------><set name="reuseDelay" val="60000"/>^M
<------><------><set name="skillType" val="BUFF"/>^M
<------><------><set name="target" val="TARGET_PET"/>^M
<------><------><set name="cancelable" val="false"/>^M
<------><------><set name="isSelfDispellable" val="false"/>^M
<------><------><set name="isSaveable" val="false"/>^M
<------><------><for>^M
<------><------><------><effect count="1" name="Buff" time="1200" val="0" applyOnCaster="true" applyOnSummon="false"/>^M
<------><------><------><effect count="1" name="ServitorShare" time="1200" val="0" displayId="-1">^M
<------><------><------><------><mull order="0x40" stat="pAtk" val="0.5"/>^M
<------><------><------><------><mull order="0x40" stat="pDef" val="0.5"/>^M
<------><------><------><------><mull order="0x40" stat="mAtk" val="0.25"/>^M
<------><------><------><------><mull order="0x40" stat="mDef" val="0.25"/>^M
<------><------><------><------><mull order="0x40" stat="maxHp" val="0.1"/>^M
<------><------><------><------><mull order="0x40" stat="maxMp" val="0.1"/>^M
<------><------><------><------><mull order="0x40" stat="rCrit" val="0.2"/>^M
<------><------><------><------><mull order="0x40" stat="pAtkSpd" val="0.1"/>^M
<------><------><------><------><mull order="0x40" stat="mAtkSpd" val="0.03"/>^M
<------><------><------></effect>^M
<------><------></for>^M
<------></skill>^M

извиняюсь, не mull, а mul . да и это вы должны знать как этот параметр правильно писать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Скрытый текст
<------><------><------><------><mul order="0x40" stat="pAtk" val="0.5"/>^M
<------><------><------><------><mul order="0x40" stat="pDef" val="0.5"/>^M
<------><------><------><------><mul order="0x40" stat="mAtk" val="0.25"/>^M
<------><------><------><------><mul order="0x40" stat="mDef" val="0.25"/>^M
<------><------><------><------><mul order="0x40" stat="maxHp" val="0.1"/>^M
<------><------><------><------><mul order="0x40" stat="maxMp" val="0.1"/>^M
<------><------><------><------><mul order="0x40" stat="rCrit" val="0.2"/>^M
<------><------><------><------><mul order="0x40" stat="pAtkSpd" val="0.1"/>^M
<------><------><------><------><mul order="0x40" stat="mAtkSpd" val="0.03"/>^M



Atk.spd
Casting
без изменений вообще.

HP но добавляется не 10%
MP но добавляется не 10%

Crit Rate передаёт ,но начальные, без шмота


остальное рабоает.

и релоад не помогает, только рестарт серва. Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

новые "данные" о скиллах, точнее его попытке заставить работать.

 

когда скилл заюзался

статы поменялись все на должные.

но как только скилл пропал, статы вернулись обратно

такое ощущение что продолжительность работы скилла около 2х секунд

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это, я отсюда взял исходник с http://trac.l2jdp.com/browser/trunk/L2J_Da...01500-01599.xml

 

Скрытый текст
		<skill id="1557" levels="1" name="Servitor Share">
			<!-- H5 Skill -->
			<!-- Totally Unconfirmed -->
			<set name="aggroPoints" val="669" /> <!-- Guess -->
			<set name="castRange" val="400" />
			<set name="effectRange" val="900" />
			<set name="hitTime" val="1000" />
			<set name="isMagic" val="true" />
			<set name="magicLvl" val="83" />
			<set name="mpConsume" val="35" />
			<set name="operateType" val="OP_ACTIVE" />
			<set name="reuseDelay" val="60000" />
			<set name="skillType" val="BUFF" />
			<set name="target" val="TARGET_PET" />
			<for>
					<effect name="Buff" abnormalTime="1200" val="0" abnormalLvl="1" abnormalType="multi_buff">
							<mul order="0x30" stat="pAtk" val="1.5" />
							<mul order="0x30" stat="pDef" val="1.5" />
							<mul order="0x30" stat="mAtk" val="1.25" />
							<mul order="0x30" stat="mDef" val="1.25" />
							<mul order="0x30" stat="maxHp" val="1.1" />
							<mul order="0x30" stat="maxMp" val="1.1" />
							<basemul order="0x30" stat="rCrit" val="0.2" />
							<mul order="0x30" stat="pAtkSpd" val="1.1" />
							<mul order="0x30" stat="mAtkSpd" val="1.03" />
					</effect>
			</for>
	</skill>

 

вот с ним вс статы становтяся но на время 2 секунды.

 

все. разобрался. не те переменые были в исходнике.

теперь все как надо работает.

 

ток не закрывайте тему, еще буду баги писать.

 

таки не все баги убрались...

rCrit - не меняется.

и сам скилл стал отображаться на звере. должен почему то на чаре.

а при вводе переменныых applyOnCaster="true" applyOnSummon="false"

<effect name="Buff" time="1200" abnormalTime="1200" val="0" abnormalLvl="1" applyOnCaster="true" applyOnSummon="false" abnormalType="multi_buff">

скил отображается на чаре, но статы не меняются.

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не могу понять в чем прикол...

если вписать applyOnCaster="true" applyOnSummon="false"

то скилл отображается на чаре. но статы не меняются

если убрать, то все нормально, кроме rCrit, но скилл отображается на животном....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

подскажите как писать эти скиллы....

сделал, работает...

НО.

он умножает свои параметры, а не параметры чара.

часть просто нагло скопипастено с исходников l2j

Скрытый текст
		<skill id="1557" levels="1" name="Servitor Share">
					<set name="magicType" val="MAGIC"/>
					<set name="icon" val="icon.skill1557"/>
					<set name="effectPoint" val="669"/>
					<set name="castRange" val="400"/>
					<set name="hitTime" val="1000"/>
					<set name="magicLvl" val="83"/>
					<set name="mpConsume" val="35"/>
					<set name="operateType" val="OP_ACTIVE"/>
					<set name="reuseDelay" val="60000"/>
					<set name="skillType" val="BUFF"/>
					<set name="target" val="TARGET_PET"/>
					<set name="cancelable" val="false"/>
					<set name="isSelfDispellable" val="false"/>
					<set name="isSaveable" val="false"/>
					<set name="aggroPoints" val="669" />
					<set name="effectRange" val="900" />
					<set name="isMagic" val="true" />
			<for>
					   <effect count="1" name="ServitorShare" time="1200" val="0" applyOnCaster="true" applyOnSummon="false"
					   <effect count="1" name="Buff" displayId="-1" time="1200" val="0" abnormalLvl="1" abnormalType="multi_
							<mul order="0x40" stat="pAtk" val="1.5" />
							<mul order="0x40" stat="pDef" val="1.5" />
							<mul order="0x40" stat="mAtk" val="1.5" />
							<mul order="0x40" stat="mDef" val="1.5" />
							<mul order="0x40" stat="maxHp" val="1.5" />
							<mul order="0x40" stat="maxMp" val="1.5" />
							<mul order="0x40" stat="rCrit" val="1.5" />
							<mul order="0x40" stat="pAtkSpd" val="1.5" />
							<mul order="0x40" stat="mAtkSpd" val="1.5" />
					</effect>
			</for>
	</skill>

 

есть у питомца было 1 1 1 1 стало 1,5 1,5 1,5 1,5

он не реагирует на параметры самого игрока....

где не так написал?

 

судя по описанию:

Передает слуге умения призывателя. Передает слуге 50% Физ. Атк. / Защ., 25% Маг. Атк. / Маг. Защ. и 10% Макс. НР/МР, 20% Вероятности Крит Удара, 10% Скорости Физ. Атк. и 3% Скорости Маг. Атк. относительно характеристик призывателя.

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

перечитал раз 100 инструкцию:

 

сделано все правильно...

Манусал: Редактирование скилов. Подробное описание.

Скрытый текст

Все теги должны открываться и закрываться.

Теги, которые можно уместить в одну строку могут закрываться внутри себя.

 

Пример:

 <add .....> ..... </add>
<add ...../>

Формат xml-файлов:

<?xml version='1.0' encoding='utf-8'?>
<list>
<skill id="1312" levels="1" name="Fishing">
 <set name="weaponsAllowed" val="8192"/>
 <set name="mpConsume" val="1"/>
 <set name="reuseDelay" val="1000"/>
 <set name="target" val="TARGET_SELF"/>
 <set name="skillType" val="FISHING"/>
 <set name="operateType" val="OP_ACTIVE"/>
 <for>
 </for>
</skill>
<skill id="1313" levels="27" name="Pumping">
 <table name="#power"> 19 28 38 50 55 60 65 70 86 92 97 103 109 115 136 143 149 156 187 195 202 245 253 262 271 312 321 </table>
 <set name="weaponsAllowed" val="8192"/>
 <set name="mpConsume" val="2"/>
 <set name="power" val="#power"/>
 <set name="reuseDelay" val="2000"/>
 <set name="target" val="TARGET_SELF"/>
 <set name="skillType" val="PUMPING"/>
 <set name="operateType" val="OP_ACTIVE"/>
 <for>
 </for>
</skill>
</list>

1. <?xml version='1.0' encoding='utf-8'?>

Начало файла, заголовок

 

2. <list>

Начало списка скиллов, в конце файла нужно закрыть тегом </list>

 

3. <skill id="1312" levels="1" name="Fishing">

Начало описания скилла. После всех тегов должно завершаться </skill>

skill id - уникальный id для всех скиллов (и для мобов и для чаров)

levels - максимальное количество уровней у этого скилла

name - его название

 

Описание скиллов:

A) <table name="#power"> 19 28 38 50 </table>

Таблица. При ссылке на параметр #power, будет браться значение, соответствующее текущему левелу скилла.

Таблиц может быть несколько. Значения могут быть целыми и дробными, и должны отделяться пробелами.

Значений должно быть столько, сколько левелов у этого скилла.

 

:aggressive: <set name="COMMAND" val="VALUE"/>

 

Обязательные параметры для каждого скилла:

mpConsume - сколько маны требует

reuseDelay - время перезарядки

target - кто может быть целью

skillType - тип скилла

operateType - активный, пассивный, переключаемый (toggle)

 

Список параметров:

COMMAND: canLearn			- (value = "" - Этот скилл нельзя будет выучить. default - не прописывать)
	 castRange		   - Радиус действия каста
	 activateRate		- VALUE
	 absorbAbs		   - VALUE
	 absorbPart		  - VALUE
	 advancedFlag		- true/false
	 advancedMultiplier  - VALUE
	 behind			  - true/false
	 cancelable		  - true/false
	 cancelTarget		- true/false
	 charge_skill_id	 - skill_id для charge
	 corpse			  - true/false
	 critical			- true/false
	 crush			   - true/false
	 deathlink		   - true/false
	 displayId		   - VALUE
	 element			 - VALUE
	 expPenalty		  - пенальти на эксп ("0.9")
	 hitTime			 - VALUE
	 hpConsume		   - VALUE
	 isCubic			 - true/false
	 isDwarven		   - true/false
	 isMagic			 - true/false
	 itemConsumeCount	- VALUE
	 itemConsumeCountInTime - VALUE
	 itemConsumeDelay	- VALUE
	 itemConsumeId	   - item_id предмета, который будет использован "1458"
	 itemConsumeIdInTime - item_id предмета, который будет использован регулярно "1458"
	 itemConsumePeriods  - период за который будет идти регулярный расход предмета
	 lethal			  - true/false
	 levelModifier	   - VALUE
	 magicLevel		  - VALUE
	 minPledgeClass	  - VALUE
	 mpConsume		   - VALUE
	 negateDebuffs	   - true/false
	 negateEffects	   - "SLEEP"
	 negateEffects	   - "STUN SLEEP MUTE POISON BLEED BUFF DEBUFF PARALYZE"
	 negatePower		 - VALUE
	 negateStats		 - "mAtk mAtkSpd"
	 npcId			   - VALUE
	 num_charges		 - VALUE
	 onCrit			  - true/false
	 operateType		 - OP_ACTIVE/OP_PASSIVE/OP_TOGGLE
	 overHit			 - true/false
	 power			   - VALUE
	 reuseDelay		  - VALUE
	 save				- VALUE
	 seed_any			- true/false
	 seed1			   - VALUE
	 seed2			   - VALUE
	 seedCount		   - VALUE
	 seedcount1		  - VALUE
	 skillInterrupt	  - true/false
	 skillRadius		 - VALUE
	 skillTime		   - VALUE
	 skillType		   - AGGRESSION/AIEFFECTS/BALANCE/BLEED/BUFF/CANCEL/CHARGE/CHARGEDAM/COMBATPOINTHEAL/
CONFUSION/CONT/CRAFT/DANCE/DEBUFF/DOT/DRAIN/DRAIN_SOUL/ENCHANT_ARMOR/ENCHANT_WEAPON/FATALBLOW/FEED_PET/FISHING/HEAL
HEAL_PERCENT/HOT/INTERRUPT_DISARM/LETHAL_SHOT/LUCK/MANADAM/MANAHEAL/MDAM/MDAM_ELEMENTAL/MDOT/MUTE
NEGATE_EFFECTS/NEGATE_STATS/NOTDONE/PARALYZE/PASSIVE/PDAM/PDAM/POISON/PUMPING/RECALL/REELING/RESURRECT
ROOT/SEED/SIEGEFLAG/SLEEP/SONG/SOULSHOT/SPIRITSHOT/SPOIL/STUN/SUMMON/SUMMON/SUMMON_ITEM/SWEEP/TAKECASTLE
TELEPORT_NPC/TURNER/UNLOCK
	 SummonItemId		- VALUE
	 SummonMinCount	  - VALUE
	 target			  - TARGET_ALLY/TARGET_AREA/TARGET_AREA_AIM_CORPSE/TARGET_AURA/TARGET_CORPSE/
 TARGET_CORPSE_PLAYER/TARGET_HOLY/TARGET_ITEM/TARGET_MULTIFACE/TARGET_NONE/TARGET_ONE/TARGET_PARTY/
 TARGET_PET/TARGET_SELF/TARGET_UNLOCKABLE
	 unaggroing		  - true/false
	 undeadOnly		  - true/false
	 weaponsAllowed	  - VALUE

C) <cond>...</cond>

условия для активации скилла. Не используется в пассивках. Если скилл уже активирован, а условие

не соответствует, он НЕ отключается. условия проверяются только для активации.

 

Примеры использования:

<cond msg="Too much hit points."><player percentHP="25"/></cond> (будет выдаваться сообщение)

без сообщения:

<cond><player percentHP="25"/></cond> (25% hp)

или

<cond><player minHP="25"/></cond> (>25 hp)

 

 

D) <for>...</for>

список эффектов, которые применяются при активном скилле или пассивных.

Пример:

<!-- добавить к параметру MEN значение 2. -->

<for>

<add order="0x10" stat="MEN" val="2"/>

</for>

 

<!-- умножить значение maxHP на значение взятое из таблицы Tab-maxHP и высветить иконку баффа -->

<for>

<effect count="1" name="Buff" time="1200" val="0" stackOrder="#stack" stackType="hp_up">

<mul order="0x50" stat="maxHp" val="#Tab-maxHp"/>

</effect>

</for>

 

Эффекты добавляются словами:

  <add - добавить
  <mul - умножить
  <set - установить
  <sub - отнять
  <div - разделить

 

order означает порядок вычисления. (order 0x08, 0x10, 0x30, 0x40, 0x50, 0x60)

0x08 используется для базовой установки параметра

0x10 используется для базовой модификации параметра

0x30 используется для добавления базовых бонусов к параметру

0x40 для прибавления статических бонусов к параметру

0x50 для множителей параметров

0x60 для прибавления статических бонусов ПОСЛЕ множителей

 

Список изменяемых параметров:

 

Статы:

			 CON
		 DEX
		 INT
		 MEN
		 STR
		 WIT

Параметры:

			 accCombat
		 cAtk
		 cAtkStatic
		 hpEff
		 mAtk
		 mAtkSpd
		 maxCp
		 maxHp
		 maxLoad
		 maxMp
		 mDef
		 mpConsum
		 mpConsumePhysical
		 mpEff
		 mReuse
		 pAtk
		 pAtkRange
		 pAtkSpd
		 pDef
		 pReuse
		 rCrit
		 rCritPercent
		 regCp
		 regHp
		 regMp
		 sDef

Остальное:

			 absorbDam
		 breath
		 concentration
		 element
		 ExpSpMultiplier
		 poleAngle
		 rEvas
		 rShld
		 runSpd
		 shldAngle
		 transferDam
		 bighead

Рефлекты:

			  reflectDam
		 reflectMagicSkill
		 reflectPhysicSkill

Разное:

			 CommonRecipeLimit
		 DwarvenRecipeLimit
		 inventoryLimit
		 storageLimit
		 tradeLimit

Рейты:

 activateRate
blowRate
mCritRate

Резисты:

			 bleedRcpt
		 bluntWpnRcpt
		 bowWpnRcpt
		 cancelRcpt
		 daggerWpnRcpt
		 debuffRcpt
		 earthRcpt
		 fearRcpt
		 fireRcpt
		 paralyzeRcpt
		 poisonRcpt
		 poleWpnRcpt
		 rootRcpt
		 sacredRcpt
		 sleepRcpt
		 stunRcpt
		 swordWpnRcpt
		 unholyRcpt
		 waterRcpt
		 windRcpt

 

E) условия:

<COMMAND VARIABLE="VALUE">

могут быть заключены в теги <and> <or> <not>

 

Пример:

<sub order="0x10" stat="STR" val="1">

<game night="true"/>

</sub>

 

<and>

<player riding="strider"/>

<target castledoor="true"/>

</and>

 

список команд (COMMAND):

<player VARIABLE="PARAM">
	  VARIABLE: race	(Undead/MagicCreatures/Beasts/Animals/Plants/Humanoids/Spirits/Angels/Demons/Dragons/Giants/Bugs/Fairies/Humans/Elves/DarkElves/Orcs/Dwarves/Others/NonLivingBeings/SiegeWeapons/DefendingArmy/Mercenaries/UnknownCreature)
				level
				resting (true/false)
				moving  (true/false)
				running (true/false)
				riding  (strider/wyvern/none)
				hp

 <target VARIABLE="PARAM">
	  VARIABLE: aggro  (true/false)
				undead (true/false)
				pvp	(true/false)
				mob	(true/false)
				race   (Undead/MagicCreatures/Beasts/Animals/Plants/Humanoids/Spirits/Angels/Demons/Dragons/Giants/Bugs/Fairies/Humans/Elves/DarkElves/Orcs/Dwarves/Others/NonLivingBeings/SiegeWeapons/DefendingArmy/Mercenaries/UnknownCreature)
				castledoor (true/false)
				direction  (behind/front/side)

 <using VARIABLE="PARAM">
	 VARIABLE: kind	(Shield/Sword/Blunt/Dagger/Bow/Pole/Etc/Fist/Dual Sword/Dual Fist/Big Sword/Pet/Rod)
			   armor   (None/Light/Heavy/Magic/Pet)
			   skill   (skill_id)
			   slotitem

 <game VARIABLE="PARAM">
	VARIABLE: night (true/false)

F) Эффекты:

 

<effect count="1" name="Buff" time="1200" val="0" stackOrder="#stack" stackType="hp_up">

 

count = кол-во тиков, которые длится эффект

time = длина тика в секундах для этого эффекта (В примере у нас имеется один тик длинной 1200сек=20мин)

name = что это за эффект. У эффектов могут быть аффекты на старт, стоп и на время действия.

val = значение для "name"

stackOrder = "Сила эффекта", чтобы сравнивать какой более сильный при обновлении

stackType = "Тип эффекта", чтобы не накладывались схожие баффы

 

Пример: добавляется скорость атаки на 25%, но при этом отнимается mana каждые 2 тика 35 HP

длительность эффекта не ограничена (это у нас toggle)

<for>
 <effect count="0x7fffffff" name="HealOverTime" time="2" val="-35">
   <mul order="0x50" stat="pAtkSpd" val="1.25"/>
 </effect>
  </for>

 

 

 

должно все работать....

почему то не хочет :)

 

так же заметил:

effect count="1" name="ServitorShare" time="1200" val="0" applyOnCaster="true" applyOnSummon="false"
					   <effect count="1" name="Buff" displayId="-1" time="1200" val="0" abnormalLvl="1" abnormalType="multi_

 

как только местами поменять Buff на ServitorShare он начинает расчитывать нужным образом.. кроме крита, скорости, и неправильного счета п.деф.

 

а когда в вышеприведенном варианте, то статы только свои :( а не хозяина считает

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что еще может отвечать за работу скиллов?

 

 

http://dl.dropbox.com/u/85955293/VDT_HighFive.zip вот сборка.....

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пробовал вот так:

<------><------> <for>
<------><------><------><effect count="1" name="Buff" time="1200" val="0" applyOnCaster="true" applyOnSummon="false" >
							<set name="%pAtk%" stat="pAtk" val="1.5" />
							<set name="%pDef%" stat="pDef" val="1.5" />
							<set name="%mAtk%" stat="mAtk" val="1.25" />
							<set name="%mDef%" stat="mDef" val="1.25" />
							<set name="%maxHp%" stat="maxHp" val="1.1" />
							<set name="%maxMp%" stat="maxMp" val="1.1" />
							<set name="%rCrit%" stat="rCrit" val="1.2" />
							<set name="%pAtkSpd%" stat="pAtkSpd" val="1.1" />
					</effect>
<------><------><------><effect count="1" name="ServitorShare" time="1200" val="0" applyOnCaster="false" applyOnSummon="true"
<------><------><------><------><mul order="0x40" stat="pAtk" val="%pAtk%" />
<------><------><------><------><mul order="0x40" stat="pDef" val="%pDef%" />
<------><------><------><------><mul order="0x40" stat="mAtk" val="%mAtk%" />
<------><------><------><------><mul order="0x40" stat="mDef" val="%mDef%" />
<------><------><------><------><mul order="0x40" stat="maxHp" val="%maxHp%" />
<------><------><------><------><mul order="0x40" stat="maxMp" val="%maxMp%" />
<------><------><------><------><mul order="0x40" stat="rCrit" val="%rCrit%" />
<------><------><------><------><mul order="0x40" stat="pAtkSpd" val="%pAtkSpd%" />
<------><------><------><------><mul order="0x40" stat="mAtkSpd" val="%mAtkSpd%" />
<------><------><------></effect>
<------><------></for>

но походу нельзя обновлять переменные

 

[01:55:21] ERROR Error loading skill 1557

java.lang.NullPointerException

<------>at l2p.gameserver.skills.DocumentBase.attachFunc(Unknown Source)

<------>at l2p.gameserver.skills.DocumentBase.parseTemplate(Unknown Source)

<------>at l2p.gameserver.skills.DocumentBase.attachEffect(Unknown Source)

<------>at l2p.gameserver.skills.DocumentBase.parseTemplate(Unknown Source)

<------>at l2p.gameserver.skills.DocumentSkill.parseSkill(Unknown Source)

<------>at l2p.gameserver.skills.DocumentSkill.parseDocument(Unknown Source)

<------>at l2p.gameserver.skills.DocumentBase.parse(Unknown Source)

<------>at l2p.gameserver.skills.SkillsEngine.loadSkills(Unknown Source)

<------>at l2p.gameserver.skills.SkillsEngine.loadAllSkills(Unknown Source)

<------>at l2p.gameserver.tables.SkillTable.load(Unknown Source)

<------>at l2p.gameserver.tables.SkillTable.reload(Unknown Source)

<------>at l2p.gameserver.handler.admincommands.impl.AdminReload.useAdminCommand(Unknown Source)

<------>at l2p.gameserver.handler.admincommands.AdminCommandHandler.useAdminCommandHandler(

Unknown Source)

<------>at l2p.gameserver.clientpackets.RequestBypassToServer.runImpl(Unknown Source)

<------>at l2p.gameserver.clientpackets.L2GameClientPacket.run(Unknown Source)

<------>at l2p.commons.net.nio.impl.MMOExecutableQueue.run(Unknown Source)

<------>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

<------>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

<------>at java.lang.Thread.run(Thread.java:722)

[01:55:23] INFO SkillsEngine: Loaded 65979 skill templates from XML files. Max id: 90001, max level: 259

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
пробовал вот так:

<------><------> <for>
<------><------><------><effect count="1" name="Buff" time="1200" val="0" applyOnCaster="true" applyOnSummon="false" >
							<set name="%pAtk%" stat="pAtk" val="1.5" />
							<set name="%pDef%" stat="pDef" val="1.5" />
							<set name="%mAtk%" stat="mAtk" val="1.25" />
							<set name="%mDef%" stat="mDef" val="1.25" />
							<set name="%maxHp%" stat="maxHp" val="1.1" />
							<set name="%maxMp%" stat="maxMp" val="1.1" />
							<set name="%rCrit%" stat="rCrit" val="1.2" />
							<set name="%pAtkSpd%" stat="pAtkSpd" val="1.1" />
					</effect>
<------><------><------><effect count="1" name="ServitorShare" time="1200" val="0" applyOnCaster="false" applyOnSummon="true"
<------><------><------><------><mul order="0x40" stat="pAtk" val="%pAtk%" />
<------><------><------><------><mul order="0x40" stat="pDef" val="%pDef%" />
<------><------><------><------><mul order="0x40" stat="mAtk" val="%mAtk%" />
<------><------><------><------><mul order="0x40" stat="mDef" val="%mDef%" />
<------><------><------><------><mul order="0x40" stat="maxHp" val="%maxHp%" />
<------><------><------><------><mul order="0x40" stat="maxMp" val="%maxMp%" />
<------><------><------><------><mul order="0x40" stat="rCrit" val="%rCrit%" />
<------><------><------><------><mul order="0x40" stat="pAtkSpd" val="%pAtkSpd%" />
<------><------><------><------><mul order="0x40" stat="mAtkSpd" val="%mAtkSpd%" />
<------><------><------></effect>
<------><------></for>

но походу нельзя обновлять переменные

 

Ты стате сделал путь к стате.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ты стате сделал путь к стате.

я менял потом

<set name="%pAtk1%"

stat="pAtk" val="%pAtk1%"

 

тоже самое было.

 

уже так попробовал:

 

<------><skill id="1557" levels="1" name="Servitor Share">^M
<------><------><set name="magicType" val="MAGIC"/>^M
<------><------><set name="icon" val="icon.skill1557"/>^M
<------><------><set name="effectPoint" val="669"/>^M
<------><------><set name="castRange" val="400"/>^M
<------><------><set name="hitTime" val="1000"/>^M
<------><------><set name="magicLvl" val="83"/>^M
<------><------><set name="mpConsume" val="35"/>^M
<------><------><set name="operateType" val="OP_ACTIVE"/>^M
<------><------><set name="reuseDelay" val="600"/>^M
<------><------><set name="skillType" val="BUFF"/>^M
<------><------><set name="target" val="TARGET_PET"/>^M
<------><------><set name="cancelable" val="false"/>^M
<------><------><set name="isSelfDispellable" val="false"/>^M
<------><------><set name="isSaveable" val="false"/>^M
<------><------><set name="SumPATK" val=""/>
<------><------> <for>
<------><------><------><effect count="1" name="Buff" time="1200" val="0" applyOnCaster="true" applyOnSummon="false" />
<------><------><------><effect count="1" name="SumPATK">
<------><------><------>	<add order="0x40" stat="pAtk" val="0.5"/>
<------><------><------></effect>
<------><------><------><effect count="1" name="ServitorShare" time="1200" val="0" applyOnCaster="False" applyOnSummon="True"
<------><------><------>	<add order="0x40" stat="pAtk" val="SumPATK" />
<------><------><------></effect>
<------><------></for>
<------></skill>

 

тоже самое.

думал создам пеерменную.

 

так он кстати, вобще не работает..

хз, почему, вроде все соблюдено.

 

на соседнем форуме сказали что все в ядре считается...

блин, теперь декомпил предстоит :)

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Скрытый текст
package l2p.gameserver.skills.effects;
import l2p.gameserver.model.*;
import l2p.gameserver.stats.Env;
import l2p.gameserver.stats.Stats;
import l2p.gameserver.stats.funcs.Func;
import l2p.gameserver.stats.funcs.FuncTemplate;
// Referenced classes of package l2p.gameserver.skills.effects:
//					  EffectTemplate
public class EffectServitorShare extends Effect
{
	public class FuncShare extends Func
	{
			public void calc(Env env)
			{
					env.value += env.character.getPlayer().calcStat(stat, stat.getInit()) * value;
			}
			final EffectServitorShare this$0;
			public FuncShare(Stats stats, int i, Object obj, double d)
			{
					this$0 = EffectServitorShare.this;
					super(stats, i, obj, d);
			}
	}

	public EffectServitorShare(Env env, EffectTemplate effecttemplate)
	{
			super(env, effecttemplate);
	}
	public Func[] getStatFuncs()
	{
			FuncTemplate afunctemplate[] = getTemplate().getAttachedFuncs();
			Func afunc[] = new Func[afunctemplate.length];
			for(int i = 0; i < afunc.length; i++)
					afunc[i] = new FuncShare(afunctemplate[i]._stat, afunctemplate[i]._order, this, afunctemplate[i]._value);
			return afunc;
	}
	protected boolean onActionTime()
	{
			return false;
	}
}



откопал таки коды...

получается трабла где то тут:
env.value += env.character.getPlayer().calcStat(stat, stat.getInit()) * value;


так как первое значение, оно же дамаг, считается нормально, следующее же и за ним дальше уже косячат...

с кем можно "поговорить об этом" (с)психолог

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...