[Release] v55 Ring effects (3rd Party)

Replace your spawnPlayerMapobject with mine
Code:
    public static MaplePacket spawnPlayerMapobject(MapleCharacter chr) {
        // 62 00 24 46 32 00 05 00 42 65 79 61 6E 00 00 00 00 00 00 00 00 00 00
        // 00 00 00 00 00 00 00 00 20 4E 00 00 00 44 75 00 00 01 2A 4A 0F 00 04
        // 60 BF 0F 00 05 A2 05 10 00 07 2B 5C 10 00 09 E7 D0 10 00 0B 39 53 14
        // 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        // DE 01 73 FF 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
        // 00 00 00 00

        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();

        mplew.writeShort(SendPacketOpcode.SPAWN_PLAYER.getValue());
        // mplew.writeInt(chr.getId());
        mplew.writeInt(chr.getId());
        mplew.writeMapleAsciiString(chr.getName());

        if (chr.getGuildId() <= 0)
        {
            mplew.writeMapleAsciiString("");
            mplew.write(new byte[6]);
        }
        else
        {
            MapleGuildSummary gs = chr.getClient().getChannelServer().getGuildSummary(
                    chr.getGuildId());
            
            if (gs != null)
            {
                mplew.writeMapleAsciiString(gs.getName());
                mplew.writeShort(gs.getLogoBG());
                mplew.write(gs.getLogoBGColor());
                mplew.writeShort(gs.getLogo());
                mplew.write(gs.getLogoColor());
            }
            
            else
            {
                mplew.writeMapleAsciiString("");
                mplew.write(new byte[6]);
            }
        }

        long buffmask = 0;
        Integer buffvalue = null;

        if (chr.getBuffedValue(MapleBuffStat.DARKSIGHT) != null && !chr.isHidden()) {
            buffmask |= MapleBuffStat.DARKSIGHT.getValue();
        }
        if (chr.getBuffedValue(MapleBuffStat.COMBO) != null) {
            buffmask |= MapleBuffStat.COMBO.getValue();
            buffvalue = Integer.valueOf(chr.getBuffedValue(MapleBuffStat.COMBO).intValue());
        }
        if (chr.getBuffedValue(MapleBuffStat.MONSTER_RIDING) != null) {
            buffmask |= MapleBuffStat.MONSTER_RIDING.getValue();
        }
        if (chr.getBuffedValue(MapleBuffStat.SHADOWPARTNER) != null) {
            buffmask |= MapleBuffStat.SHADOWPARTNER.getValue();
        }
        mplew.writeLong(buffmask);

        if (buffvalue != null) {
            mplew.write(buffvalue.byteValue());
        }
        addCharLook(mplew, chr, false);
        mplew.writeInt(0);
        mplew.writeInt(chr.getItemEffect());
        mplew.writeInt(chr.getChair());
        mplew.writeShort(chr.getPosition().x);
        mplew.writeShort(chr.getPosition().y);
        mplew.write(chr.getStance());

            mplew.writeInt(0);
            mplew.writeInt(1);


        mplew.writeLong(0);
        if (chr.getPlayerShop() != null && chr.getPlayerShop().isOwner(chr)) {
            addAnnounceBox(mplew, chr.getPlayerShop());
        } else {
            mplew.write(0);
        }
//loop for rings begin here
        List<MapleRing> rings = getRing(chr);
                mplew.write(0);
        mplew.writeShort(0);
        mplew.write(rings.size());
                if (rings.size() > 0) { 
                        for (MapleRing ring : rings) { 
                mplew.writeInt(chr.getId());
                mplew.writeInt(ring.getPartnerChrId());
                                mplew.writeInt(ring.getItemId()); 
                                mplew.writeShort(0); 
                        } 
                } else {
            mplew.write(0);
        }

        return mplew.getPacket();
    }

    private static List<MapleRing> getRing(MapleCharacter chr) {
                MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED); 
                Collection<IItem> equippedC = iv.list(); 
                List<Item> equipped = new ArrayList<Item>(equippedC.size()); 
                for (IItem item : equippedC) { 
                        equipped.add((Item) item); 
                } 
                Collections.sort(equipped); 
                List<MapleRing> rings = new ArrayList<MapleRing>(); 
                for (Item item : equipped) { 
                        if (((IEquip) item).getRingId() > -1) { 
                                rings.add(MapleRing.loadFromDb(((IEquip) item).getRingId())); 
                        } 
                } 
                
                Collections.sort(rings); 
        return rings;
    }

This should fix all errors.
 
This has bugs :P .... if u keep using ringme u will get incentory bug :P
 
I get this: Anyone can help?
PHP:
init:
deps-jar:
Compiling 9 source files to C:\Users\Yousif.Abdulaal\Documents\odinms\build\classes
C:\Users\Yousif.Abdulaal\Desktop\KingdomMS beta v55\PCMaple v2.3\src\net\sf\odinms\server\MapleStorage.java:165: ';' expected
                                + "VALUES (DEFAULT, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
1 error
BUILD FAILED (total time: 0 seconds)

EDIT: Just added a ";" without the " by te VALUES thingy so it looks like this now
PHP:
 + "VALUES (DEFAULT, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
 
marriage can be done, if you define the makering into NPCconversationamanager. and then do a cm.makeRing(ringid, partnerid) , do a getsendtext for the NPC. well have fun.
 
well try dropping your ring table you added

add this
Code:
CREATE TABLE  `rings` (
 `id` int(11) NOT NULL auto_increment,
 `partnerRingId` int(11) NOT NULL default '0',
 `partnerChrId` int(11) NOT NULL default '0',
 `itemid` int(11) NOT NULL default '0',
 `partnername` varchar(255) NOT NULL,
 PRIMARY KEY  USING BTREE (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1;

since the one posted on the first post had spaces :]
 
Back