Перейти к публикации
  • Библиотека построек


    Electr0
    • Сделано

    Описание:

    • Это место где новые игроки смогут найти как бесплатные убеги, так и платные. Можно будет выкладывать свои убежища. Модерация контента. Платное оружие будет добавить в такие убежища будет нельзя.

     

    Меню:

    • Библиотека построек
      • Обзор
        • Мои
        • Стартовые [только бесплатные, какие нибудь простенькие одиночные домики]
        • Башни
        • Виллы
        • Арт
      • Добавить
        • Выбор шаблона среди тех что подходят по кол-ву предметов в шаблоне => Выбор типа бесплатная / платная => Указать цену продажи => Выбрать шаблон => Выбрать категорию => Указать название => Диалог подтверждения названия если все понравилось то окей, если нет шаг назад к выбору названия => Диалог подтверждения добавления постройки с указанием введенных параметров => Да - загрузка убеги в библиотеку / Нет - возвращение в меню библиотеки

     

    Типы:

    • Бесплатные можно загружать / сохранять в свои шаблоны
    • Платные можно купить что подразумевает сохранение в свои шаблоны версии постройки на момент покупки.

     


     

    Стиль платных

    Gold bars

     

    Автор: Electr0

    1. Профиль

    Тип: Платная

    Создана: 13.05.2018

    Изменена: 17.05.2018 

    Предметов: 200

     

    Предосмотр:

    2. Показать / 2. Скрыть
     

    Отзывы (1):

    3. Показать

    4. Добавить

     

    Действия:

    5. Купить за 150000$ / 5. Купить за 150000$ (если у игрока не хватает на покупку убежища)

     

    7. Изменить /  (если не хозяин и не модератор сервера то ничего не показывать)

     

    8. Назад

    9. Далее

     


     

    Стиль бесплатных

    Gold bars

     

    Автор: Electr0

    1. Профиль

    Тип: Бесплатная

    Создана: 13.05.2018

    Изменена: 17.05.2018

    Предметов: 200

     

    Предосмотр:

    2. Показать / 2. Скрыть

     

    Отзывы (3):

    3. Показать

    4. Добавить

     

    Действия:
    5. Сохранить

    6. Загрузить

     

    7. Изменить   (если не хозяин и не модератор сервера то ничего не показывать)

     

    8. Назад

    9. Далее

     


     

    Стиль панели изменить описание постройки

    Изменение постройки Gold bars

     

    Название - Gold bars

    1. Сменить

     

    Категория - Арт

    2. Сменить

     

    Тип - Платная

    3. Сменить

     

    Цена - 150000$ / Нет

    4. Сменить 4. Сменить

     

    Пересохранить

    5. Перейти

     

    Удалить

    6. Перейти

     

    7. Назад

     


     

    Стиль отзывов (версия 0.9.3 в разработке)

     

    Автор: Electr0

    1. Профиль

    Создана / Изменена (если изменена вообще): 17.05.2018

     

    Ровность:          ★★★★☆

    Креативность:  ★★★☆☆

    Уникальность:  ★★★☆☆

     

    Комментарий: Постройки для фарма принимаются только в категорию Кормушка

     

    7. Изменить   (если не хозяин и не модератор сервера то ничего не показывать)

     

    8. Назад

    9. Далее

     

     


     

     

     

    Максимальное кол-во предметов на одну постройку выкладываемую в библиотеку 200 штук

     

    База данных:

    • Процедура сохранения убежища в библиотеку следующая, две таблицы в одной описания построек и ID который AUTO_INCREMENT во второй данные о предметах убеги, после INSERT INTO запроса на добавление убежища в таблицу описания через запрос SELECT LAST_INSERT_ID(); получаем ID добавленной постройки под которым будем сохранять данные из указанного игроком шаблона.

     

    Что можно сделать с уже добавленной постройкой:

    • Перезагрузить шаблон постройки
    • Изменить название
    • Изменить категорию
    • Изменить тип (платный / бесплатный)
    • Изменить цену
    • Удалить

     

    Модерация:

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

     

    Процедура сохранения / загрузки постройки к себе в шаблоны из библиотеки:

    • Вариант 1:  выбираем среди бесплатных и платных, и жмем сохранить понравившуюся в свои шаблоны с указанием в какой именно, после грузим где захочется из шаблонов. (Для платных построек полагаю вариант сохранить в шаблоны будет единственным, поскольку мало ли чего забыли сохранить и будут дергаться, нервничать, спрашивать что делать)
    • Вариант 2:  жмем загрузить и постройка грузится у вас под курсором. 

     

    Процедура превью убеги:

    • Мало ли что, а вдруг человек обновил постройку в библиотеке и она уже не соответствует описанию, это риски, нужно сделать возможность загрузки превью, с ним нельзя взаимодействовать, его не видно остальным игрокам, оно не  материальны в том смысле что через них можно пройти, его нельзя сохранить.

     

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

     

    В связи с этим обновлением нужно расширить базовый лимит шаблонов и слотов до:

    • Слотов: 20
    • Шаблонов: 20

    Отзывы пользователей

    Рекомендованные комментарии



    не абсолютного смысла, им только автоматы да молотовы по 10 штук подавай , не хотят и не будут ,они учиться, им  это не интересно их 

    интересует только сранные деньги, спауны закрыл или сделал так чтобы зараза тебя не достала и все ФАРМ ФАРМ ФАРМ

    Ссылка на комментарий
    Поделиться на других сайтах

    2 часа назад, NECROTHOS сказал:

    не абсолютного смысла, им только автоматы да молотовы по 10 штук подавай , не хотят и не будут ,они учиться, им  это не интересно их 

    интересует только сранные деньги, спауны закрыл или сделал так чтобы зараза тебя не достала и все ФАРМ ФАРМ ФАРМ

     

    @Marysan тоже об этом сказала, но все же я хотел бы сделать это, как минимум рассчитываю на то что человек загрузив и сохранив себе какой нить бесплатный шаблон в первые часы, потом привыкнув к нему захочет что-то поменять, а это уже потребует того чтобы человек что-то освоил, а сейчас человек просто говорит себе я не умею и все, это одна из последних идей которую на меге так и не реализовали и она была своего рода коллективным заданием, вызовом. С другой стороны давая все сразу мы можем убить желание двигаться дальше шаблонов, видя текущую ситуацию на сервере, то что люди не хотят сами строить, могу сказать сказать что у "бомжей" хотя бы будет вариант бесплатной "однушки", но зато сохраненной в своем слоте.

    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип -5:

    • Разработать базу данных под описание убежищ и хранилища предметов из этих убежищ, а так же проработать алгоритмы чтения записи убежищ
    Ссылка на комментарий
    Поделиться на других сайтах

    Процедура сохранения убежища в магазин следующая, две таблицы в одной описания убежек и ID который AUTO_INCREMENT во второй данные о предметах убеги,  после INSERT INTO запроса на добавление убежища в таблицу описания через запрос SELECT LAST_INSERT_ID(); получаем ID добавленной убеги и запускаем унифицированную функцию сохранения которой указываем ID как идентификатор убежища

    Ссылка на комментарий
    Поделиться на других сайтах

    Выработаны дополнительные требования к проекту библиотеки построек, теперь когда есть четкое понимание всех аспектов, технические вопросы тоже улажены, можно приступать к написанию кода

    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 0.1:

    • Добавлен обработчик меню добавления постройки в меню по финишу которого можно будет иметь полные входные данные для процедуры сохранения постройки в библиотеку.
    • Расширено правило для ввода названий слотов, шаблонов и построек в библиотеку теперь можно использовать пробелы, в паролях для дверей все так же нельзя.

     

    20180416160015_1.jpg

    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 0.2:

    • Добавить обработчики меню списков  платных / бесплатных построек, нужно придумать стиль отображения данных об постройке, подумать над тем чтобы у нас была возможность сначала после захода в меню построек.
    • Добавить категории, лучше сейчас чем потом когда списки будут переполнены
    • Оптимизировать текст в процедуре добавления предметов

     

    Обновленное меню отправки постройки в библиотеку:

    20180416215856_1.jpg

     

     

    Меню Библиотека => Постройки со списком категорий и кол-ва построек в них, там же можно перейти в список построек загруженных самим игроком:

    20180416231104_1.jpg

     

    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 0.2.1:

    • Получилось преодолеть проблемы рендеринга нужного мне стиля меню на базе обычного меню со страничным стилем

     

    Бесплатная:

    20180422231900_1.jpg

     

     

    Платная:

    20180422231912_1.jpg

     

    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 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
    • Реализовано сохранение построек в библиотеку от задания входных параметров до сохранения предметов из шаблона в библиотеку построек.
    Ссылка на комментарий
    Поделиться на других сайтах

    После того, как ты доделаешь Библиотеку построек, нужно написать мануал с картинками или вообще снять видео с пояснением. По самой библиотеке построек могу сказать что она не шибко будет пользоваться успехом с ограничение в 600 единиц предметов на сервере(всего получиться поставить 3 постройки по 200 предметов каждая). Есть ли возможность внести на сервер новые или переработанные предметы для строительства (например: стену с дверной коробкой) ?! 

    Ссылка на комментарий
    Поделиться на других сайтах

    1 час назад, ExtremeWolf сказал:

    После того, как ты доделаешь Библиотеку построек, нужно написать мануал с картинками или вообще снять видео с пояснением. По самой библиотеке построек могу сказать что она не шибко будет пользоваться успехом с ограничение в 600 единиц предметов на сервере(всего получиться поставить 3 постройки по 200 предметов каждая). Есть ли возможность внести на сервер новые или переработанные предметы для строительства (например: стену с дверной коробкой) ?! 

    кто сказал что все постройки там будут под 200 объектов?) я думаю что стартовые убеги изначально будут делаться исходя из того чтобы хватало всем и максимально экономично.

     

    по моделькам если их кто-то сделает то да, а так времени на это нет.

    Ссылка на комментарий
    Поделиться на других сайтах

    1 час назад, ExtremeWolf сказал:

    После того, как ты доделаешь Библиотеку построек, нужно написать мануал с картинками или вообще снять видео с пояснением. По самой библиотеке построек могу сказать что она не шибко будет пользоваться успехом с ограничение в 600 единиц предметов на сервере(всего получиться поставить 3 постройки по 200 предметов каждая). Есть ли возможность внести на сервер новые или переработанные предметы для строительства (например: стену с дверной коробкой) ?! 

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

     

    надо будет обновить 

     

    Ссылка на комментарий
    Поделиться на других сайтах

    48 минут назад, Electr0 сказал:

    кто сказал что все постройки там будут под 200 объектов?) я думаю что стартовые убеги изначально будут делаться исходя из того чтобы хватало всем и максимально экономично.

     

    по моделькам если их кто-то сделает то да, а так времени на это нет.

    Про модельки поподробнее пожалуйста. Какие программы использовать, мануалы и т.п. (я знаю что можно в поисковиках поискать, но интересно ваше мнение)? Думаю попробовать создать предмет.

    PS: Карты можно создать программой Hammer(насколько я помню, хамером я пользовался когда переделывал карту для кс1.6)

    Ссылка на комментарий
    Поделиться на других сайтах

    В 26.04.2018 в 01:36, ExtremeWolf сказал:

    Про модельки поподробнее пожалуйста. Какие программы использовать, мануалы и т.п. (я знаю что можно в поисковиках поискать, но интересно ваше мнение)? Думаю попробовать создать предмет.

    PS: Карты можно создать программой Hammer(насколько я помню, хамером я пользовался когда переделывал карту для кс1.6)

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

    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 0.2.2.1:

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

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

    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 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 на шаблоны, то теперь это делается одним запросом для слотов и одним для шаблонов, данная проблема решалась для загрузки меню категорий где тоже нужно было за один запрос узнать кол-во предметах в постройках разных категорий.
    Ссылка на комментарий
    Поделиться на других сайтах

    Прототип 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
    Ссылка на комментарий
    Поделиться на других сайтах

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

    Ссылка на комментарий
    Поделиться на других сайтах




    Присоединяйтесь к обсуждению

    Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

    Гость
    Добавить комментарий...

    ×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

      Разрешено не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


  • Обозначения статусов

    В обработке = Мы работаем над вашим отзывом.

    Будет сделано = Ваша идея добавлена к плану будущих изменений.

    Тестируется = Изменения внесены, но требуют тестирования.

    Сделано = Ваша идея реализована!

    Отклонено = Отзыв некорректный, бред, либо уже реализовано. Если у вас есть дополнительная информация напишите комментарий и мы снова откроем этот вопрос.

×
×
  • Создать...