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

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

Ответ
Опции темы
Непрочитано 15.01.2018, 22:17   #1
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) UDP 3 Event

Нужна помощь с реализацией событий , поймать пакеты и разобрать смог.
Но вот реализовать не особо, может кто нибудь скинуть пример реализации например с хп.
Просто пример
BattleClientConnection:
Свернуть ↑Развернуть ↓
Boris2105 вне форума Ответить с цитированием
Непрочитано 16.01.2018, 00:12   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: UDP 3 Event

Цитата:
Сообщение от Boris2105 Посмотреть сообщение
EventType = originalbuffer.readInt();
Вот здесь ты считываешь события (маску). Проверяй, есть ли определённый флаг в events и делай, что нужно.

К примеру в клиенте просто последовательно:

if (events.HasFlag(GameEventType.RadioChat))
{
	// ...
}
 
if (events.HasFlag(GameEventType.WeaponSync))
{
	// ...
}
 
if (events.HasFlag(GameEventType.HpSync))
{
	var hp = reader.ReadInt16();
 
	// ...
 
	events ^= GameEventType.HpSync;
}
 
// ...
 
Code: C#

Только синхронизировать вот так вот ХП не имеет смысла, нужно самому отправлять HpSync после получения урона игроком, а иначе это "дыра" для читеров. Пример его отправки я описывал в теме https://forum.zone-game.info/showthread.php?t=41671

Пока займись разбором всех событий.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 16.01.2018, 07:36   #3
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) Re: UDP 3 Event

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Вот здесь ты считываешь события (маску). Проверяй, есть ли определённый флаг в events и делай, что нужно.

К примеру в клиенте просто последовательно:

if (events.HasFlag(GameEventType.RadioChat))
{
	// ...
}
 
if (events.HasFlag(GameEventType.WeaponSync))
{
	// ...
}
 
if (events.HasFlag(GameEventType.HpSync))
{
	var hp = reader.ReadInt16();
 
	// ...
 
	events ^= GameEventType.HpSync;
}
 
// ...
 
Code: C#

Только синхронизировать вот так вот ХП не имеет смысла, нужно самому отправлять HpSync после получения урона игроком, а иначе это "дыра" для читеров. Пример его отправки я описывал в теме https://forum.zone-game.info/showthread.php?t=41671

Пока займись разбором всех событий.
хорошо , это я понял. Но вот маску событий сделать тут
 
EventType = originalbuffer.readInt();
 
Code: C#
но вот эти события записать в 4 опкод или как их вызывать?
и как будет меняться информация из 3 пакета
Boris2105 вне форума Ответить с цитированием
Непрочитано 16.01.2018, 12:06   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: UDP 3 Event

3 и 4 - это один и тот же пакет.
По вопросу "как их вызывать" ничего не понял.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 16.01.2018, 12:30   #5
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) Re: UDP 3 Event

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
3 и 4 - это один и тот же пакет.
По вопросу "как их вызывать" ничего не понял.
это я знаю , я про события
Код:
00 // SubHead.User
00 00 // Slot 0
15 00 // Size
04 00 00 00 // Events.PosRotation
CA 47 // X
B6 00 // Y
FE 48 // Z
BA 4D // CamX
FB D4 // CamY
03 00 // Area
вот например пакет о позиции игрока
Код:
08 // SubHead.StageInfoChara
00 00 // Slot 0
0b 00 // Size
00 10 00 00 // Events.HpSync
00 1c // HP
а это уже пакет о хп
то есть как менять пакеты в 3 и 4 опкоде, мб так понятнее
Boris2105 вне форума Ответить с цитированием
Непрочитано 16.01.2018, 13:51   #6
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: UDP 3 Event

case 3:
case 4:
	// GameEventType.PosRotation | GameEventType.HpSync (260)
	var events = (GameEventType)reader.ReadInt32();
 
	// Читаем 0x04
	if (events.HasFlag(GameEventType.PosRotation))
	{
		var posX = reader.ReadUInt16();
		var posY = reader.ReadUInt16();
		var posZ = reader.ReadUInt16();
 
		var camX = reader.ReadUInt16();
		var camY = reader.ReadUInt16();
		var area = reader.ReadUInt16();
 
		var position = new Half3(posX, posY, posZ);
		var camera = new Half2(camX, camY);
 
		// room.ValidatePosition(position);
 
		events ^= GameEventType.PosRotation;
	}
 
	// Читаем 0x100
	if (events.HasFlag(GameEventType.HpSync))
	{
		var hp = reader.ReadInt16();
 
		// ...
 
		events ^= GameEventType.HpSync;
	}
 
	log.Debug($"Необработанные события: {events}");
break;
 
Code: C#

Ну и собирай из полученных данных новый пакет со своими событиями, грубо говоря в обратном порядке.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TvT Event low-pts Работа со скриптами 4 08.08.2013 02:13
Event Moratres Работа со скриптами 3 09.09.2012 10:24
Event-ы MaJIou2906 Работа со скриптами 6 18.06.2011 16:50
TvT Event ZlobriK Работа со скриптами 1 31.03.2011 22:30
Event off SWnet Lineage II 3 27.04.2009 04:08


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

Вверх