1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. Evgeniy
  2. Evgeniy
  3. Evgeniy
  4. Evgeniy
  5. Evgeniy
  6. Evgeniy
    GameDB daemon - один из демонов pw, его задача предоставлять внутриигровые данные (не относится к sql-данным аккаунта). GDB основан на встраиваемой базе данных Berkeley DB [1], что позволяет демону достаточно быстро оперировать данными. Протокол Общение с игровой базой осуществляется по строго определенному RPC-протоколу [2]. Чтобы осуществить какую-либо операцию с игровой базой нужно знать опкод-пакета [3] и типы принимаемых аргументов, вызываемой функции. Тело RPC в pw выглядит следующим образом: CUInt opcode;//opcode-процедуры (CUInt см. ниже) CUInt length;//количество байт, используемые для аргументов ...//аргументы Пример: Получить информацию о персонаже, зная его id (GetRoleData). Мы знаем что opcode этой операции = 8003, функция на входе получает sid и rid: CUInt opcode = 8003; CUInt length = 8; Int32 sid = 1; Int32 rid = 1024; Зная опкоды и аргументы функций можно манипулировать данными игровой базы: от просмотра информации о персонаже/карты сражений, до внесения изменений в инвентарь и изменения списка друзей. Список разобранных протоколов участниками иследовательской ветви можно найти здесь Список опкодов v1.2.6 115 GetTaskDataRpc 135 PutTaskDataRpc 200 PutFriendList 201 GetFriendList 215 PutMessage 216 GetMessage 413 DBStockBalance 414 DBStockTransaction 415 DBStockLoad 416 DBStockCommission 417 DBStockCancel 514 GetAddCashSN 611 DBSellPoint 612 DBSyncSellInfo 613 DBSellTimeout 614 DBSellCancel 615 DBBuyPoint 618 DBTransPointDeal 810 DBAuctionOpen 811 DBAuctionBid 812 DBAuctionList 813 DBAuctionGet 814 DBAuctionTimeout 815 DBAuctionClose 863 DBBattleLoad 864 DBBattleSet 865 DBBattleChallenge 868 DBBattleEnd 871 DBBattleMail 872 DBBattleBonus 3001 PutUser 3002 GetUser 3003 DelUser 3005 GetRole 3006 DelRole 3007 DBCreateRole 3008 DBDeleteRole 3009 DBUndoDeleteRole 3012 PutRoleBase 3013 GetRoleBase 3014 PutRoleStatus 3015 GetRoleStatus 3016 PutRoleEquipment 3017 GetRoleEquipment 3018 PutRoleTask 3019 GetRoleTask 3020 TradeInventory 3021 TradeSave 3022 GetMoneyInventory 3023 PutMoneyInventory 3024 PutRole 3025 GetRoleBaseStatus 3026 PutRoleStorehouse 3027 GetRoleStorehouse 3030 PutRoleForbid 3031 GetRoleForbid 3032 GetUserRoles 3033 GetRoleId 3034 TransactionAcquire 3035 TransactionAbort 3036 TransactionCommit 3043 ClearStorehousePasswd 3044 RenameRole 3047 CanChangeRolename 3049 GetRoleInfo 3050 PutRolePocket 3051 GetRolePocket 3100 DBSetCashPassword 4047 PutSpouse 4251 DBGetMailList 4252 DBGetMail 4253 DBGetMailAttach 4254 DBSetMailAttr 4255 DBSendMail 4256 DBDeleteMail 4600 AddFaction 4601 DelFaction 4602 AddMember 4603 DelMember 4604 UpdateUserFaction 4605 UpdateFaction 4606 GetFactionInfo 4607 GetUserFaction 4608 GetFactionDetail 4609 DBVerifyMaster 4610 DBFactionUpgrade 4611 DBFactionPromote Типы данных используемых игровой базой: CUInt (Compact UInt) - особый китайский целочисленный без знаковый тип данных , не фиксированной длины, часто встречается в pw, чаще всего выступает размером чего-либо. Byte, Int16, Int32, UInt16, UInt32 - при общении с базой для целочисленных переменных она использует little-endian порядок байт [2]. Если же переменная является частью октета - то здесь напротив прямой порядок байт. Октеты - октеты (массив байт [3]) в gdb используются для хранения сериализованных другими демонами данными (напр. в GRoleStatus поле multi_exp_ctrl хранится в октетах, т.к. это тип сериализирован gs'ом, игровая база не знает о структуре этого типа). Тело октета выглядит так: CUInt length; //в начале октета идет размер массива байт byte[length] data;//последовательность байт, в том количестве, что указанно в length Вектор - одномерный массив, индексация которого строго начинается с нуля [4]. В игровой базе ни раз встречается этот тип данных (прим. GRoleBase->Forbid). Здесь он выполняет роль массива для некоторых типов. Тело вектора: CUint32 length;//Размер вектора T[length] data;//Массив этих типов DateTime - время и дата хранятся в виде UNIX-timestamp (количество секунд прошедших с полуночи 1 января 1970 года [5]). Хранится время в UInt32 (прим. GRoleBase->create_time) TimeSpan - интервал времени, так же хранит количество секунд в UInt32 (прим. GRoleStatus->multi_exp_ctrl->enhance_time) Строки - строки в gdb сериализованны в виде октетов. Строки хранятся в Unicode'e © dev.pwlab.ru
    Автор темы: Evgeniy, 22 дек 2013, ответов - 0, в разделе: PW Документация
  7. Evgeniy
  8. Evgeniy
    PwModelViewer - приложение, результат труда ветви, способен открывать *ski файлы, подгружать текстуры, рендерить представление объектов. Версия: 1.0 (бета) На данный момент PMV может: Загрузить ski-модель Загрузить пак моделей (указывается папка напр. "models.pck.files\") все файлы имеющие разрешения *.ski будут загружены в программу и при просмотре будет доступно перелистывание Получить путь к модели, по шаблону, используемый в elements.data Экспортировать модель в *.obj формат (создается пак из: obj-файла геометрии, mtl-файл метриал и пронумерованные текстуры в png) Экспорт рендер модели с прозрачностью в png-файл Так же выводиться информация хранимая в ski-файле: наименование текстур, наименование мэшей, кости и материалы. Как использовать: Вы можете по средствам Windows ассоциировать программу с ski файлами, чтобы просматривать необходимый файл, так же программа поддерживает "drag&drop", благодаря чему, вы можете получать рендер модели перетаскиванием ski-файла в окно приложения. В программе предусмотрены следующие комбинации клавиш: Control+S - экспортировать модель: *.obj| *.objz| *.png Control+O - открывает диалоговое окно, где вам необходимо указать путь к директории. Указанная директория будет использоваться как пак-моделей. Control+С - получает игровой путь к файлам (см. выше) [IMG] [IMG] Требования: .net framework 4.5 Скачать: Версия 1.0 Вирустотал. Не уверен, но вроде ругается на обфускатор, попробую скомпилировать на чистой машине
    Автор темы: Evgeniy, 21 дек 2013, ответов - 7, в разделе: PW Разработки
  9. Evgeniy
    Сообщение

    Psd макеты для mmo

    такое чувство что шрифты из денди
    Сообщение от: Evgeniy, 20 дек 2013 в разделе: Продам
  10. Evgeniy
  11. Evgeniy
  12. Evgeniy
  13. Evgeniy
  14. Evgeniy
  15. Evgeniy
  16. Evgeniy
  17. Evgeniy
  18. Evgeniy
  19. Evgeniy
  20. Evgeniy