Помогите мне, пожалуйста, Point Blank 8x8 SM_BATTLE_END - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Ответ
Опции темы
Непрочитано 13.11.2014, 19:05   #1
Аватар для Exile03
Пользователь

Автор темы (Топик Стартер) Помогите мне, пожалуйста, Point Blank 8x8 SM_BATTLE_END

Может кто-то поможет мне исправить эту ошибку
PVP Point Blank 8X8
Красный команда, когда вы выигрываете PVP он говорит, что вы потеряли
И Синяя команда всегда побеждает, даже с небольшим убийство
может кто-то помочь мне исправить эту ошибку

SM_BATTLE_END

Цитата:
/*
* Java Server Emulator Project Blackout / PointBlank
*
* 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/>.
*
* Authors: DarkSkeleton, sjke, Felixx
* Copyright (C) 2013 PBDev™
*/

package ru.pb.game.network.client.packets.server;

import ru.pb.game.network.client.packets.ServerPacket;
import ru.pb.global.models.LevelUpInfo;
import ru.pb.global.models.Player;
import ru.pb.global.models.Room;
import ru.pb.global.models.RoomSlot;
import ru.pb.global.service.LevelUpDaoService;

/**
* Неизместный пакет, отправляется вместе с пекетов авторизации
*
* @author sjke
*/
public class SM_BATTLE_END extends ServerPacket {

private final Player player;
private final Room room;

public SM_BATTLE_END(Player player, Room room) {
super(0xD08);
this.player = player;
this.room = room;
}

@Override
public void writeImpl() {

//TODO переделать
LevelUpInfo levelUpInfo = LevelUpDaoService.getInstance().getLevelInfoForRan k((byte) (player.getRank() + 1));
RoomSlot slotByPlayer = room.getRoomSlotByPlayer(player);
player.setExp(player.getExp() + slotByPlayer.getAllExp());
player.setGp(player.getGp() + slotByPlayer.getAllGp());

if (player.getRank() <= 52) {
if (levelUpInfo.getAllExp() < player.getExp()) {
player.setRank((short) (player.getRank() + 1));
player.setGp(player.getGp() + levelUpInfo.getRewardGp());
}
}
//

writeC(room.getRedKills() > room.getBlueKills() ? 0 : 1);// походу команда которая выигрывает
writeH(383); // что это???
writeH(266); // что это???


// Опыт
for (int i = 0; i < 16; i++) {
RoomSlot slot = room.getRoomSlot(i);
writeH(slot.getAllExp());
}
// Очки
for (int i = 0; i < 16; i++) {
RoomSlot slot = room.getRoomSlot(i);
writeH(slot.getAllGp());
}
//Очки за ботов
for (int i = 0; i < 16; i++) {
if (room.getSpecial() == 6) {
RoomSlot slot = room.getRoomSlot(i);
int score = slot.getBotScore();
writeH(score);
} 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
//
});

writeS(player.getName(), Player.MAX_NAME_SIZE); // Имя перса
writeD(player.getExp()); // опыт
writeD(player.getRank()); // ранк (0-54)
writeD(player.getRank()); // Пока не понятно за чего отвечают пустые байты...
writeD(player.getGp()); // ГП
writeD(con.getAccount().getMoney()); // Рублики

writeD(0); // ClanID
writeD(0); // ClanNameColor
writeD(0); // Unk
writeD(0); // Unk
writeH(player.getPcCafe());
writeC(player.getColor()); // 0-9 Color name

if (player.getClan() == null) {
writeS("", 16);
writeC(0);
writeH(0);
writeC(255);
writeC(255);
writeC(255);
writeC(255);
writeH(0);
} else {
writeS(player.getClan().getName(), 16);
writeC(0); // unk - Видимо разделитель
writeH(player.getClan().getRank());
writeC(player.getClan().getLogo1());
writeC(player.getClan().getLogo2());
writeC(player.getClan().getLogo3());
writeC(player.getClan().getLogo4());
writeH(player.getClan().getColor());
}

writeD(0); // Непонятно чо

writeB(new byte[9]);

writeD(player.getStats().getFights());
writeD(player.getStats().getWins());
writeD(player.getStats().getLosts());
writeD(0); // unk
writeD(player.getStats().getKills());
writeD(player.getStats().getSeriaWins());
writeD(player.getStats().getDeaths());
writeD(0); // unk
writeD(player.getStats().getKpd());
writeD(player.getStats().getEscapes());
writeD(player.getStats().getSeasonFights());
writeD(player.getStats().getSeasonWins());
writeD(player.getStats().getSeasonLosts());
writeD(0); // unk
writeD(player.getStats().getSeasonKills());
writeD(player.getStats().getSeasonSeriaWins());
writeD(player.getStats().getSeasonDeaths());
writeD(0); // unk
writeD(player.getStats().getSeasonKpd());
writeD(player.getStats().getSeasonEscapes());

writeB(new byte[53]);
}
}

SM_BATTLE_FRAG_INFO

Цитата:
/*
* Java Server Emulator Project Blackout / PointBlank
* 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/>.
* Authors: DarkSkeleton, sjke, Felixx
* Copyright (C) 2013 PBDev™
*/

package ru.pb.game.network.client.packets.server;

import ru.pb.game.network.client.packets.ServerPacket;
import ru.pb.global.models.Frag;
import ru.pb.global.models.FragInfos;
import ru.pb.global.models.Room;
import ru.pb.global.models.RoomSlot;

/**
* @author: Felixx
* Date: 02.10.13
* Time: 6:48
*/
public class SM_BATTLE_FRAG_INFO extends ServerPacket {

private Room room;
private FragInfos fragInfos;

public SM_BATTLE_FRAG_INFO(Room room, FragInfos fragInfos) {
super(0xD1B);
this.room = room;
this.fragInfos = fragInfos;
}

@Override
public void writeImpl() {
writeC(fragInfos.getVicTimIdx()); // WTF?
writeC(fragInfos.getKillsCount()); // Всего померло.
writeC(fragInfos.getKiller()); // Слот убитого.
writeD(fragInfos.getKillWeaapon()); // Орудие убийства.
writeB(fragInfos.getUnkBytes()); // Хз что там.

RoomSlot killer = room.getRoomSlot(fragInfos.getKiller());

for(int i = 1; i <= fragInfos.getKillsCount(); i++) {
Frag frag = fragInfos.getFrag(i);
writeC(frag.getUnkC1());
writeC(frag.getDeathMask()); //

switch(killer.getKillMessage())
{
case 0:
writeH(0);
break;
case 1:
writeH(1);
break;
case 2:
writeH(2);
break;
case 3:
writeH(4);
break;
case 4:
writeH(8);
break;
case 5:
writeH(16);
break;
case 6:
writeH(32);
break;
case 7:
writeH(64);
break;
case 8:
writeH(128);
break;
default:
writeH(0);
break;
}
writeB(frag.getUnk13bytes());
}

writeD(room.getRedKills());
// writeH(0);

writeD(room.getBlueKills());
// writeH(0);


for(RoomSlot member : room.getRoomSlots()) {
writeH(member.getAllKills());
writeH(member.getAllDeath());
}

// writeC(0); // кол-вол игроков?
if(fragInfos.getKillsCount() == 1)
if(killer.getOneTimeKills() == 1)
writeC(0);
else if(killer.getOneTimeKills() == 2)
writeC(1);
else if(killer.getOneTimeKills() == 3)
writeC(2);
else if(killer.getOneTimeKills() > 3)
writeC(3);

writeH(killer.getBotScore());
int hz = 0;
if(hz > 0)
writeD(0);
}
}
Exile03 вне форума Ответить с цитированием
Непрочитано 13.11.2014, 19:34   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Помогите мне, пожалуйста, Point Blank 8x8 SM_BATTLE_END

Цитата:
writeC(room.getRedKills() > room.getBlueKills() ? 0 : 1);// походу команда которая выигрывает
writeH(383); // что это???
writeH(266); // что это???
  1. enum (TEAM_RED_WIN, TEAM_BLUE_WIN, TEAM_DRAW);
  2. Активные слоты;
  3. Выполненные миссии в этом бою.

Цитата:
writeD(room.getRedKills());
// writeH(0);
В первом и втором случае там 2 ushort (UInt16): фраги и смерти.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 13.11.2014, 19:43   #3
Аватар для Exile03
Пользователь

Автор темы (Топик Стартер) Re: Помогите мне, пожалуйста, Point Blank 8x8 SM_BATTLE_END

Цитата:
writeC(room.getRedKills() > room.getBlueKills() ? 0 : 1);// походу команда которая выигрывает
writeH(383); // что это???
writeH(266); // что это???

Цитата:
writeD(room.getRedKills());
// writeH(383);

writeD(room.getBlueKills());
// writeH(266);

когда я положил тот же
красная команда не победит
Exile03 вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребят, помогите пожалуйста D1avol Работа со скриптами 22 12.09.2013 10:14
Помогите собрать logo.utx пожалуйста hYdR0 Игровой клиент 2 02.08.2013 23:27
Цены аргументации. пожалуйста помогите где их изменить? буду очень рад!!! Bobur Lineage II 4 15.06.2013 21:16
Помогите пожалуйста новечку!!! Toop Lineage II 6 02.08.2009 00:07
Проблема с НПЦ Срочьно помогите fain Lineage II 11 20.08.2008 15:08


© 2007–2023 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 03:03. Часовой пояс GMT +3.

Вверх