HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1561  
Старый 21.05.2017, 20:29
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Это одно и тоже. У каждой анимации есть имя и айди.
 
Ответить с цитированием

  #1562  
Старый 22.05.2017, 18:27
winrare
Познающий
Регистрация: 24.02.2017
Сообщений: 75
С нами: 4849680

Репутация: 0
По умолчанию

Как получить все данные из пакета ApplyAnimation? В RakSAMP,е функции обработки этого пакета нет. Попробовал сделать порядок считывания данных как в events.lua.

C++:





Код:
WORD playerId
;
BYTE animLibLenght
;
char
animLib
[
257
]
;
BYTE animNameLenght
;
char
animName
[
257
]
;
float
delta
;
bool
loop
,
lockX
,
lockY
,
freeze
;
WORD time
;
bsData
.
Read
(
playerId
)
;
bsData
.
Read
(
animLibLenght
)
;
bsData
.
Read
(
animLib
,
animLibLenght
)
;
animLib
[
animLibLenght
]
=
'\0'
;
bsData
.
Read
(
animNameLenght
)
;
bsData
.
Read
(
animName
,
animNameLenght
)
;
animName
[
animNameLenght
]
=
'\0'
;
bsData
.
Read
(
delta
)
;
bsData
.
Read
(
loop
)
;
bsData
.
Read
(
lockX
)
;
bsData
.
Read
(
lockY
)
;
bsData
.
Read
(
freeze
)
;
bsData
.
Read
(
time
)
;


В итоге все нормально считывается, кроме четырех булевых значений: loop, lockX, lockY, freeze. Они считываются неправильно, причем они все одновременно либо true, либо false. Если вместо четырех считываний bool сделать одно BYTE, то по первым 4 битам этого байта можно определить значения, но тогда неправильно считывается time. По идее можно все четыре булевых значения и время записать в один int, а потом его разобрать по битам, но это неудобно. Может есть вариант проще или я что-то не правильно делаю?
 
Ответить с цитированием

  #1563  
Старый 22.05.2017, 18:34
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

 
Ответить с цитированием

  #1564  
Старый 22.05.2017, 19:00
winrare
Познающий
Регистрация: 24.02.2017
Сообщений: 75
С нами: 4849680

Репутация: 0
По умолчанию

Цитата:
Сообщение от Dark_Knight  
Это получение пакетов синхронизации других игроков, а мне нужен пакет RPC_ScrApplyAnimation, который посылает сервер конкретно мне.
 
Ответить с цитированием

  #1565  
Старый 22.05.2017, 19:07
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Удали чтения ида. Все входящие РПЦ только для тебя будут работать.
 
Ответить с цитированием

  #1566  
Старый 22.05.2017, 19:27
winrare
Познающий
Регистрация: 24.02.2017
Сообщений: 75
С нами: 4849680

Репутация: 0
По умолчанию

Цитата:
Сообщение от Dark_Knight  

Удали чтения ида. Все входящие РПЦ только для тебя будут работать.
PlayerSync это не РПЦ, это просто пакет. Сервер посылает мне только пакеты других игроков, тех которые находятся рядом со мной. Пакеты с моей синхронизацией сервер мне не посылает, да и зачем ему посылать мне обратно тот пакет, который я ему только что отправил.
 
Ответить с цитированием

  #1567  
Старый 22.05.2017, 19:33
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Йобанный врот билять. PlayerSync только есть ид анимации и её флаг. Ни названия анимки, ни библиотеки, где эта анимация хранится.
 
Ответить с цитированием

  #1568  
Старый 22.05.2017, 19:45
winrare
Познающий
Регистрация: 24.02.2017
Сообщений: 75
С нами: 4849680

Репутация: 0
По умолчанию

Цитата:
Сообщение от Dark_Knight  

Йобанный врот билять. PlayerSync только есть ид анимации и её флаг. Ни названия анимки, ни библиотеки, где эта анимация хранится.
Я знаю, что есть в PlayerSync. Я же говорю, я не могу получить свой PlayerSync. Я его должен САМ заполнить и отправить серверу. И отправлять примерно раз в 40мс. Единственный способ узнать какую анимацию мне присвоил сервер, это получить РПЦ.
 
Ответить с цитированием

  #1569  
Старый 22.05.2017, 19:55
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

Цитата:
Сообщение от winrare  

Я знаю, что есть в PlayerSync. Я же говорю, я не могу получить свой PlayerSync. Я его должен САМ заполнить и отправить серверу. И отправлять примерно раз в 40мс. Единственный способ узнать какую анимацию мне присвоил сервер, это получить РПЦ.
Можешь хукать свой исходящий player_sync
 
Ответить с цитированием

  #1570  
Старый 22.05.2017, 20:01
winrare
Познающий
Регистрация: 24.02.2017
Сообщений: 75
С нами: 4849680

Репутация: 0
По умолчанию

Цитата:
Сообщение от BlackKnigga  

Можешь хукать свой исходящий player_sync
Я все это делаю в RakSAMP,е, я сам должен заполнять свой PlayerSync, если я его не заполню данными о своей анимации (которые я должен получить из РПЦ), то просто отправлю нулевой ид анимации.
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.