Example:Hi guys... there is a way to hide a learned skill?
I need to give a status to players but dont want that the skill show in passives.
Ty in advance!!
package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.network.OutgoingPackets;
public class SkillList implements IClientOutgoingPacket
{
// list ids skills to hide
private static final int[] HIDE_IDS = {1040,1204};
private final List<Skill> _skills = new ArrayList<>();
private int _lastLearnedSkillId = 0;
static class Skill...
See skill list packetHi guys... there is a way to hide a learned skill?
I need to give a status to players but dont want that the skill show in passives.
Ty in advance!!
This where control the skill window update right?C#:if(%skill_Id%) return;
try set in SkillGrp.dat IconType = 50 and testHi guys... there is a way to hide a learned skill?
I need to give a status to players but dont want that the skill show in passives.
Ty in advance!!
Keep showingtry set in SkillGrp.dat IconType = 50 and test
по идее можно глянуть те скиллы, которые клиент прячет в окне скиллов, хотя они у игрока есть и аналогично по параметрам сделать.try set in SkillGrp.dat IconType = 50 and test
Объективности ради, тут действительно идёт упоминание 50-го типа, как исключающего.по идее можно глянуть те скиллы, которые клиент прячет в окне скиллов, хотя они у игрока есть и аналогично по параметрам сделать.
это скиллы системы способностей к примеру.
правда в клиенте вполне может быть тупо хардкод на определенные диапазоны для скрытия.
_skills = player.getAllSkills().stream().filter(skill -> !skill.isHideInSkillList()).collect(Collectors.toList());
Посмотри что проверяет isActiveSkill, я не смотрел что под капотом, но сомневаюсь что 50 тип иконки входит в список активных уменийОбъективности ради, тут действительно идёт упоминание 50-го типа, как исключающего.
Но стоит уточнить что именно пассивных умений, активные вообще не имеют никаких спец-кейзов в uc. Так что либо допил в интерфейсе, либо просто удалять скилл с skillgrp и терять его навсегда и везде.
Посмотреть вложение 48050
I try lf this lines... "Info.IconType" dont exist in mobius source... what is the file u find it? maybe have write diff cause its not PTS but java.For the sake of objectivity, there is indeed a mention of type 50 as an exclusive.
But it is worth clarifying that it is passive skills, active ones do not have any special cases in uc at all. So either finished in the interface, or just remove the skill with skillgrp and lose it forever and everywhere.
Посмотреть вложение 48050
You can read thread more carefully? You have been given name of file - skillgrp.dat, this file in client.I try lf this lines... "Info.IconType" dont exist in mobius source... what is the file u find it? maybe have write diff cause its not PTS but java.
how does mobius feel about this if it is a client-side?My friend i mean this one default_npc,
I know the file... its open for 2 days in my pc... i want to know about this piece of code.
I think dont exist this 50 icon type variable for get it invisible in Alt K in mobius source... i try lf it and get 0 returns
skill_begin skill_id=1 skill_level=1 skill_sublevel=0 operate_type=0 resist_cast=0 MagicType=default mp_consume=42 cast_range=40 cast_style=9 hit_time=1.733 cool_time=0.5 reuse_delay=3.0 effect_point=-213 is_magic=0 origin_skill=0 is_double=0 animation={[Mix05]} skill_visual_effect={[1]} icon=[icon.skill0001] icon_panel=[None] debuff=0 icon_type=0 enchant_skill_level=0 enchant_icon=[None] hp_consume= 0 rumble_self=9 rumble_target=11 level_hide=0 dp_consume=0 energy_consume=0 trait_type=0 abnormal_time=0 target_type=0 affect_scope=1 dbdelete=1 skill_end
if(Info.IconType != 50)
{
m_Item_p[getItemTypeIndex(Info.IconType)]. AddItem(
}
Example:Hi guys... there is a way to hide a learned skill?
I need to give a status to players but dont want that the skill show in passives.
Ty in advance!!
package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.network.OutgoingPackets;
public class SkillList implements IClientOutgoingPacket
{
// list ids skills to hide
private static final int[] HIDE_IDS = {1040,1204};
private final List<Skill> _skills = new ArrayList<>();
private int _lastLearnedSkillId = 0;
static class Skill
{
public int id;
public int reuseDelayGroup;
public int level;
public int subLevel;
public boolean passive;
public boolean disabled;
public boolean enchanted;
Skill(int pId, int pReuseDelayGroup, int pLevel, int pSubLevel, boolean pPassive, boolean pDisabled, boolean pEnchanted)
{
id = pId;
reuseDelayGroup = pReuseDelayGroup;
level = pLevel;
subLevel = pSubLevel;
passive = pPassive;
disabled = pDisabled;
enchanted = pEnchanted;
}
}
public void addSkill(int id, int reuseDelayGroup, int level, int subLevel, boolean passive, boolean disabled, boolean enchanted)
{
for(int i : HIDE_IDS)
if(i == id)
return;
_skills.add(new Skill(id, reuseDelayGroup, level, subLevel, passive, disabled, enchanted));
}
public void setLastLearnedSkillId(int lastLearnedSkillId)
{
_lastLearnedSkillId = lastLearnedSkillId;
}
@Override
public boolean write(PacketWriter packet)
{
OutgoingPackets.SKILL_LIST.writeId(packet);
_skills.sort(Comparator.comparing(s -> SkillData.getInstance().getSkill(s.id, s.level, s.subLevel).isToggle() ? 1 : 0));
packet.writeD(_skills.size());
for (Skill temp : _skills)
{
packet.writeD(temp.passive ? 1 : 0);
packet.writeH(temp.level);
packet.writeH(temp.subLevel);
packet.writeD(temp.id);
packet.writeD(temp.reuseDelayGroup); // GOD ReuseDelayShareGroupID
packet.writeC(temp.disabled ? 1 : 0); // iSkillDisabled
packet.writeC(temp.enchanted ? 1 : 0); // CanEnchant
}
packet.writeD(_lastLearnedSkillId);
return true;
}
}
Example:
Java:package org.l2jmobius.gameserver.network.serverpackets; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import org.l2jmobius.commons.network.PacketWriter; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.network.OutgoingPackets; public class SkillList implements IClientOutgoingPacket { list ids skills to hide private static final int[] HIDE_IDS = {1040,1204}; private final List<Skill> _skills = new ArrayList<>(); private int _lastLearnedSkillId = 0; static class Skill { public int id; public int reuseDelayGroup; public int level; public int subLevel; public boolean passive; public boolean disabled; public boolean enchanted; Skill(int pId, int pReuseDelayGroup, int pLevel, int pSubLevel, boolean pPassive, boolean pDisabled, boolean pEnchanted) { id = pId; reuseDelayGroup = pReuseDelayGroup; level = pLevel; subLevel = pSubLevel; passive = pPassive; disabled = pDisabled; enchanted = pEnchanted; } } public void addSkill(int id, int reuseDelayGroup, int level, int subLevel, boolean passive, boolean disabled, boolean enchanted) { for(int i : HIDE_IDS) if(i == id) return; _skills.add(new Skill(id, reuseDelayGroup, level, subLevel, passive, disabled, enchanted)); } public void setLastLearnedSkillId(int lastLearnedSkillId) { _lastLearnedSkillId = lastLearnedSkillId; } @Override public boolean write(PacketWriter packet) { OutgoingPackets.SKILL_LIST.writeId(packet); _skills.sort(Comparator.comparing(s -> SkillData.getInstance().getSkill(s.id, s.level, s.subLevel).isToggle() ? 1 : 0)); packet.writeD(_skills.size()); for (Skill temp : _skills) { packet.writeD(temp.passive ? 1 : 0); packet.writeH(temp.level); packet.writeH(temp.subLevel); packet.writeD(temp.id); packet.writeD(temp.reuseDelayGroup); GOD ReuseDelayShareGroupID packet.writeC(temp.disabled ? 1 : 0); iSkillDisabled packet.writeC(temp.enchanted ? 1 : 0); CanEnchant } packet.writeD(_lastLearnedSkillId); return true; } }
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?