
InFocus
Members-
Posts
306 -
Credits
0 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by InFocus
-
What i can choice from http://
-
Excuse me, but writeC is not replaced by writeD in this case?
-
'Baggos' Help me pls?
-
Where in /* * Copyright (C) 2004-2016 L2J Server * * This file is part of L2J Server. * * L2J Server is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J Server is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.l2jserver.gameserver.network.serverpackets; import com.l2jserver.Config; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.instancemanager.TownManager; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Summon; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.actor.instance.L2TrapInstance; import com.l2jserver.gameserver.model.skills.AbnormalVisualEffect; import com.l2jserver.gameserver.model.zone.ZoneId; public abstract class AbstractNpcInfo extends L2GameServerPacket { protected int _x, _y, _z, _heading; protected int _idTemplate; protected boolean _isAttackable, _isSummoned; protected int _mAtkSpd, _pAtkSpd; protected final int _runSpd, _walkSpd; protected final int _swimRunSpd, _swimWalkSpd; protected final int _flyRunSpd, _flyWalkSpd; protected double _moveMultiplier; protected int _rhand, _lhand, _chest, _enchantEffect; protected double _collisionHeight, _collisionRadius; protected String _name = ""; protected String _title = ""; public AbstractNpcInfo(L2Character cha) { _isSummoned = cha.isShowSummonAnimation(); _x = cha.getX(); _y = cha.getY(); _z = cha.getZ(); _heading = cha.getHeading(); _mAtkSpd = cha.getMAtkSpd(); _pAtkSpd = cha.getPAtkSpd(); _moveMultiplier = cha.getMovementSpeedMultiplier(); _runSpd = (int) Math.round(cha.getRunSpeed() / _moveMultiplier); _walkSpd = (int) Math.round(cha.getWalkSpeed() / _moveMultiplier); _swimRunSpd = (int) Math.round(cha.getSwimRunSpeed() / _moveMultiplier); _swimWalkSpd = (int) Math.round(cha.getSwimWalkSpeed() / _moveMultiplier); _flyRunSpd = cha.isFlying() ? _runSpd : 0; _flyWalkSpd = cha.isFlying() ? _walkSpd : 0; } /** * Packet for Npcs */ public static class NpcInfo extends AbstractNpcInfo { private final L2Npc _npc; private int _clanCrest = 0; private int _allyCrest = 0; private int _allyId = 0; private int _clanId = 0; private int _displayEffect = 0; public NpcInfo(L2Npc cha, L2Character attacker) { super(cha); _npc = cha; _idTemplate = cha.getTemplate().getDisplayId(); // On every subclass _rhand = cha.getRightHandItem(); // On every subclass _lhand = cha.getLeftHandItem(); // On every subclass _enchantEffect = cha.getEnchantEffect(); _collisionHeight = cha.getCollisionHeight();// On every subclass _collisionRadius = cha.getCollisionRadius();// On every subclass _isAttackable = cha.isAutoAttackable(attacker); if (cha.getTemplate().isUsingServerSideName()) { _name = cha.getName();// On every subclass } if (_npc.isInvisible()) { _title = "Invisible"; } else if (Config.L2JMOD_CHAMPION_ENABLE && cha.isChampion()) { _title = (Config.L2JMOD_CHAMP_TITLE); // On every subclass } else if (cha.getTemplate().isUsingServerSideTitle()) { _title = cha.getTemplate().getTitle(); // On every subclass } else { _title = cha.getTitle(); // On every subclass } if (Config.SHOW_NPC_LVL && (_npc instanceof L2MonsterInstance)) { String t = "Lv " + cha.getLevel() + (cha.isAggressive() ? "*" : ""); if (_title != null) { t += " " + _title; } _title = t; } // npc crest of owning clan/ally of castle if ((cha instanceof L2NpcInstance) && cha.isInsideZone(ZoneId.TOWN) && (Config.SHOW_CREST_WITHOUT_QUEST || cha.getCastle().getShowNpcCrest()) && (cha.getCastle().getOwnerId() != 0)) { int townId = TownManager.getTown(_x, _y, _z).getTownId(); if ((townId != 33) && (townId != 22)) { L2Clan clan = ClanTable.getInstance().getClan(cha.getCastle().getOwnerId()); _clanCrest = clan.getCrestId(); _clanId = clan.getId(); _allyCrest = clan.getAllyCrestId(); _allyId = clan.getAllyId(); } } _displayEffect = cha.getDisplayEffect(); } @Override protected void writeImpl() { writeC(0x0c); writeD(_npc.getObjectId()); writeD(_idTemplate + 1000000); // npctype id writeD(_isAttackable ? 1 : 0); writeD(_x); writeD(_y); writeD(_z); writeD(_heading); writeD(0x00); writeD(_mAtkSpd); writeD(_pAtkSpd); writeD(_runSpd); writeD(_walkSpd); writeD(_swimRunSpd); writeD(_swimWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeF(_moveMultiplier); writeF(_npc.getAttackSpeedMultiplier()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_rhand); // right hand weapon writeD(_chest); writeD(_lhand); // left hand weapon writeC(1); // name above char 1=true ... ?? writeC(_npc.isRunning() ? 1 : 0); writeC(_npc.isInCombat() ? 1 : 0); writeC(_npc.isAlikeDead() ? 1 : 0); writeC(_isSummoned ? 2 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation) writeD(-1); // High Five NPCString ID writeS(_name); writeD(-1); // High Five NPCString ID writeS(_title); writeD(0x00); // Title color 0=client default writeD(0x00); // pvp flag writeD(0x00); // karma writeD(_npc.isInvisible() ? _npc.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask() : _npc.getAbnormalVisualEffects()); writeD(_clanId); // clan id writeD(_clanCrest); // crest id writeD(_allyId); // ally id writeD(_allyCrest); // all crest writeC(_npc.isInsideZone(ZoneId.WATER) ? 1 : _npc.isFlying() ? 2 : 0); // C2 writeC(_npc.getTeam().getId()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_enchantEffect); // C4 writeD(_npc.isFlying() ? 1 : 0); // C6 writeD(0x00); writeD(_npc.getColorEffect()); // CT1.5 Pet form and skills, Color effect writeC(_npc.isTargetable() ? 0x01 : 0x00); writeC(_npc.isShowName() ? 0x01 : 0x00); writeD(_npc.getAbnormalVisualEffectSpecial()); writeD(_displayEffect); } } public static class TrapInfo extends AbstractNpcInfo { private final L2TrapInstance _trap; public TrapInfo(L2TrapInstance cha, L2Character attacker) { super(cha); _trap = cha; _idTemplate = cha.getTemplate().getDisplayId(); _isAttackable = cha.isAutoAttackable(attacker); _rhand = 0; _lhand = 0; _collisionHeight = _trap.getTemplate().getfCollisionHeight(); _collisionRadius = _trap.getTemplate().getfCollisionRadius(); if (cha.getTemplate().isUsingServerSideName()) { _name = cha.getName(); } _title = cha.getOwner() != null ? cha.getOwner().getName() : ""; } @Override protected void writeImpl() { writeC(0x0c); writeD(_trap.getObjectId()); writeD(_idTemplate + 1000000); // npctype id writeD(_isAttackable ? 1 : 0); writeD(_x); writeD(_y); writeD(_z); writeD(_heading); writeD(0x00); writeD(_mAtkSpd); writeD(_pAtkSpd); writeD(_runSpd); writeD(_walkSpd); writeD(_swimRunSpd); writeD(_swimWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeF(_moveMultiplier); writeF(_trap.getAttackSpeedMultiplier()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_rhand); // right hand weapon writeD(_chest); writeD(_lhand); // left hand weapon writeC(1); // name above char 1=true ... ?? writeC(1); writeC(_trap.isInCombat() ? 1 : 0); writeC(_trap.isAlikeDead() ? 1 : 0); writeC(_isSummoned ? 2 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation) writeD(-1); // High Five NPCString ID writeS(_name); writeD(-1); // High Five NPCString ID writeS(_title); writeD(0x00); // title color 0 = client default writeD(_trap.getPvpFlag()); writeD(_trap.getKarma()); writeD(_trap.isInvisible() ? _trap.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask() : _trap.getAbnormalVisualEffects()); writeD(0x00); // clan id writeD(0x00); // crest id writeD(0000); // C2 writeD(0000); // C2 writeC(0000); // C2 writeC(_trap.getTeam().getId()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(0x00); // C4 writeD(0x00); // C6 writeD(0x00); writeD(0);// CT1.5 Pet form and skills writeC(0x01); writeC(0x01); writeD(0x00); } } /** * Packet for summons. */ public static class SummonInfo extends AbstractNpcInfo { private final L2Summon _summon; private final int _form; private final int _val; public SummonInfo(L2Summon cha, L2Character attacker, int val) { super(cha); _summon = cha; _val = val; _form = cha.getFormId(); _isAttackable = cha.isAutoAttackable(attacker); _rhand = cha.getWeapon(); _lhand = 0; _chest = cha.getArmor(); _enchantEffect = cha.getTemplate().getWeaponEnchant(); _name = cha.getName(); _title = (cha.getOwner() != null) && cha.getOwner().isOnline() ? cha.getOwner().getName() : ""; _idTemplate = cha.getTemplate().getDisplayId(); _collisionHeight = cha.getTemplate().getfCollisionHeight(); _collisionRadius = cha.getTemplate().getfCollisionRadius(); setInvisible(cha.isInvisible()); } @Override protected void writeImpl() { boolean gmSeeInvis = false; if (isInvisible()) { final L2PcInstance activeChar = getClient().getActiveChar(); if ((activeChar != null) && activeChar.canOverrideCond(PcCondOverride.SEE_ALL_PLAYERS)) { gmSeeInvis = true; } } writeC(0x0c); writeD(_summon.getObjectId()); writeD(_idTemplate + 1000000); // npctype id writeD(_isAttackable ? 1 : 0); writeD(_x); writeD(_y); writeD(_z); writeD(_heading); writeD(0x00); writeD(_mAtkSpd); writeD(_pAtkSpd); writeD(_runSpd); writeD(_walkSpd); writeD(_swimRunSpd); writeD(_swimWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeF(_moveMultiplier); writeF(_summon.getAttackSpeedMultiplier()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_rhand); // right hand weapon writeD(_chest); writeD(_lhand); // left hand weapon writeC(0x01); // name above char 1=true ... ?? writeC(0x01); // always running 1=running 0=walking writeC(_summon.isInCombat() ? 1 : 0); writeC(_summon.isAlikeDead() ? 1 : 0); writeC(_val); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation) writeD(-1); // High Five NPCString ID writeS(_name); writeD(-1); // High Five NPCString ID writeS(_title); writeD(0x01);// Title color 0=client default writeD(_summon.getPvpFlag()); writeD(_summon.getKarma()); writeD(gmSeeInvis ? _summon.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask() : _summon.getAbnormalVisualEffects()); writeD(0x00); // clan id writeD(0x00); // crest id writeD(0x00); // C2 writeD(0x00); // C2 writeC(_summon.isInsideZone(ZoneId.WATER) ? 1 : _summon.isFlying() ? 2 : 0); // C2 writeC(_summon.getTeam().getId()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_enchantEffect); // C4 writeD(0x00); // C6 writeD(0x00); writeD(_form); // CT1.5 Pet form and skills writeC(0x01); writeC(0x01); writeD(_summon.getAbnormalVisualEffectSpecial()); } } } i put that line? it is more writeC's in this package
-
Where more exactly in AbstractNpcInfo.java? U can tell me please?
-
Ok guys, i delete all champion aura configs and i fix champion enable and now looks like http:// now, how i can set Config.java, AbstractNpcInfo.java , NPC.property. ? Server platform is L2jServer (High FIve)
-
Well, now i see something, i put Enable champion system, frequency up to 99% and title isn't *CHampion* how it is in config. Maybe it is from AbstractNpcInfo.java?
-
You right Baggos, The champion system it is from project and i want just that aura.
-
Isn't showed *Chapion* because it is wrong config AbstractNpcInfo.java for that aura..omg
-
I set monster frequency up to 99%, so?
-
And what i can do ? What i can modify? This is in Config.java CHAMPION_AURA_TYPE = NPC.getInt("ChampionAuraType", 0);
-
Nothing work
-
writeC(_npc.isChampion() ? Config.CHAMPION_AURA_TYPE : _npc.getTeam().getId()); and with this setting , http://
-
Doesn't work melron and SweeTs Everything i do, no work that aura for champions, i try all methods. :((
-
Ok SweeTs, i post now, all my code, /* * Copyright (C) 2004-2015 L2J Server * * This file is part of L2J Server. * * L2J Server is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J Server is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.l2jserver.gameserver.network.serverpackets; import com.l2jserver.Config; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.instancemanager.TownManager; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Summon; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.actor.instance.L2TrapInstance; import com.l2jserver.gameserver.model.skills.AbnormalVisualEffect; import com.l2jserver.gameserver.model.zone.ZoneId; public abstract class AbstractNpcInfo extends L2GameServerPacket { protected int _x, _y, _z, _heading; protected int _idTemplate; protected boolean _isAttackable, _isSummoned; protected int _mAtkSpd, _pAtkSpd; protected final int _runSpd, _walkSpd; protected final int _swimRunSpd, _swimWalkSpd; protected final int _flyRunSpd, _flyWalkSpd; protected double _moveMultiplier; protected int _rhand, _lhand, _chest, _enchantEffect; protected double _collisionHeight, _collisionRadius; protected String _name = ""; protected String _title = ""; public AbstractNpcInfo(L2Character cha) { _isSummoned = cha.isShowSummonAnimation(); _x = cha.getX(); _y = cha.getY(); _z = cha.getZ(); _heading = cha.getHeading(); _mAtkSpd = cha.getMAtkSpd(); _pAtkSpd = cha.getPAtkSpd(); _moveMultiplier = cha.getMovementSpeedMultiplier(); _runSpd = (int) Math.round(cha.getRunSpeed() / _moveMultiplier); _walkSpd = (int) Math.round(cha.getWalkSpeed() / _moveMultiplier); _swimRunSpd = (int) Math.round(cha.getSwimRunSpeed() / _moveMultiplier); _swimWalkSpd = (int) Math.round(cha.getSwimWalkSpeed() / _moveMultiplier); _flyRunSpd = cha.isFlying() ? _runSpd : 0; _flyWalkSpd = cha.isFlying() ? _walkSpd : 0; } /** * Packet for Npcs */ public static class NpcInfo extends AbstractNpcInfo { private final L2Npc _npc; private int _clanCrest = 0; private int _allyCrest = 0; private int _allyId = 0; private int _clanId = 0; private int _displayEffect = 0; public NpcInfo(L2Npc cha, L2Character attacker) { super(cha); _npc = cha; _idTemplate = cha.getTemplate().getDisplayId(); // On every subclass _rhand = cha.getRightHandItem(); // On every subclass _lhand = cha.getLeftHandItem(); // On every subclass _enchantEffect = cha.getEnchantEffect(); _collisionHeight = cha.getCollisionHeight();// On every subclass _collisionRadius = cha.getCollisionRadius();// On every subclass _isAttackable = cha.isAutoAttackable(attacker); if (cha.getTemplate().isUsingServerSideName()) { _name = cha.getName();// On every subclass } if (_npc.isInvisible()) { _title = "Invisible"; } else if (Config.L2JMOD_CHAMPION_ENABLE && cha.isChampion()) { _title = (Config.L2JMOD_CHAMP_TITLE); // On every subclass } else if (cha.getTemplate().isUsingServerSideTitle()) { _title = cha.getTemplate().getTitle(); // On every subclass } else { _title = cha.getTitle(); // On every subclass } if (Config.SHOW_NPC_LVL && (_npc instanceof L2MonsterInstance)) { String t = "Lv " + cha.getLevel() + (cha.isAggressive() ? "*" : ""); if (_title != null) { t += " " + _title; } _title = t; } // npc crest of owning clan/ally of castle if ((cha instanceof L2NpcInstance) && cha.isInsideZone(ZoneId.TOWN) && (Config.SHOW_CREST_WITHOUT_QUEST || cha.getCastle().getShowNpcCrest()) && (cha.getCastle().getOwnerId() != 0)) { int townId = TownManager.getTown(_x, _y, _z).getTownId(); if ((townId != 33) && (townId != 22)) { L2Clan clan = ClanTable.getInstance().getClan(cha.getCastle().getOwnerId()); _clanCrest = clan.getCrestId(); _clanId = clan.getId(); _allyCrest = clan.getAllyCrestId(); _allyId = clan.getAllyId(); } } _displayEffect = cha.getDisplayEffect(); } @Override protected void writeImpl() { writeC(0x0c); writeD(_npc.getObjectId()); writeD(_idTemplate + 1000000); // npctype id writeD(_isAttackable ? 1 : 0); writeD(_x); writeD(_y); writeD(_z); writeD(_heading); writeD(0x00); writeD(_mAtkSpd); writeD(_pAtkSpd); writeD(_runSpd); writeD(_walkSpd); writeD(_swimRunSpd); writeD(_swimWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeF(_moveMultiplier); writeF(_npc.getAttackSpeedMultiplier()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_rhand); // right hand weapon writeD(_chest); writeD(_lhand); // left hand weapon writeC(1); // name above char 1=true ... ?? writeC(_npc.isRunning() ? 1 : 0); writeC(_npc.isInCombat() ? 1 : 0); writeC(_npc.isAlikeDead() ? 1 : 0); writeC(_isSummoned ? 2 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation) writeD(-1); // High Five NPCString ID writeS(_name); writeD(-1); // High Five NPCString ID writeS(_title); writeD(0x00); writeD(0x00); // pvp flag writeD(0x00); // karma writeD(_npc.isInvisible() ? _npc.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask() : _npc.getAbnormalVisualEffects()); writeD(_clanId); // clan id writeD(_clanCrest); // crest id writeD(_allyId); // ally id writeD(_allyCrest); // all crest writeC(_npc.isInsideZone(ZoneId.WATER) ? 1 : _npc.isFlying() ? 2 : 0); // C2 writeC(_npc.getTeam().getId()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_enchantEffect); // C4 writeD(_npc.isFlying() ? 1 : 0); // C6 writeD(_npc.getColorEffect()); // CT1.5 Pet form and skills, Color effect writeC(_npc.isTargetable() ? 0x01 : 0x00); writeC(_npc.isShowName() ? 0x01 : 0x00); writeD(_npc.getAbnormalVisualEffectSpecial()); writeD(_displayEffect); } /** * @param object */ } public static class TrapInfo extends AbstractNpcInfo { private final L2TrapInstance _trap; public TrapInfo(L2TrapInstance cha, L2Character attacker) { super(cha); _trap = cha; _idTemplate = cha.getTemplate().getDisplayId(); _isAttackable = cha.isAutoAttackable(attacker); _rhand = 0; _lhand = 0; _collisionHeight = _trap.getTemplate().getfCollisionHeight(); _collisionRadius = _trap.getTemplate().getfCollisionRadius(); if (cha.getTemplate().isUsingServerSideName()) { _name = cha.getName(); } _title = cha.getOwner() != null ? cha.getOwner().getName() : ""; } @Override protected void writeImpl() { writeC(0x0c); writeD(_trap.getObjectId()); writeD(_idTemplate + 1000000); // npctype id writeD(_isAttackable ? 1 : 0); writeD(_x); writeD(_y); writeD(_z); writeD(_heading); writeD(0x00); writeD(_mAtkSpd); writeD(_pAtkSpd); writeD(_runSpd); writeD(_walkSpd); writeD(_swimRunSpd); writeD(_swimWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeF(_moveMultiplier); writeF(_trap.getAttackSpeedMultiplier()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_rhand); // right hand weapon writeD(_chest); writeD(_lhand); // left hand weapon writeC(1); // name above char 1=true ... ?? writeC(1); writeC(_trap.isInCombat() ? 1 : 0); writeC(_trap.isAlikeDead() ? 1 : 0); writeC(_isSummoned ? 2 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation) writeD(-1); // High Five NPCString ID writeS(_name); writeD(-1); // High Five NPCString ID writeS(_title); writeD(0x01); // title color 0 = client default writeD(_trap.getPvpFlag()); writeD(_trap.getKarma()); writeD(_trap.isInvisible() ? _trap.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask() : _trap.getAbnormalVisualEffects()); writeD(0x00); // clan id writeD(0x00); // crest id writeD(0000); // C2 writeD(0000); // C2 writeC(0000); // C2 writeC(_trap.getTeam().getId()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(0x00); // C4 writeD(0x00); // C6 writeD(0x00); writeD(0);// CT1.5 Pet form and skills writeC(0x01); writeC(0x01); writeD(0x00); } } /** * Packet for summons. */ public static class SummonInfo extends AbstractNpcInfo { private final L2Summon _summon; private final int _form; private final int _val; public SummonInfo(L2Summon cha, L2Character attacker, int val) { super(cha); _summon = cha; _val = val; _form = cha.getFormId(); _isAttackable = cha.isAutoAttackable(attacker); _rhand = cha.getWeapon(); _lhand = 0; _chest = cha.getArmor(); _enchantEffect = cha.getTemplate().getWeaponEnchant(); _name = cha.getName(); _title = (cha.getOwner() != null) && cha.getOwner().isOnline() ? cha.getOwner().getName() : ""; _idTemplate = cha.getTemplate().getDisplayId(); _collisionHeight = cha.getTemplate().getfCollisionHeight(); _collisionRadius = cha.getTemplate().getfCollisionRadius(); setInvisible(cha.isInvisible()); } @Override protected void writeImpl() { boolean gmSeeInvis = false; if (isInvisible()) { final L2PcInstance activeChar = getClient().getActiveChar(); if ((activeChar != null) && activeChar.canOverrideCond(PcCondOverride.SEE_ALL_PLAYERS)) { gmSeeInvis = true; } } writeC(0x0c); writeD(_summon.getObjectId()); writeD(_idTemplate + 1000000); // npctype id writeD(_isAttackable ? 1 : 0); writeD(_x); writeD(_y); writeD(_z); writeD(_heading); writeD(0x00); writeD(_mAtkSpd); writeD(_pAtkSpd); writeD(_runSpd); writeD(_walkSpd); writeD(_swimRunSpd); writeD(_swimWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeF(_moveMultiplier); writeF(_summon.getAttackSpeedMultiplier()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_rhand); // right hand weapon writeD(_chest); writeD(_lhand); // left hand weapon writeC(0x01); // name above char 1=true ... ?? writeC(0x01); // always running 1=running 0=walking writeC(_summon.isInCombat() ? 1 : 0); writeC(_summon.isAlikeDead() ? 1 : 0); writeC(_val); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation) writeD(-1); // High Five NPCString ID writeS(_name); writeD(-1); // High Five NPCString ID writeS(_title); writeD(_summon.getPvpFlag()); writeD(_summon.getKarma()); writeD(gmSeeInvis ? _summon.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask() : _summon.getAbnormalVisualEffects()); writeD(0x00); // clan id writeD(0x00); // crest id writeD(0x00); // C2 writeD(0x00); // C2 writeC(_summon.isInsideZone(ZoneId.WATER) ? 1 : _summon.isFlying() ? 2 : 0); // C2 writeC(_summon.getTeam().getId()); writeF(_collisionRadius); writeF(_collisionHeight); writeD(_enchantEffect); // C4 writeD(0x00); // C6 writeD(0x00); writeD(_form); // CT1.5 Pet form and skills writeC(0x01); writeC(0x01); writeD(_summon.getAbnormalVisualEffectSpecial()); } } } And tell me exactly where i put if (_npc.isChampion()) { writeC(0); } else { writeC(1); } Help me this time, or give me a suggestion, I want to close this topic. And i want to solve it :((
-
And doesn't work this aura
-
I don, broke something, i simply add 2 lines in Config.java and if (_npc.isChampion()) { writeC(1); } else { writeC(0); } and this in AbstractNpcInfo.java
-
Well, Normal and CHampion have same aura with writeD(-1); // High Five NPCString ID writeS(_title); writeD(0x00); if (_npc.isChampion()) { writeC(1); } else { writeC(0); } writeD(0x00); // pvp flag writeD(0x00); // karma http://
-
CHAMPION_AURA_TYPE = NPC.getInt("ChampionAuraType", 0); Champions is implemented in pack
-
I solved, about that aura how i can do? i did writeC(_npc.isChampion() ? Config.CHAMPION_AURA_TYPE : 0); Now, tell me if it's ok even with writeD(0x00);
-
Ok, i remove If and i let just http:// and my npc look like this. http:// Now. how i can make with aura just mobs (Champions?) I think My champion system don't work correct. When i compile i get that config, but i am not sure if the champ system is wrking. + another think, in NPC.Property i put # Enable aura from champion mobs # 0 - no aura / 1 - blue aura / 2 - red aura # Default = 0 ChampionAuraType = 1 if it's ok?
-
How i can set writeC? i have this if (Config,CHAMPION_AURA_TYPE) writeC(_npc.isChampion() ? Config.CHAMPION_AURA_TYPE : 0); http://
-
All erase, all configs about that crap of aura. And.... http:// Well ? This is writeC original = writeC(0x00); // title color 0=client
-
Ok, I set to default like it was. writeC(0x00); // title color 0=client but still doesn't work
-
Ok, and why i can't see title and names from npcs? http:// With every setting i do, i still can't see title/name from npc...