Тема: PKT v3.0 Viewer
Показать сообщение отдельно
Старый 10.05.2011, 21:16   #36
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Нет я не про это. У луа есть и методы в полноценном понимании и функции таблицы.
То есть вызов packet.read8() это вызов функции из таблицы, а packet:read8() вызов метода.

У меня например было так.
Код:
PacketParser::PacketParser(const Packet* aPkt)
{
    pkt=aPkt;
    L = lua_open();
    luaL_openlibs(L);
    luabind::open(L);
    module(L)
    [
        class_<PacketParser>("CPacket")
        .def("Opcode", &PacketParser::GetOpcode)
        .def("OpcodeName", &PacketParser::GetOpcodeName)
        .def("ReadInt32", &PacketParser::ReadInt32)
        .def("ReadUInt32", &PacketParser::ReadInt32)
        .def("ReadInt64", &PacketParser::ReadInt64)
        .def("ReadUInt64", &PacketParser::ReadInt64)
        .def("ReadString", &PacketParser::ReadString)
        .def("ReadByte", &PacketParser::ReadByte)
        .def("ReadBytes", &PacketParser::ReadBytes)
        .def("DeCompress", &PacketParser::DeCompress)
        .def("HexPrint", &PacketParser::HexPrint)

    ];
    globals(L)["Packet"] = this;
А в луа использовал вот так соответственно.
Код:
local addon_count=Packet:ReadInt32();

Последний раз редактировалось alien; 10.05.2011 в 21:20.
alien вне форума   Ответить с цитированием