[Point Blank] CM_READY help camera mod - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Point Blank (Piercing Blow)

Point Blank (Piercing Blow)
Общие вопросы по написанию эмулятора. General questions on developing emulator. При поддержке: Lucera 2 - разработка Java Interlude

Ответ
Опции темы
Непрочитано 22.03.2018, 20:21   #1
Пользователь

Автор темы (Топик Стартер) CM_READY help camera mod

hello Programmator hrlp masomeone know how i can fix this camera
exemple when two people PVP 1X1 i go start PVP
he don't wait in this camera
package ru.pb.game.network.client.packets.client;
 
import ru.pb.game.network.client.packets.ClientPacket;
import ru.pb.game.network.client.packets.server.SM_BATTLE_READY;
import ru.pb.game.network.client.packets.server.SM_BATTLE_READY2;
import ru.pb.game.network.client.packets.server.SM_ROOM_INFO;
import ru.pb.game.network.client.packets.server.SM_ROOM_READY_ERROR;
import ru.pb.global.enums.SlotState;
import ru.pb.global.models.Player;
import ru.pb.global.models.Room;
import ru.pb.global.models.RoomSlot;
import ru.pb.global.utils.concurrent.ThreadPoolManager;
 
 
public class CM_BATTLE_READY extends ClientPacket {
 
	public CM_BATTLE_READY(int opcode) {
		super(opcode);
	}
 
	@Override
	public void readImpl() {
	}
 
	@Override
	public void runImpl() {
		final Room room = getConnection().getRoom();
		if (room.getLeader().equals(getConnection().getPlayer())) {
			int num = 0;
			for(Player p : room.getPlayers().values()){
				if(room.getRoomSlotByPlayer(p).getState() == SlotState.SLOT_STATE_READY && room.getRoomSlotByPlayer(p).getId() % 2 != room.getRoomSlotByPlayer(room.getLeader()).getId() % 2)
					num++;
			}
			if(num > 0 || room.getSpecial() == 6 || room.getSpecial() == 9){
					room.setFigth(true);
					room.setTimeLost(room.getKillTime() * 60);
					room.readySlots1.clear();
					room.readySlots2.clear();
					room.preStart = false;
					room.Started = false;
					room.prestartedCount = 0;
					room.trex = -1;
					room.rounds = 0;
					if(room.getType() == 12)
						room.rounds = 1;
					room.bar1 = 0;
					room.bar2 = 0;
					room.swapCorrect = true;
					room.RoundRespawning = false;
					room.setRedWinRounds(0);
					room.setBlueWinRounds(0);
				room.getRoomSlotByPlayer(room.getLeader()).setState(SlotState.SLOT_STATE_READY);
				ThreadPoolManager.getInstance().executeTask(new Runnable() {
					@Override
					public void run() {
						for (Player member : getConnection().getRoom().getPlayers().values()) {
							RoomSlot slot = room.getRoomSlotByPlayer(member);
							slot.bar1 = 0;
							slot.bar2 = 0;
							slot.util = 0;
							if (slot.getState() == SlotState.SLOT_STATE_READY) {
								slot.setState(SlotState.SLOT_STATE_LOAD);
								room.readySlots1.put(slot.getId(), slot.getPlayer());
								member.getConnection().sendPacket(new SM_BATTLE_READY(room, member));
							}
						}
					}
				});
			}else{
				sendPacket(new SM_ROOM_READY_ERROR(0x80001009));
			}
		} else {
			RoomSlot slotLeader = room.getRoomSlotByPlayer(room.getLeader());
			RoomSlot slot = room.getRoomSlotByPlayer(getConnection().getPlayer()); 
			if (slotLeader.getState() == SlotState.SLOT_STATE_LOAD || slotLeader.getState() == SlotState.SLOT_STATE_RENDEZVOUS || slotLeader.getState() == SlotState.SLOT_STATE_PRESTART || slotLeader.getState() == SlotState.SLOT_STATE_BATTLE_READY || slotLeader.getState() == SlotState.SLOT_STATE_BATTLE) {
				room.changeSlotState(slot.getId(), SlotState.SLOT_STATE_LOAD, true);
				sendPacket(new SM_BATTLE_READY(room, getConnection().getPlayer()));
				sendPacket(new SM_ROOM_READY_ERROR(slot.getState().ordinal()));
				for(Player member : room.getPlayers().values())
					if(room.getRoomSlotByPlayer(member).getState().ordinal() > 8 && room.getRoomSlotByPlayer(member).getId() != slot.getId())
						member.getConnection().sendPacket(new SM_BATTLE_READY2(room, slot.getPlayer()));
			}
			if (slot.getState() == SlotState.SLOT_STATE_READY) {
				slot.setState(SlotState.SLOT_STATE_NORMAL);
				slot.Ghost = true;
			} else if (slot.getState() == SlotState.SLOT_STATE_NORMAL) {
				slot.setState(SlotState.SLOT_STATE_READY);
				slot.Ghost = true;
			}
		}
		ThreadPoolManager.getInstance().executeTask(new Runnable() {
			@Override
			public void run() {
				for (Player member : getConnection().getRoom().getPlayers().values()) {
					member.getConnection().sendPacket(new SM_ROOM_INFO(room));
				}
			}
		});
	}
 
}
 
Code: Java
LeghtZone вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BATTLE Camera Game mode Exile03 Point Blank (Piercing Blow) 9 08.02.2016 18:43
No wait respawn in camera mode Exile03 Point Blank (Piercing Blow) 14 22.01.2016 17:53


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

Вверх