Jump to content
  • 0

Don't See Weapon


Question

Posted (edited)

Hello community! I have a problem, i work in me sv... and i have idea but can't make :c... my idea: the people  can't see the weapon to other players... i onlly can use the code DressMe to work that but i can't arm, some can help me pliz?

 

Sorry for me english  :okey:

Edited by leanrocki

6 answers to this question

Recommended Posts

  • 0
Posted (edited)

CharInfo

        writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
        writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));

all of them replace with

        writeD(0);
        writeD(0);
Edited by SweeTs
  • 0
Posted (edited)

User info:

/*
 * This program 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.
 * 
 * This program 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 net.sf.l2j.gameserver.network.serverpackets;
 
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.datatables.NpcTable;
import net.sf.l2j.gameserver.instancemanager.CursedWeaponsManager;
import net.sf.l2j.gameserver.model.Location;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.itemcontainer.Inventory;
import net.sf.l2j.gameserver.skills.AbnormalEffect;
 
public class CharInfo extends L2GameServerPacket
{
private final L2PcInstance _activeChar;
private final Inventory _inv;
private final int _x, _y, _z, _heading;
private final int _mAtkSpd, _pAtkSpd;
private final int _runSpd, _walkSpd;
private final float _moveMultiplier;
 
public CharInfo(L2PcInstance cha)
{
_activeChar = cha;
_inv = _activeChar.getInventory();
 
_x = _activeChar.getX();
_y = _activeChar.getY();
_z = _activeChar.getZ();
_heading = _activeChar.getHeading();
 
_mAtkSpd = _activeChar.getMAtkSpd();
_pAtkSpd = _activeChar.getPAtkSpd();
 
_moveMultiplier = _activeChar.getMovementSpeedMultiplier();
_runSpd = (int) (_activeChar.getRunSpeed() / _moveMultiplier);
_walkSpd = (int) (_activeChar.getWalkSpeed() / _moveMultiplier);
}
 
@Override
protected final void writeImpl()
{
boolean gmSeeInvis = false;
 
if (_activeChar.getAppearance().getInvisible())
{
L2PcInstance tmp = getClient().getActiveChar();
if (tmp != null && tmp.isGM())
gmSeeInvis = true;
}
 
writeC(0x03);
writeD(_x);
writeD(_y);
writeD(_z);
writeD(_heading);
writeD(_activeChar.getObjectId());
writeS(_activeChar.getName());
writeD(_activeChar.getRace().ordinal());
writeD(_activeChar.getAppearance().getSex() ? 1 : 0);
 
if (_activeChar.getClassIndex() == 0)
writeD(_activeChar.getClassId().getId());
else
writeD(_activeChar.getBaseClass());
 
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
writeD(0);
writeD(0);
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FACE));
 
// c6 new h's
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_LHAND));
writeH(0x00);
writeH(0x00);
writeH(0x00);
writeH(0x00);
 
writeD(_activeChar.getPvpFlag());
writeD(_activeChar.getKarma());
 
writeD(_mAtkSpd);
writeD(_pAtkSpd);
 
writeD(_activeChar.getPvpFlag());
writeD(_activeChar.getKarma());
 
writeD(_runSpd);
writeD(_walkSpd);
writeD(_runSpd); // swim run speed
writeD(_walkSpd); // swim walk speed
writeD(_runSpd); // fl run speed
writeD(_walkSpd); // fl walk speed
writeD(_runSpd); // fly run speed
writeD(_walkSpd); // fly walk speed
writeF(_activeChar.getMovementSpeedMultiplier());
writeF(_activeChar.getAttackSpeedMultiplier());
 
if (_activeChar.getMountType() != 0)
{
writeF(NpcTable.getInstance().getTemplate(_activeChar.getMountNpcId()).getCollisionRadius());
writeF(NpcTable.getInstance().getTemplate(_activeChar.getMountNpcId()).getCollisionHeight());
}
else
{
writeF(_activeChar.getBaseTemplate().getCollisionRadius());
writeF(_activeChar.getBaseTemplate().getCollisionHeight());
}
 
writeD(_activeChar.getAppearance().getHairStyle());
writeD(_activeChar.getAppearance().getHairColor());
writeD(_activeChar.getAppearance().getFace());
 
if (gmSeeInvis)
writeS("Invisible");
else
writeS(_activeChar.getTitle());
 
writeD(_activeChar.getClanId());
writeD(_activeChar.getClanCrestId());
writeD(_activeChar.getAllyId());
writeD(_activeChar.getAllyCrestId());
 
writeD(0);
 
writeC(_activeChar.isSitting() ? 0 : 1); // standing = 1 sitting = 0
writeC(_activeChar.isRunning() ? 1 : 0); // running = 1 walking = 0
writeC(_activeChar.isInCombat() ? 1 : 0);
writeC(_activeChar.isAlikeDead() ? 1 : 0);
 
if (gmSeeInvis)
writeC(0);
else
writeC(_activeChar.getAppearance().getInvisible() ? 1 : 0); // invisible = 1 visible =0
 
writeC(_activeChar.getMountType()); // 1 on strider 2 on wyvern 0 no mount
writeC(_activeChar.getPrivateStoreType()); // 1 - sellshop
 
writeH(_activeChar.getCubics().size());
for (int id : _activeChar.getCubics().keySet())
writeH(id);
 
writeC(_activeChar.isInPartyMatchRoom() ? 1 : 0);
 
if (gmSeeInvis)
writeD((_activeChar.getAbnormalEffect() | AbnormalEffect.STEALTH.getMask()));
else
writeD(_activeChar.getAbnormalEffect());
 
writeC(_activeChar.getRecomLeft());
writeH(_activeChar.getRecomHave()); // Blue value for name (0 = white, 255 = pure blue)
writeD(_activeChar.getClassId().getId());
 
writeD(_activeChar.getMaxCp());
writeD((int) _activeChar.getCurrentCp());
writeC(_activeChar.isMounted() ? 0 : _activeChar.getEnchantEffect());
 
if (_activeChar.getTeam() == 1)
writeC(0x01); // team circle around feet 1= Blue, 2 = red
else if (_activeChar.getTeam() == 2)
writeC(0x02); // team circle around feet 1= Blue, 2 = red
else
writeC(0x00); // team circle around feet 1= Blue, 2 = red
 
writeD(_activeChar.getClanCrestLargeId());
writeC(_activeChar.isNoble() ? 1 : 0); // Symbol on char menu ctrl+I
writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); // Hero Aura
 
writeC(_activeChar.isFishing() ? 1 : 0); // 0x01: Fishing Mode (Cant be undone by setting back to 0)
 
Location loc = _activeChar.getFishingLoc();
if (loc != null)
{
writeD(loc.getX());
writeD(loc.getY());
writeD(loc.getZ());
}
else
{
writeD(0);
writeD(0);
writeD(0);
}
 
writeD(_activeChar.getAppearance().getNameColor());
 
writeD(0x00); // isRunning() as in UserInfo?
 
writeD(_activeChar.getPledgeClass());
writeD(_activeChar.getPledgeType());
 
writeD(_activeChar.getAppearance().getTitleColor());
 
if (_activeChar.isCursedWeaponEquipped())
writeD(CursedWeaponsManager.getInstance().getCurrentStage(_activeChar.getCursedWeaponEquippedId()) - 1);
else
writeD(0x00);
}
}

pp53.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Edit: ADD IMG 

Edited by leanrocki
  • 0
Posted

Damn, ppl can't even replace 3 lines of code properly.. :happyforever:

 

Replace with base and do as I said, I tested it and it's working well. So, you messed / your fault :P

  • 0
Posted (edited)
### Eclipse Workspace Patch 1.0
#P aCis_gameserver
Index: java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java
===================================================================
--- java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java    (revision 317)
+++ java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java    (working copy)
@@ -78,14 +78,14 @@
         
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
-        writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
-        writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
+        writeD(0);
+        writeD(0);
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
-        writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
+        writeD(0);
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
         writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FACE));
         
@@ -94,7 +94,7 @@
         writeH(0x00);
         writeH(0x00);
         writeH(0x00);
-        writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
+        writeD(0);
         writeH(0x00);
         writeH(0x00);
         writeH(0x00);
@@ -107,7 +107,7 @@
         writeH(0x00);
         writeH(0x00);
         writeH(0x00);
-        writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_LHAND));
+        writeD(0);
         writeH(0x00);
         writeH(0x00);
         writeH(0x00);

y81f.png

 

 

You didn't replaced 2 lines

 

 

writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_LHAND));
Edited by SweeTs

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock