Перейти к содержанию
Авторизация  
๖ۣۜۜFriendlyGhost

[ Манул ] Делаем Трансформ...

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

Делаем трансформ

 

Скопируйте текст в блокнот и назовите файл transform.txt:

package transformations;

 

import net.sf.l2j.gameserver.datatables.SkillTable;

import net.sf.l2j.gameserver.instancemanager.Transformati onManager;

import net.sf.l2j.gameserver.model.L2Skill;

import net.sf.l2j.gameserver.model.L2Transformation;

 

/**

* Description:

 

* This will handle the transformation, giving the skills, and removing them, when the player logs out and is transformed these skills

* do not save.

* When the player logs back in, there will be a call from the enterworld packet that will add all their skills.

* The enterworld packet will transform a player.

*

* @author durgus

*

*/

public class THE NAME OF THE TRANSFORMATION extends L2Transformation

{

public THE NAME OF THE TRANSFORMATION()

{

// id, duration (secs), colRadius, colHeight

// Retail Like 30 min - Skatershi

super(THE TEMPLATE ID OF THE TRANSFORMATION, 1800, COLISION RADIUS, COLISION HIGHT);

}

 

public void onTransform()

{

// Disable all character skills.

for (L2Skill sk : this.getPlayer().getAllSkills())

{

if (sk != null && !sk.isPassive())

this.getPlayer().removeSkill(sk, false);

}

if (this.getPlayer().transformId() > 0 && !this.getPlayer().isCursedWeaponEquipped())

{

// give transformation skills

transformedSkills();

return;

}

// give transformation skills

transformedSkills();

// Update Transformation ID

this.getPlayer().transformInsertInfo();

}

 

public void transformedSkills()

{

HERE YOU PUT THE SKILLS THAT YOUR PLAYER WILL GET ON TRANSFORM

// Transfrom Dispel

this.getPlayer().addSkill(SkillTable.getInstance() .getInfo(619, 1), false);

// Decrease Bow/Crossbow Attack Speed

this.getPlayer().addSkill(SkillTable.getInstance() .getInfo(5491, 1), false);

// Send a Server->Client packet StatusUpdate to the L2PcInstance.

this.getPlayer().sendSkillList();

}

 

public void onUntransform()

{

// Enable all character skills

for (L2Skill sk : this.getPlayer().getAllSkills())

{

if (sk != null && !sk.isPassive())

this.getPlayer().addSkill(sk, false);

}

// Only remove transformation skills. Keeps transformation id for restoration after CW is no longer equipped.

if (this.getPlayer().isCursedWeaponEquipped())

{

removeSkills();

return;

}

// Remove transformation skills

removeSkills();

// Update Transformation ID

this.getPlayer().transformUpdateInfo();

}

 

public void removeSkills()

{

HERE YOU NEED TO COPY THE SKILLS THAT YOU PUT UPER SO THEY WILL BE REMOVED FROM THE PLAYER ON UNTRANSFORM

// Transfrom Dispel

this.getPlayer().removeSkill(SkillTable.getInstanc e().getInfo(619, 1), false);

// Decrease Bow/Crossbow Attack Speed

this.getPlayer().removeSkill(SkillTable.getInstanc e().getInfo(5491, 1), false);

// Send a Server->Client packet StatusUpdate to the L2PcInstance.

this.getPlayer().sendSkillList();

}

 

public static void main(String[] args)

{

TransformationManager.getInstance().registerTransf ormation(new Buffalo());

}

}

 

 

 

-.txt переименуйте в .java

 

Откройте его :

 

- THE NAME OF THE TRANSFORMATION = название трасформа

-THE TEMPLATE ID OF THE TRANSFORMATION = здесь id которое вы должны будете вписать в transformdata.dat

-COLLISION RADIUS & COLLISION HEIGHT =этот параметр просто возьмите из таблицы npc .

- Для скилов :

this.getPlayer().addSkill(SkillTable.getInstance() .getInfo(skillid, level), false);

 

Не удаляйте эти 3 скила!

Сохраните и копируйте в gameserver-data-scripts-transformations

 

 

Перейдите в gameserver-data-stats-skills и откройте 0500-0599.xml и добвате скилл как этот :


<skill id="YOUR SKILL ID" levels="1" name="Transform THE MOB NAME">
<set name="mpConsume" val="31"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="isMagic" val="true"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="hitTime" val="1500"/>
<set name="reuseDelay" val="3600000"/>
<set name="transformId" val="HERE YOU ADD THE ID YOU WILL HAVE TO ADD IN TRANSFORMDATA.DAT LIKE IN JAVA FILE"/>
<set name="castRange" val="-1"/>
<set name="effectRange" val="-1"/>
<for>
<effect count="1" name="Transformation" time="1800" val="0"/>
</for>
</skill>

 

-Теперь просто добавте скилл игроку.

Теперь клиентская часть , откройте skillgrp.dat и добавте скилл типа такого :


541 1 1 31 -1 1 1.5000000 1 D icon.skilltransform1 0 0 0 0 -1 -1

 

замените 541 своим ID.

 

Откройте skillname-e.dat и добавте:


541 1 a,Transform Grail Apostle\0 a,Transform into a Grail Apostle.\0 a,none\0 a,none\0[/b]
[b]

 

замените 541 своим ID.

Замените “Transform Grail Apostle” своим трасформом( Именем моба)

Откройте skillsoundgrp.dat и добавте:

 


541 1 SkillSound8.transform_cast 250.0000000 40.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 250.0000000 50.0000000

 

замените 541 своим ID.

откройте transformdata.dat


541 0 13091 0 LineageEffect.s_u833_transform LineageEffect.s_u833_transform[/b]
[b]

  • Upvote 1

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


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

Делаем трансформ

 

Скопируйте текст в блокнот и назовите файл transform.txt:

package transformations;

 

import net.sf.l2j.gameserver.datatables.SkillTable;

import net.sf.l2j.gameserver.instancemanager.Transformati onManager;

import net.sf.l2j.gameserver.model.L2Skill;

import net.sf.l2j.gameserver.model.L2Transformation;

 

/**

* Description:

 

* This will handle the transformation, giving the skills, and removing them, when the player logs out and is transformed these skills

* do not save.

* When the player logs back in, there will be a call from the enterworld packet that will add all their skills.

* The enterworld packet will transform a player.

*

* @author durgus

*

*/

public class THE NAME OF THE TRANSFORMATION extends L2Transformation

{

public THE NAME OF THE TRANSFORMATION()

{

// id, duration (secs), colRadius, colHeight

// Retail Like 30 min - Skatershi

super(THE TEMPLATE ID OF THE TRANSFORMATION, 1800, COLISION RADIUS, COLISION HIGHT);

}

 

public void onTransform()

{

// Disable all character skills.

for (L2Skill sk : this.getPlayer().getAllSkills())

{

if (sk != null && !sk.isPassive())

this.getPlayer().removeSkill(sk, false);

}

if (this.getPlayer().transformId() > 0 && !this.getPlayer().isCursedWeaponEquipped())

{

// give transformation skills

transformedSkills();

return;

}

// give transformation skills

transformedSkills();

// Update Transformation ID

this.getPlayer().transformInsertInfo();

}

 

public void transformedSkills()

{

HERE YOU PUT THE SKILLS THAT YOUR PLAYER WILL GET ON TRANSFORM

// Transfrom Dispel

this.getPlayer().addSkill(SkillTable.getInstance() .getInfo(619, 1), false);

// Decrease Bow/Crossbow Attack Speed

this.getPlayer().addSkill(SkillTable.getInstance() .getInfo(5491, 1), false);

// Send a Server->Client packet StatusUpdate to the L2PcInstance.

this.getPlayer().sendSkillList();

}

 

public void onUntransform()

{

// Enable all character skills

for (L2Skill sk : this.getPlayer().getAllSkills())

{

if (sk != null && !sk.isPassive())

this.getPlayer().addSkill(sk, false);

}

// Only remove transformation skills. Keeps transformation id for restoration after CW is no longer equipped.

if (this.getPlayer().isCursedWeaponEquipped())

{

removeSkills();

return;

}

// Remove transformation skills

removeSkills();

// Update Transformation ID

this.getPlayer().transformUpdateInfo();

}

 

public void removeSkills()

{

HERE YOU NEED TO COPY THE SKILLS THAT YOU PUT UPER SO THEY WILL BE REMOVED FROM THE PLAYER ON UNTRANSFORM

// Transfrom Dispel

this.getPlayer().removeSkill(SkillTable.getInstanc e().getInfo(619, 1), false);

// Decrease Bow/Crossbow Attack Speed

this.getPlayer().removeSkill(SkillTable.getInstanc e().getInfo(5491, 1), false);

// Send a Server->Client packet StatusUpdate to the L2PcInstance.

this.getPlayer().sendSkillList();

}

 

public static void main(String[] args)

{

TransformationManager.getInstance().registerTransf ormation(new Buffalo());

}

}

 

 

 

-.txt переименуйте в .java

 

Откройте его :

 

- THE NAME OF THE TRANSFORMATION = название трасформа

-THE TEMPLATE ID OF THE TRANSFORMATION = здесь id которое вы должны будете вписать в transformdata.dat

-COLLISION RADIUS & COLLISION HEIGHT =этот параметр просто возьмите из таблицы npc .

- Для скилов :

this.getPlayer().addSkill(SkillTable.getInstance() .getInfo(skillid, level), false);

 

 

Не удаляйте эти 3 скила!

Сохраните и копируйте в gameserver-data-scripts-transformations

 

 

Перейдите в gameserver-data-stats-skills и откройте 0500-0599.xml и добвате скилл как этот :


<skill id="YOUR SKILL ID" levels="1" name="Transform THE MOB NAME">
<set name="mpConsume" val="31"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="isMagic" val="true"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="hitTime" val="1500"/>
<set name="reuseDelay" val="3600000"/>
<set name="transformId" val="HERE YOU ADD THE ID YOU WILL HAVE TO ADD IN TRANSFORMDATA.DAT LIKE IN JAVA FILE"/>
<set name="castRange" val="-1"/>
<set name="effectRange" val="-1"/>
<for>
<effect count="1" name="Transformation" time="1800" val="0"/>
</for>
</skill>

 

-Теперь просто добавте скилл игроку.

Теперь клиентская часть , откройте skillgrp.dat и добавте скилл типа такого :


541 1 1 31 -1 1 1.5000000 1 D icon.skilltransform1 0 0 0 0 -1 -1

 

замените 541 своим ID.

 

Откройте skillname-e.dat и добавте:


541 1 a,Transform Grail Apostle\0 a,Transform into a Grail Apostle.\0 a,none\0 a,none\0[/b]
[b]

 

замените 541 своим ID.

Замените “Transform Grail Apostle” своим трасформом( Именем моба)

Откройте skillsoundgrp.dat и добавте:

 


541 1 SkillSound8.transform_cast 250.0000000 40.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 250.0000000 50.0000000

 

замените 541 своим ID.

откройте transformdata.dat


541 0 13091 0 LineageEffect.s_u833_transform LineageEffect.s_u833_transform[/b]
[b]

Полезно,это я так понял трансформ на перса?

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


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

Эм, это конечно совсем глупо спустя 4 года задавать вопрос, но попытка не пытка)

Этот мануал под l2j server?
Хроники?
Это скрипт под 1 скилл транформации, а если мне нужно 1000 разных, под каждый свой скрипт?
 

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


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

Эм, это конечно совсем глупо спустя 4 года задавать вопрос, но попытка не пытка)

 

Этот мануал под l2j server?

Хроники?

Это скрипт под 1 скилл транформации, а если мне нужно 1000 разных, под каждый свой скрипт?

 

this.getPlayer().addSkill(SkillTable.getInstance() .getInfo(skillid, level), false);

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


Ссылка на сообщение
Поделиться на другие сайты
this.getPlayer().addSkill(SkillTable.getInstance() .getInfo(skillid, level), false);

Эм, я не про скиллы в трансформации, я про сами скилы позволяющие трансформироваться.

Допустим к существующим 10 трансформам - буфало, зарич .и.т.п, я хочу добавить еще 100 своих. Для этого нужно будет добавить 100 таких же скриптов?) Или я совсем не правильно понял.

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


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

Эм, я не про скиллы в трансформации, я про сами скилы позволяющие трансформироваться.

Допустим к существующим 10 трансформам - буфало, зарич .и.т.п, я хочу добавить еще 100 своих. Для этого нужно будет добавить 100 таких же скриптов?) Или я совсем не правильно понял.

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

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


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

ну проще просмотреть откуда скрипт подтягивает ( если не методом ) добавление скилов, и вписать, например, в XML - скилы свои. Если же скилы добавлены методом функция, тогда: а) переписать функционал скрипта; б) добавить скилы в самом методе.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

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

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

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