Jumat, 14 Juni 2013

Cara Mengganti Limit atau Unlimited Battle

Pertama Siapkan Source Code Servidor

Bagian File yang Di Edit :
- pb-game/src/ru/pb/game/network/engine/client/packets/sendable/PROTOCOL_BATTLE_ENDBATTLE_ACK.java

Contoh Source Code Unlimited :

package ru.pb.game.network.engine.client.packets.sendable;

import ru.pb.game.network.engine.client.packets.GameServerToClientPacket;
import ru.pb.game.objects.model.clan.Clan;
import ru.pb.game.objects.model.players.Player;
import ru.pb.game.objects.model.players.enums.SLOT_STATE;
import ru.pb.game.objects.model.players.enums.Team;
import ru.pb.game.objects.model.room.Room;
import ru.pb.global.data.model.ClanInfo;
import ru.pb.global.data.model.ClanLogo;
import ru.pb.global.data.model.PlayerInfo;

public class PROTOCOL_BATTLE_ENDBATTLE_ACK extends GameServerToClientPacket
{
    private Player _player;
    private PlayerInfo _playerInfo;
    private ClanInfo _clanInfo;
    private ClanLogo _clanLogo;
    private Room r;
    private Clan _clan;

      public PROTOCOL_BATTLE_ENDBATTLE_ACK(Clan c)
      {
        this._clan = c;
      }

    public PROTOCOL_BATTLE_ENDBATTLE_ACK(Player player)
    {
        _player = player;
        _playerInfo = _player.getPlayerInfos();
       
        r = player.getRoom();
        player.setSlotState(SLOT_STATE.SLOT_STATE_NORMAL);
       
        if(player.isRoomLeader())
        {
            if(r.getPlayers(Team.CHARACTER_TEAM_BLUE).size() - 1 > 0 && r.getPlayers(Team.CHARACTER_TEAM_RED).size() - 1 > 0)
            {
                r.setnewLeader(player);
            }
            else
            {
                r.setInFight(false);
                r.stopBattle(player);
            }
        }
       
        _log.info("Player >>>>>" + _player.getName() + " exit battle");
    }

    @Override
    public void writeImpl()
    {
  
 writeD(1);
 writeD(1);

 writeD(0);
        writeB(new byte[] {0x0c, 0x0f});
       
        writeC(0);
        writeH(3);
        writeH(2);

       
        for(int i = 0; i < 16; i++)
        {
            Player p = r.getPlayerBySlot(i);
            if(p != null)
            {
               
                writeH(r.getScore(Team.CHARACTER_TEAM_RED) * 5);
            }
            else
            {
               
                writeH(0);
            }
        }
       
        for(int i = 0; i < 16; i++)
        {
            Player p = r.getPlayerBySlot(i);
            if(p != null)
            {
                writeH(r.getScore(Team.CHARACTER_TEAM_RED) * 25);
            }
            else
            {
               
                writeH(0);
            }
        }

        writeB(new byte[] {
           
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00,
           
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00,
           
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00
       
        });

        writeS(_player.getName(), 33);
        writeD(_playerInfo.getExp());
        writeD(_playerInfo.getRank());
        writeD(0);
        writeD(_playerInfo.getGamePoint());
        writeD(0);

        writeB(new byte[13]);

        writeD(0);
        writeH(18);

       
        writeS("-RimelzModderz-", 16);
        writeC();
        writeH(50);

        // ClanLogo logo = clan.getClanLogo();
        writeC(3);
        writeC(1);
        writeC(2);
        writeC(7);
        writeH(3);
        writeD();


       
        writeD(61731594);
        writeD(61728637);
        writeD(2957);
        writeD();
        writeD(40947530);
        writeD();
        writeD(31802);
        writeD();
        writeD();
        writeD(39);
       

       
        writeD(85197);
        writeD(78513);
        writeD(6684);
        writeD();
        writeD(6684);
        writeD();
        writeD(71907);
        writeD();
        writeD();
        writeD(23);
       

        writeB(new byte[21]);

            }
}
============================================================

Contoh Source Code Limited Battle :

package ru.pb.game.network.engine.client.packets.sendable;

import ru.pb.game.network.engine.client.packets.GameServerToClientPacket;
import ru.pb.game.objects.model.clan.Clan;
import ru.pb.game.objects.model.players.Player;
import ru.pb.game.objects.model.players.enums.SLOT_STATE;
import ru.pb.game.objects.model.players.enums.Team;
import ru.pb.game.objects.model.room.Room;
import ru.pb.global.data.model.ClanInfo;
import ru.pb.global.data.model.ClanLogo;
import ru.pb.global.data.model.PlayerInfo;

public class PROTOCOL_BATTLE_ENDBATTLE_ACK extends GameServerToClientPacket
{
    private Player _player;
    private PlayerInfo _playerInfo;
    private ClanInfo _clanInfo;
    private ClanLogo _clanLogo;
    private Room r;
    private Clan _clan;

      public PROTOCOL_BATTLE_ENDBATTLE_ACK(Clan c)
      {
        this._clan = c;
      }

    public PROTOCOL_BATTLE_ENDBATTLE_ACK(Player player)
    {
        _player = player;
        _playerInfo = _player.getPlayerInfos();
       
        r = player.getRoom();
        player.setSlotState(SLOT_STATE.SLOT_STATE_NORMAL);
       
        if(player.isRoomLeader())
        {
            if(r.getPlayers(Team.CHARACTER_TEAM_BLUE).size() - 1 > 0 && r.getPlayers(Team.CHARACTER_TEAM_RED).size() - 1 > 0)
            {
                r.setnewLeader(player);
            }
            else
            {
                r.setInFight(false);
                r.stopBattle(player);
            }
        }
       
        _log.info("Player >>>>>" + _player.getName() + " exit battle");
    }

    @Override
    public void writeImpl()
    {
   
        writeB(new byte[] {0x0c, 0x0f});
       
        writeC(0);
        writeH(3);
        writeH(2);

       
        for(int i = 0; i < 16; i++)
        {
            Player p = r.getPlayerBySlot(i);
            if(p != null)
            {
               
                writeH(r.getScore(Team.CHARACTER_TEAM_RED) * 5);
            }
            else
            {
               
                writeH(0);
            }
        }
       
        for(int i = 0; i < 16; i++)
        {
            Player p = r.getPlayerBySlot(i);
            if(p != null)
            {
                writeH(r.getScore(Team.CHARACTER_TEAM_RED) * 25);
            }
            else
            {
               
                writeH(0);
            }
        }

        writeB(new byte[] {
           
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00,
           
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00,
           
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00
       
        });

        writeS(_player.getName(), 33);
        writeD(_playerInfo.getExp());
        writeD(_playerInfo.getRank());
        writeD(0);
        writeD(_playerInfo.getGamePoint());
        writeD(0);

        writeB(new byte[13]);

        writeD(0);
        writeH(18);

       
        writeS("-RimelzModderz-", 16);
        writeC();
        writeH(50);

        // ClanLogo logo = clan.getClanLogo();
        writeC(3);
        writeC(1);
        writeC(2);
        writeC(7);
        writeH(3);
        writeD();


       
        writeD(61731594);
        writeD(61728637);
        writeD(2957);
        writeD();
        writeD(40947530);
        writeD();
        writeD(31802);
        writeD();
        writeD();
        writeD(39);
       

       
        writeD(85197);
        writeD(78513);
        writeD(6684);
        writeD();
        writeD(6684);
        writeD();
        writeD(71907);
        writeD();
        writeD();
        writeD(23);
       

        writeB(new byte[21]);

            }
}

NB : Maka yang Diganti adalah Pada Saat baris
       @Override
       public void writeImpl()
       {
Maka yang Membuat Battle Time Unlimited adalah :

@Override
public void writeImpl()
{
writeD(1);
writeD(1);

writeD(0);
writeB(new byte[] {0x0c, 0x0f});

,dan Untuk Limited hanya Menghapus Code dibawah ini Saja:

writeD(1);
writeD(1);

writeD(0);
Credit Click here

0 komentar:

Posting Komentar