Ругается на BfReadByte

Тема в разделе "Программирование / Скриптинг", создана пользователем uhx, 21 июл 2015.

  1. uhx

    uhx

    Сообщения:
    20
    Симпатии:
    0
    Похоже, надо что-то обновить... или я не знаю. Везде, где используется эта функция, возникает такая ошибка.
    [​IMG]
    Строка 24:
    PHP:
    new Sender BfReadByte(bf);
     
  2. Саша Шеин

    Саша Шеин

    Сообщения:
    1.258
    Симпатии:
    191
    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=&
     
    Последнее редактирование: 21 июл 2015
    uhx нравится это.
  3. uhx

    uhx

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

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.506
    Симпатии:
    1.961
    На CS:GO используется только protobuf вместо bitbuffer - тут и думать нечего.
    Counter-Strike: Global Offensive UserMessages.
     
    uhx нравится это.
  5. uhx

    uhx

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

    Добавлено через 3 минуты
    Да-да, я уже понял)
    Нашел кое-что:
    https://github.com/alliedmodders/hl...sgo/protobuf/cstrike15_usermessages.proto#L68
    Отсюда, я так понял, и надо брать все значения?)
    Вот, например, нужная мне структура
    Код:
    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

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