Перейти к содержанию

Electr0

Администраторы
  • Постов

    10 372
  • Зарегистрирован

  • Посещение

  • Победитель дней

    414

Весь контент Electr0

  1. Electr0

    Библиотека построек

    думаю стоит сделать тестовый плагин где бы этот краш повторялся чтобы показать это разработчикам Sourcemod
  2. Electr0

    Библиотека построек

    Прототип 0.2.3.1 прошелся по switch конструкциям и добавил кейз для нестандартных значений default: проведены занудные испытания повторения бага на версии стройки предшествующей версии с библиотекой в ходе которых точно подтверждена последняя догадка что проблему вызывают двухмерные массивы вида g_iChoosedParam[ПАРАМЕТР 1][ПАРАМЕТР 2] которые я стал использовать в обработчиках нажатий меню, именно там они и крашат если само тело меню очень сложное и код в том числе не до конца описан. Фикс switch конструкций тоже помогает в этом случае, но все же это все странно. исправил баг сохранения настроек появившийся после обновы с шаблонами Реализована панель изменения описания постройки Реализована возможность пересохранить постройку в библиотеке через пункт изменить => пересохранить из файла database.sp вычлены в отдельные файлы функции по настройкам и по библиотеке чтобы не путаться в них: database_settings.sp database_library.sp Реализована возможность удалить постройку из библиотеки. Добавить логи где если изменение убеги произвел администратор то пишет кто и у какого игрока изменил, важно чтобы это было сохранено чтобы в случае чего администратор держал ответ за свои действия. Меню изменения описания постройки в библиотеке (пока что работает только кнопка назад): Бесплатной: Платной:
  3. Electr0

    Библиотека построек

    нужно пройтись по плагину и добавить заглушки на всякий случай, свичей там 407 на весь плагин вот и будет чем занятся..
  4. Electr0

    Библиотека построек

    Краш не исправлен, проблема в другом, как оказалось не во всех случаях работает упрощенная схема свичей: switch(iValue) { case 1,2: { } case 3: { } } где все значения мимо описанных кейзов просто игнорируются, например если в свич описанный выше идет значение 0, а описаны там кейзы 1,2,3!, НО ПОХОЖЕ НЕ ВСЕГДА это работает. помогло исправить краш добавление в свичи заглушки для значений отличных от описанных кейзов. switch(iValue) { case 1,2: { } case 3: { } default: { } }
  5. Electr0

    Библиотека построек

    краш в прототипе 0.2.3 локализован и исправлен, внедрена проверка препятствующая появлению таких крашей во всех трех меню где используется ручное выставление позиции меню идет проверка что позиция меню которую мы задали вообще существует.
  6. Electr0

    Библиотека построек

    как оказалось проблема в том что теперь когда я записываю последнее положение меню в глобальную переменную то значение не обнуляю и если перед переходом в другое меню и пунктов в этом новом меню меньше чем в предыдущем то сервер падает т.к. его просят отобразить меню с несуществующей позиции.
  7. Electr0

    Библиотека построек

    Прототип 0.2.3 обосрался.. Нужно исправить краш: 0 sourcepawn.jit.x86.dll!sp::CompilerBase::emit() [jit.cpp:105 + 0x29] 1 sourcepawn.jit.x86.dll!sp::CompilerBase::Compile(sp::PluginContext *,ke::RefPtr<sp::MethodInfo>,int *) [jit.cpp:64 + 0xf] 2 sourcepawn.jit.x86.dll!sp::Environment::Invoke(sp::PluginContext *,ke::RefPtr<sp::MethodInfo> const &,int *) [environment.cpp:270 + 0x15] 3 sourcepawn.jit.x86.dll!sp::PluginContext::Invoke(unsigned int,int const *,unsigned int,int *) [plugin-context.cpp:465 + 0x10] 4 sourcepawn.jit.x86.dll!sp::ScriptedInvoker::Invoke(int *) [scripted-invoker.cpp:296 + 0x1c] 5 sourcepawn.jit.x86.dll!sp::ScriptedInvoker::Execute(int *) [scripted-invoker.cpp:190 + 0x13] 6 sourcemod.logic.dll!CMenuHandler::OnMenuDisplayItem(SourceMod::IBaseMenu *,int,SourceMod::IMenuPanel *,unsigned int,SourceMod::ItemDrawInfo const &) [smn_menus.cpp:432 + 0x3f] 7 sourcemod.2.l4d2.dll!MenuManager::RenderMenu(int,SourceMod::menu_states_t &,SourceMod::ItemOrder) [MenuManager.cpp:463 + 0x19] 8 sourcemod.2.l4d2.dll!BaseMenuStyle::DoClientMenu(int,CBaseMenu *,unsigned int,SourceMod::IMenuHandler *,unsigned int) [MenuStyle_Base.cpp:531 + 0x27] 9 sourcemod.2.l4d2.dll!CRadioMenu::DisplayAtItem(int,unsigned int,unsigned int,SourceMod::IMenuHandler *) [MenuStyle_Radio.cpp:595 + 0x26] 10 sourcemod.2.l4d2.dll!CRadioMenu::Display(int,unsigned int,SourceMod::IMenuHandler *) [MenuStyle_Radio.cpp:571 + 0x12] 11 sourcemod.logic.dll!DisplayMenu [smn_menus.cpp:684 + 0x12] 12 sourcepawn.jit.x86.dll!sp::JitInvokeFrame::JitInvokeFrame(sp::PluginContext *,unsigned int) [stack-frames.cpp:75 + 0x57] 13 sourcepawn.jit.x86.dll!sp::Environment::Invoke(sp::PluginContext *,ke::RefPtr<sp::MethodInfo> const &,int *) [environment.cpp:282 + 0x6] 14 sourcepawn.jit.x86.dll!sp::PluginContext::Invoke(unsigned int,int const *,unsigned int,int *) [plugin-context.cpp:465 + 0x10] 15 sourcepawn.jit.x86.dll!sp::ScriptedInvoker::Invoke(int *) [scripted-invoker.cpp:296 + 0x1c] 16 sourcepawn.jit.x86.dll!sp::ScriptedInvoker::Execute(int *) [scripted-invoker.cpp:190 + 0x13] 17 sourcemod.logic.dll!CMenuHandler::OnMenuSelect2(SourceMod::IBaseMenu *,int,unsigned int,unsigned int) [smn_menus.cpp:375 + 0x40] 18 sourcemod.2.l4d2.dll!BaseMenuStyle::ClientPressedKey(int,unsigned int) [MenuStyle_Base.cpp:401 + 0x1b] 19 sourcemod.2.l4d2.dll!CRadioStyle::OnClientCommand(int,char const *,CCommand const &) [MenuStyle_Radio.cpp:158 + 0x9] 20 sourcemod.2.l4d2.dll!PlayerManager::OnClientCommand(edict_t *,CCommand const &) [PlayerManager.cpp:1105 + 0x10] 21 metamod.2.l4d2.dll + 0xb385 22 engine.dll + 0x116a60 23 engine.dll + 0x4d5d5 24 engine.dll + 0x4e5bd 25 engine.dll + 0x1b4d0a 26 engine.dll + 0x1b5210 27 engine.dll + 0x1c74cd 28 engine.dll + 0x137913 29 engine.dll + 0x1241c5 30 engine.dll + 0x18c6e8 31 engine.dll + 0x18df66 32 engine.dll + 0x18e6c3 33 engine.dll + 0x19ddbb 34 engine.dll + 0x19df0f 35 engine.dll + 0x19dfb4 36 engine.dll + 0x1fa884 37 engine.dll + 0x1f7ea1 38 dedicated.dll + 0x31ce 39 dedicated.dll + 0x3906 40 dedicated.dll + 0x27ede 41 dedicated.dll + 0x4976 42 srcds.exe + 0x11fd 43 srcds.exe + 0x1929 44 kernel32.dll + 0x18654 45 ntdll.dll + 0x64b17 46 ntdll.dll + 0x64ae7
  8. Fallulah – Give Us A Little Love

  9. Electr0

    Библиотека построек

    Прототип 0.2.3: Написан обработчик сохранения постройки из библиотеки в указанный шаблон из кода убраны массивы: g_iSelectedSnapshot[MAXPLAYERS+1] g_iSelectedSnapshotAction[MAXPLAYERS+1] g_iSelected_Player[MAXPLAYERS+1] g_iSelectedSlot[MAXPLAYERS+1] g_iSelectedTwoSlot[MAXPLAYERS+1] вместо них добавлен один g_iChoosedParam[MAXPLAYERS+1][7] с энумерацией, т.к. потребовалось расширение кол-ва таких переменных для реализации меню библиотеки что снизило бы понятность кода засильем разных переменных: PARAM_TYPE_SLOT = 0, PARAM_TYPE_SLOT2, PARAM_TYPE_SLOT3, PARAM_TYPE_SNAPSHOT, PARAM_TYPE_SNAPSHOT_ACTION, PARAM_TYPE_PLAYER, PARAM_TYPE_MENU_POS остальные массивы меню тоже получили константы энумераторы т.к. в связи с увеличением кода очень сложно понимать / вспоминать что они хранят под цифрами которые спустя месяцы уже ничего не говорят пока не начнешь искать что туда записывают. Во всех местах где использовалось вручную указание позиции меню теперь применено сохранение позиции меню и передача ее через переменную, что позволит избежать нудного переписывания номеров при добавлении новых пунктов в большие меню такие как меню управления и меню наборов где важно возвращаться на ту страницу меню с которой пришел. Кнопка сохранить постройку теперь тоже работает, после нажатия игрок выберает шаблон в который сохранить, подтверждает и происходит процедура сохранения. Исправлен баг когда при сохранении в шаблон, нулевой предмет оказывался платным и в итоге шаблон не мог корректно загрузится. Внедрена проверка на случай если слот состоит только из платных предметов и в итоге в шаблон ничего нельзя сохранить Значительная оптимизация загрузки кол-ва предметов в слотах и шаблонах при входе игрока, раньше это делалось для каждого слота и шаблона отдельным запросом которых в общей сумме 40 по 20 на слоты и 20 на шаблоны, то теперь это делается одним запросом для слотов и одним для шаблонов, данная проблема решалась для загрузки меню категорий где тоже нужно было за один запрос узнать кол-во предметах в постройках разных категорий.
  10. Electr0

    Библиотека построек

    Успешно проведена первая цепочка действий публикации постройки из шаблона в библиотеку, загрузка из библиотеки в зону под курсором
  11. Electr0

    Библиотека построек

    Прототип 0.2.2.1: Устранены недоработки по части контроля, очистки статуса работы со шаблоном, постройкой добавлено сообщение об успешном сохранении убежища в библиотеку добавлен обработчик команды пересохранения постройки из указанного шаблона, меню пока что нет на этот пункт, этим займемся после окончания допиливания кода сохранения и загрузки построек в библиотеку. Добавлен обработчик загрузки шаблона из библиотеки по BUILD ID постройки в библиотеке проверка на кол-во ламп отключена для загрузок шаблонов и шаблонов из библиотеки т.к. невозможно сохранить в шаблон оружие и другое платное отпадает необходимость проверять это. Добавлен запрет использовать загрузку построек из библиотеки после старта паники.
  12. Electr0

    Библиотека построек

    нужно сегодня добить возможность загрузки постройки и сохранения постройки из библиотеки в шаблон игрока
  13. Electr0

    Библиотека построек

    не редактировал модельки, как я помню ее сначала можно в 3DMAX или MAYA нарисовать а потом импортировать и настроить и собрать уже под движок средствами authoring tools
  14. Electr0

    Библиотека построек

    не страшно, про копирование со сдвигом никто тоже не знал пол года ), должно пройти время чтобы понять как удобнее для пользователя, так и пользователям чтобы заменить. надо будет обновить
  15. Electr0

    Библиотека построек

    кто сказал что все постройки там будут под 200 объектов?) я думаю что стартовые убеги изначально будут делаться исходя из того чтобы хватало всем и максимально экономично. по моделькам если их кто-то сделает то да, а так времени на это нет.
  16. форум обновлен до 4.3.1, какие-то минорные фиксы релиза 4.3.0
  17. Blue States - Season Song

    1. Rubbish

      Rubbish

      Знакомо .... но ударю этим =)

      Bad Boys Blue - You're A Woman

      Ace of Base - Happy Nation

      [:}

  18. KOSIKK – Summer Rain

    1. Показать предыдущие комментарии  Ещё #
    2. Rubbish

      Rubbish

      Правильный ответ=) Осталось ответить на вопрос: - "Почему в современных виндовс они остались ?" 

      Но, даже я не могу ответить.... Скорее всего, сейчас, это просто дань уважения и часть истории о флоппи 3,5(B) и 5,25(A). =)

    3. Electr0

      Electr0

      некоторые так приживаются что иначе не видишь как бы это было

    4. Rubbish

      Rubbish

      Ещё помню когда впервые жесткий диск покупал ... Написано что 80 гб, а на самом деле 74 гб ... 2 часа думал=) Ответ нашёл.

  19. Electr0

    Библиотека построек

    Прототип 0.2.2: раздроблен файл menu.sp на части, ввиду того что очень сложно ориентироваться в файле в котором 533 кб кода menu_root.sp menu_control.sp menu_objects.sp menu_library.sp menu_ws.sp menu_help.sp menu_options.sp menu_other.sp раздроблен файл database.sp на части: с целью вычленить отдельно загрузку и сохранение предметов чтобы удобнее было редактировать их код когда это нужно, потому что всегда приходится искать их тела в достаточно крупном файле database.sp database.sp database_load.sp database_save.sp Реализовано сохранение построек в библиотеку от задания входных параметров до сохранения предметов из шаблона в библиотеку построек.
  20. Electr0

    Библиотека построек

    Прототип 0.2.1: Получилось преодолеть проблемы рендеринга нужного мне стиля меню на базе обычного меню со страничным стилем Бесплатная: Платная:
  21. Значение Статус изменено на: Тестируется
  22. Значение Статус изменено на: Сделано
×
×
  • Создать...