трансформа для інтерлюда "EffectTransformation" Interlude

Бублик

Vagabond
Customer
Чи є можливість створити скіл подібний до Трансформи ШЕ і ЕЕ на HF(273) (з заміною пулу акртивних склів без самої візуальної трансформації) на протоколі IT(775)

Я не сильний в розумінні роботи з пакеткою але здаєтьс що при ініціалізації скіла відбувається відправка пакету Transform(id)?
що приводить докрашу клієнта.

Суть питання: куди дивитись і чи є варіант більш простогї передачі <set name="addSkills" val="10204;1" /> та створеня чистого пулу скілів(як в трансформі)


--------------------------ЕФЕКТ-----------------------------------------
package l2.gameserver.skills.effects;

import l2.gameserver.model.Effect;
import l2.gameserver.model.Player;
import l2.gameserver.skills.skillclasses.Transformation;
import l2.gameserver.stats.Env;

public final class EffectTransformation extends Effect {

public EffectTransformation(Env env, EffectTemplate template) {
super(env, template);

}

public boolean checkCondition() {
if (!this._effected.isPlayer()) {
return false;
} else {
return super.checkCondition();
}
}

public void onStart() {
super.onStart();
Player player = (Player)this._effected;

if (this.getSkill() instanceof Transformation) {
player.setTransformationName(((Transformation)this.getSkill()).transformationName);
}


int id = (int)this.calc();
player.setTransformation(id);
}




public void onExit() {
super.onExit();
if (this._effected.isPlayer()) {
Player player = (Player)this._effected;
player.setTransformation(0);
if (this.getSkill() instanceof Transformation) {
player.setTransformationName(null);
}
}
}

public boolean onActionTime() {
return false;
}
}

--------------------------СКІЛ-----------------------------------------

<skill id="538" levels="1" name="Final Form">
<!--
Need correct: reuseDelay, time
Last modify: 15.09.2008

Description: Transform into a final battle form. Consumes 20 soul.removeSkills
-->
<set name="icon" val="icon.skill0538" />
<set name="reuseDelay" val="3600" />
<set name="hitTime" val="2500" />
<set name="hpConsume" val="200" />
<set name="mpConsume2" val="70" />
<set name="target" val="TARGET_SELF" />
<set name="skillType" val="TRANSFORMATION" />
<set name="isReuseDelayPermanent" val="true" />
<set name="addSkills" val="10204;1" />
<set name="operateType" val="OP_ACTIVE" />
<for>
<effect count="1" name="Transformation" time="50" val="251">
<set order="0x40" stat="STR" val="41" />
<set order="0x40" stat="DEX" val="33" />
<set order="0x40" stat="CON" val="31" />
<set order="0x40" stat="INT" val="29" />
<set order="0x40" stat="WIT" val="11" />
<set order="0x40" stat="MEN" val="25" />
<mul order="0x30" stat="maxHp" val="1.1" />
<mul order="0x30" stat="maxCp" val="1.1" />
<mul order="0x30" stat="maxMp" val="1.1" />
<mul order="0x30" stat="pAtk" val="2" />
<mul order="0x30" stat="pDef" val="2" />
<mul order="0x30" stat="mAtk" val="2" />
<mul order="0x30" stat="mDef" val="2" />
<add order="0x40" stat="runSpd" val="4" />
</effect>
</for>
</skill>
 
Ну я даалекий від програмування але повторю суть питання, на сервері присутня реалізація частин трансформації але вона робить запити з відпарвками на перевірку
getTransformation яка реалізувалась вже на епілозі(transformdata.dat) як я розумію за основу сервера брався Епілог, чи буде проблемою якщо я відредачу class Transformation? і випилю звідти візуал.
В пакетці клієнта Інтерлюда я ковирятись не хочу так як випил помилки приводить до замерання клієнту а на більше я неспроможусь.
 
В ИТ нет траснформаций от слова совсем.
Нечего обсуждать
 
В ИТ нет траснформаций от слова совсем.
Нечего обсуждать
Я не про візалізацію , потрібна тільки частина яка реалізує заміну скілів.
Тобто щось подібне до Skill ID: 1520 "Inquisitor". Без передачі <set name="npcId" val="0"/>.
 
Я не про візалізацію , потрібна тільки частина яка реалізує заміну скілів.
Тобто щось подібне до Skill ID: 1520 "Inquisitor". Без передачі <set name="npcId" val="0"/>.
Code:
    <skill id="1520" levels="1" name="Inquisitor">
        <set name="magicType" val="MAGIC"/>
        <set name="icon" val="icon.skill1520"/>
        <set name="reuseDelay" val="30000"/>
        <set name="hitTime" val="5000"/>
        <set name="mpConsume2" val="39"/>
        <set name="target" val="TARGET_SELF"/>
        <set name="skillType" val="TRANSFORMATION"/>
        <set name="addSkills" val="1523;-2;1528;-2;1524;-2;1525;-2;1430;0;1043;0;1418;0;1042;0;1400;0;619;1;5491;1"/>
        <set name="npcId" val="0"/>
        <set name="operateType" val="OP_ACTIVE"/>
        <set name="isCommon" val="true"/>
        <set name="useSS" val="false"/>
        <set name="isReuseDelayPermanent" val="true"/>
        <for>
            <effect count="1" name="Transformation" time="18000" val="0"/>
        </for>
    </skill>
Измени на свой лист скилов
 
Code:
    <skill id="1520" levels="1" name="Inquisitor">
        <set name="magicType" val="MAGIC"/>
        <set name="icon" val="icon.skill1520"/>
        <set name="reuseDelay" val="30000"/>
        <set name="hitTime" val="5000"/>
        <set name="mpConsume2" val="39"/>
        <set name="target" val="TARGET_SELF"/>
        <set name="skillType" val="TRANSFORMATION"/>
        <set name="addSkills" val="1523;-2;1528;-2;1524;-2;1525;-2;1430;0;1043;0;1418;0;1042;0;1400;0;619;1;5491;1"/>
        <set name="npcId" val="0"/>
        <set name="operateType" val="OP_ACTIVE"/>
        <set name="isCommon" val="true"/>
        <set name="useSS" val="false"/>
        <set name="isReuseDelayPermanent" val="true"/>
        <for>
            <effect count="1" name="Transformation" time="18000" val="0"/>
        </for>
    </skill>
Измени на свой лист скилов
Проблема в тому що там відправляється перевірка на Transform ID (по дефолту вона має бути 0) якої на Інтерлюді нема і клієнт крітує.
Хрін з тим трансформами, чи є варіант через Баф відправити пакт який відбиратиме у гравця скіли? При транчформі створюється тимчасовий список Активних скілів(мені тільки це й потрібно)

Я частково вже через сраку прописав видачу (по суті щось подібне до Аканамаха)
 
Проблема в тому що там відправляється перевірка на Transform ID (по дефолту вона має бути 0) якої на Інтерлюді нема і клієнт крітує.
Хрін з тим трансформами, чи є варіант через Баф відправити пакт який відбиратиме у гравця скіли? При транчформі створюється тимчасовий список Активних скілів(мені тільки це й потрібно)

Я частково вже через сраку прописав видачу (по суті щось подібне до Аканамаха)
мммм, я подумаю как можно сделать подобное. Отдельным эффектом или как то так
 
мммм, я подумаю как можно сделать подобное. Отдельным эффектом или как то так
Оке, якщо зможу на гавнокодити EffectTransformation до потрібного результату то викладу, може перезберете в окремий ефкт.
І ще гляньте на EffectServitorShare, нормально передає тільки ХП, ЦП, МП. кріт передається тільки з першого каста, шаидкість магіїі атаки вобше не передає.
хоча є ще варіант що береться "чистий" кріт який росте з атаки без зброї і бафу( навіть якщоце по офу то це хрінь повна)

відео як працює ServitorShare на інтерлюді
 
Last edited:
Хз как хочешь реализовать это,может как вариант,сама суть похоже как становишься ноблом и тебе даются Нобл скилы.. либо перерождение реализовывали на интерлюде..
 
Back
Top