 |
|

28.05.2017, 22:06
|
|
Участник форума
Регистрация: 06.11.2016
Сообщений: 150
С нами:
5008255
Репутация:
18
|
|
Сообщение от Снежок
ты уверен что там всё правильно?
у меня так бывало, когда я ошибался с адресом на пару байт. и считывал по кускам два значения, которые в итоге выдавали какую-то ересь
float *position = (*(DWORD *)0xB6F5F0) ? (float *)(*(DWORD *)(*(DWORD *)0xB6F5F0 + 0x14) + 0x30) : NULL;
Если ты про это то оно работает и если на клиенте выводить его значение то все нормально
|
|
|

28.05.2017, 22:08
|
|
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами:
6483143
Репутация:
93
|
|
Сообщение от Jack_Savage
float *position = (*(DWORD *)0xB6F5F0) ? (float *)(*(DWORD *)(*(DWORD *)0xB6F5F0 + 0x14) + 0x30) : NULL;
Если ты про это то оно работает и если на клиенте выводить его значение то все нормально
не могу ничем помочь, отбой. :scratch:
|
|
|

28.05.2017, 22:17
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Jack_Savage
float *position = (*(DWORD *)0xB6F5F0) ? (float *)(*(DWORD *)(*(DWORD *)0xB6F5F0 + 0x14) + 0x30) : NULL;
это чтение данных из памяти, ты использщуешь адреса для игры. В RakNet другие адреса. Да и вообще в RakNet они не нужны
|
|
|

28.05.2017, 22:21
|
|
Участник форума
Регистрация: 06.11.2016
Сообщений: 150
С нами:
5008255
Репутация:
18
|
|
Сообщение от SR_team
это чтение данных из памяти, ты использщуешь адреса для игры. В RakNet другие адреса. Да и вообще в RakNet они не нужны
Я это приложыл чтобы ясно было что за position...
Мне координаты из воздуха брать что ли...
Я отправляю float, принимаю float уже какой то не такой как надо...
|
|
|

28.05.2017, 22:25
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Ты уверен, что в packet->data хранится только 12 байт, а не 13?
|
|
|

28.05.2017, 22:33
|
|
Участник форума
Регистрация: 06.11.2016
Сообщений: 150
С нами:
5008255
Репутация:
18
|
|
Сообщение от legend2360
Ты уверен, что в packet->data хранится только 12 байт, а не 13?
А это при чем тут?
|
|
|

28.05.2017, 22:43
|
|
Постоянный
Регистрация: 15.12.2013
Сообщений: 412
С нами:
6530249
Репутация:
133
|
|
Сообщение от Jack_Savage
А это при чем тут?
К тому, что первый байт, возможно, есть ID пакета.
|
|
|

28.05.2017, 23:09
|
|
Участник форума
Регистрация: 06.11.2016
Сообщений: 150
С нами:
5008255
Репутация:
18
|
|
Сообщение от san0
К тому, что первый байт, возможно, есть ID пакета.
bsIn.IgnoreBytes(sizeof(RakNet::MessageID));
Исправил. Спасибо большое :3
|
|
|

29.05.2017, 15:43
|
|
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами:
6483143
Репутация:
93
|
|
Можно как-нибудь выполнить объявление переменной для конкретной функции, не переобъявляя с каждой итерацией функции, и не делая глобальной? (и если кто будет отвечать, то заодно напишите, пожалуйста, окажет ли подобная "подгонка" положительное влияние на производительность, или это лишь усложнит задачу компу)
И ещё один вопрос назрел, пока писал. Я вот так "упрощаю" работу процессору (наверное, так выполнение должно быть быстрее)
C++:
Код:
char
*
PTS
;
char
*
ppts
=
new
char
(
sstring
[
144
]
)
;
unsigned
__int16 nocis
,
scrx1
,
screex
=
0
;
unsigned
char
red
,
green
,
blue
=
rand
(
)
;
и вот когда я пытаюсь так же объединить указатели на символьные массивы, как обычные переменные - мне выдаёт ошибку. Можно как-нибудь "упростить" объявление указателей, сгруппировать что ли для пущей производительности?
|
|
|

29.05.2017, 15:51
|
|
Участник форума
Регистрация: 23.10.2010
Сообщений: 125
С нами:
8186006
Репутация:
1
|
|
Сообщение от Снежок
Можно как-нибудь выполнить объявление переменной для конкретной функции, не переобъявляя с каждой итерацией функции, и не делая глобальной?
Один вопрос, для чего?
Читаю твои сообщения и не понимаю тебя... Зачем изобретать какую то дичь, если до тебя уже всё придумали?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|