Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
UDP 3 Event
#1
Нужна помощь с реализацией событий , поймать пакеты и разобрать смог.
Но вот реализовать не особо, может кто нибудь скинуть пример реализации например с хп.
Просто пример
BattleClientConnection
Ответ
#2
Boris2105;429707 Написал:EventType = originalbuffer.readInt();

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

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

[SRC="csharp"]if (events.HasFlag(GameEventType.RadioChat))
{
// ...
}

if (events.HasFlag(GameEventType.WeaponSync))
{
// ...
}

if (events.HasFlag(GameEventType.HpSync))
{
var hp = reader.ReadInt16();

// ...

events ^= GameEventType.HpSync;
}

// ...
[/SRC]


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

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

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

[SRC="csharp"]if (events.HasFlag(GameEventType.RadioChat))
{
// ...
}

if (events.HasFlag(GameEventType.WeaponSync))
{
// ...
}

if (events.HasFlag(GameEventType.HpSync))
{
var hp = reader.ReadInt16();

// ...

events ^= GameEventType.HpSync;
}

// ...
[/SRC]


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

Пока займись разбором всех событий.

хорошо , это я понял. Но вот маску событий сделать тут
[SRC=csharp]
EventType = originalbuffer.readInt();
[/SRC]
но вот эти события записать в 4 опкод или как их вызывать?
и как будет меняться информация из 3 пакета
Ответ
#4
3 и 4 - это один и тот же пакет.
По вопросу "как их вызывать" ничего не понял.
Ответ
#5
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 опкоде, мб так понятнее
Ответ
#6
[SRC="csharp"]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;
[/SRC]


Ну и собирай из полученных данных новый пакет со своими событиями, грубо говоря в обратном порядке.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  help me UDP3 DeathDataForClient Event Id 2048 bmzproject 2 1,727 07-20-2018, 07:04 AM
Последний пост: battleBugado
  help me please UDP3 Event Position Error bmzproject 14 4,042 05-24-2018, 05:31 AM
Последний пост: PISTOLA
  Help me please UDP3 Event receive and send I'm wrong bmzproject 2 1,801 05-01-2018, 01:11 AM
Последний пост: bmzproject
  help me UDP3 I need a structure Event Death Data For Client bmzproject 2 1,525 04-23-2018, 05:59 PM
Последний пост: bmzproject
  help me UDP3 I need a structure Event 8 bmzproject 5 1,978 03-27-2018, 04:19 PM
Последний пост: PROGRAMMATOR
  Help me please UDP3 EVENT Opcode 3 and 4 bmzproject 7 2,576 02-15-2018, 11:30 AM
Последний пост: bmzproject

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)