Ругается на BfReadByte

uhx

Участник
Сообщения
20
Реакции
0
Похоже, надо что-то обновить... или я не знаю. Везде, где используется эта функция, возникает такая ошибка.
ztgt6os.png

Строка 24:
PHP:
new Sender = BfReadByte(bf);
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
uhx,
- Какая игра? Скрее всего CS GO.

Добавлено через 4 минуты
Замени Bf НА Pb

Пример:
Было - BfReadFloat
Стало - PbReadFloat

Добавлено через 12 минут
Но не всегда получится так. Смотри API!
Сейчас исп. вот эти функции: https://sm.alliedmods.net/api/index.php?fastload=file&id=33&

А надо вот эти: https://sm.alliedmods.net/api/index.php?fastload=file&id=63&type=&
 
Последнее редактирование:
  • Мне нравится
Реакции: uhx

uhx

Участник
Сообщения
20
Реакции
0
uhx,
- Какая игра? Скрее всего CS GO.

Добавлено через 4 минуты
Замени Bf НА Pb

Пример:
Было - BfReadFloat
Стало - PbReadFloat

Добавлено через 12 минут
Но не всегда получится так. Смотри API!
Сейчас исп. вот эти функции: https://sm.alliedmods.net/api/index.php?fastload=file&id=33&

А надо вот эти: https://sm.alliedmods.net/api/index.php?fastload=file&id=63&type=&

Я не думаю, что это то.
Я отлавливаю UserMessage (SayText2), и мне надо вытащить информацию из Handle. Смотрел другие примеры - там используется именно BfReadByte, но у меня сервер ругается на эту функцию.
PbReadInt я использовать не могу, потому что не знаю, что подставлять во второй аргумент.
C-подобный:
native PbReadInt(Handle:pb, const String:field[], index=PB_FIELD_NOT_REPEATED);

ЗЫ где вообще можно посмотреть структуры этих сообщений?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

uhx

Участник
Сообщения
20
Реакции
0
Не, видимо это все-таки то, потому что
C-подобный:
GetUserMessageType() == UM_Protobuf
вернул единицу) Но как мне тогда понять, какие там есть значения?

Добавлено через 3 минуты
На CS:GO используется только protobuf вместо bitbuffer - тут и думать нечего.

Да-да, я уже понял)
Нашел кое-что:
https://github.com/alliedmodders/hl...sgo/protobuf/cstrike15_usermessages.proto#L68
Отсюда, я так понял, и надо брать все значения?)
Вот, например, нужная мне структура
C-подобный:
message CCSUsrMsg_SayText2
{
	optional int32 ent_idx = 1;
	optional bool chat = 2;
	optional string msg_name = 3;
	repeated string params = 4;
	optional bool textallchat = 5;
}

// UPD
А ну вот еще нашел, поудобнее:
https://wiki.alliedmods.net/Counter-Strike:_Global_Offensive_UserMessages#SayText2

В общем, всем спасибо, я понял) Пошел разбираться дальше
 
Последнее редактирование:
Сверху Снизу