-
Публикаций
10 362 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
414
Тип публикации
Профили
Форум
Баг Трекер
Предложения
Список изменений
Файлы
Блоги
Магазин
Галерея
Все публикации пользователя Electr0
-
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
переносил как, какие пункты меню нажимал -
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
-
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
мне этого недостаточно -
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
и опиши видел ли ты их в слоте 2 после того как перенес -
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
последовательность твоих действий после переноса из слота в слот двух предметов опиши. -
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
почему они появились в воздухе -
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
-
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
-
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
из описания не ясно что делали, пиши нормально что нажимал, из какого слота в какой что перегонял -
Пропали Бесконечная аптечка и патроны
Electr0 ответил в теме пользователя ANTOXA в Восстановление данных
-
блин надо собрать все в один кусок потому у меня уже в голове идея типа возможность сохранить свою убегу в слоты для шаблонов и грузить любую убегу из этих слотов на любой карте без гемора на месте курсора
-
ну я думаю до 100 объектов какие нибудь простенькие штучки
-
В связи с положительным прохождением тестов по вопросу алгоритма работы шаблонов: думаю стоит начинать делать наброски по функционалу того что можно сделать на основе этого. Мне видится следующее: Администрация будет иметь возможность сохранить слот в публично доступный всем раздел в стройке с шаблонами, по нажатию на какой либо шаблон происходит загрузка убежки из данного шаблона в место куда смотрит игрок Возможно можно будет предоставить игрокам возможность предоставлять свои шаблоны для других игроков (ОГОВОРОЧКА, платные предметы в шаблон входить не будут) Слоты шаблонного типа из которых можно разворачивать сохраненные в них убеги (без оружия, с лимитом в 100 предметов на слот) С помощью этой технологии можно: Сделать функцию телепорта убеги на место под курсором Сделать функцию загрузки любой убеги на любой карте (для админов) по месту курсора
-
Добавить перенос построек от человека к человеку
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
Значение Статус изменено на: Тестируется -
Возобновить попытки создать спавн убеги из шаблона по курсору
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
Значение Статус изменено на: Сделано -
Возобновить попытки создать спавн убеги из шаблона по курсору
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
Значение Статус изменено на: Будет сделано -
Возобновить попытки создать спавн убеги из шаблона по курсору
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
Теория работает, можно приступать к разработке -
Возобновить попытки создать спавн убеги из шаблона по курсору
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
Набросал тестовую реализацию теории, по итогу из исходных координат предметов создаем шаблон сдвигов предметов, после чего накладываем шаблон на координату позиции курсора игрока, вечером проверю работает ли это на практике, тогда можно будет начать писать код создания шаблона из слота и помещение его в спец таблицу где будут лежать шаблоны которые игроки смогут загружать. public Action CmdLoadTemplate(int client, int args) { float vPos[3][3], vSpawnPos[3][3], vTemplatePos[3][3], vMainOffsetPos[3]; // ИСХОДНЫЕ КООРДИНАТЫ ПРЕДМЕТОВ // координата позииции предмета 1 vPos[0][0] = 0.0; vPos[0][1] = 0.0; vPos[0][2] = 0.0; // координата позииции предмета 2 vPos[1][0] = 0.0; vPos[1][1] = 0.0; vPos[1][2] = 0.0; // координата позииции предмета 3 vPos[2][0] = 0.0; vPos[2][1] = 0.0; vPos[2][2] = 0.0; PrintToChat(client, "Входные координаты:: vPos[0] %f %f %f, vPos[1] %f %f %f, vPos[2] %f %f %f", vPos[0][0], vPos[0][1], vPos[0][2], vPos[1][0], vPos[1][1], vPos[1][2], vPos[2][0], vPos[2][1], vPos[2][2]); // СОЗДАНИЕ ШАБЛОНА // Берем координату первого предмета за базовую и вычитаем ее из всех остальных, а координату первого считаем как нулевую точку (тоесть первый предмет будет рождатся на позиции курсора). vMainOffsetPos[0] = vPos[0][0]; vMainOffsetPos[1] = vPos[0][1]; vMainOffsetPos[2] = vPos[0][2]; // Координату первого обнуляем. vTemplatePos[0][0] = 0.0; vTemplatePos[0][1] = 0.0; vTemplatePos[0][2] = 0.0; // Координата шаблона следующих предметов будет: координата предмета вычесть координату первого предмета. // Вычисляем координату сдвига второго и третьего предмета SubtractVectors(vPos[1], vMainOffsetPos, vTemplatePos[1]); SubtractVectors(vPos[2], vMainOffsetPos, vTemplatePos[2]); PrintToChat(client, "Шаблон:: vTemplatePos[0] %f %f %f, vTemplatePos[1] %f %f %f, vTemplatePos[2] %f %f %f", vTemplatePos[0][0], vTemplatePos[0][1], vTemplatePos[0][2], vTemplatePos[1][0], vTemplatePos[1][1], vTemplatePos[1][2], vTemplatePos[2][0], vTemplatePos[2][1], vTemplatePos[2][2]); // РОЖДЕНИЕ ИЗ ШАБЛОНА // Берем место куда смотрит курсор float vClientEyePos[3], vClientEyeAng[3], vCursorPos[3]; GetClientEyePosition(client, vClientEyePos); GetClientEyeAngles(client, vClientEyeAng); Handle trace = TR_TraceRayFilterEx( vClientEyePos, vClientEyeAng, MASK_SOLID_BRUSHONLY, RayType_Infinite, TraceEntityFilterPlayers ); if(TR_DidHit( trace )) { TR_GetEndPosition( vCursorPos, trace ); // Накладываем на шаблонные координаты сдвигов позицию курсора AddVectors(vCursorPos, vTemplatePos[0], vSpawnPos[0]); AddVectors(vCursorPos, vTemplatePos[1], vSpawnPos[1]); AddVectors(vCursorPos, vTemplatePos[2], vSpawnPos[2]); PrintToChat(client, "Координаты спавна из шаблона:: vSpawnPos[0] %f %f %f, vSpawnPos[1] %f %f %f, vSpawnPos[2] %f %f %f", vSpawnPos[0][0], vSpawnPos[0][1], vSpawnPos[0][2], vSpawnPos[1][0], vSpawnPos[1][1], vSpawnPos[1][2], vSpawnPos[2][0], vSpawnPos[2][1], vSpawnPos[2][2]); } } public bool TraceEntityFilterPlayers(int entity, int contentsMask, any data ) { return entity > MaxClients && entity != data; } -
Добавить перенос построек от человека к человеку
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
Меню сделано, пока что на глаз, без тестов в игре -
Добавить перенос построек от человека к человеку
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
Нужно сделать меню и можно тестировать. -
Добавить перенос построек от человека к человеку
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
С @EskimoCallboy проверили работу переноса предметов через команду !sm_fs_send_slot_to_player 7 "Eskimo Callboy" 1 и !sm_fs_send_slot_to_player 1 "Electr0" 7, благодарю за внезапную помощь -
Добавить перенос построек от человека к человеку
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
добавлена команда: sm_fs_move_slot_to_player <твой слот> <целевой игрок #userid|имя> <слот в который переместить целевому игроку> -
Добавить перенос построек от человека к человеку
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
устранены две уязвимости: в коде переноса предмета из слота в слот перестала работать проверка на кол-во предметов в слоте игрока если переносить один предмет не проводилось удаление действий над предметом у других игроков что могло повлечь восстановление предмета или его предыдущих данных по номеру слота. -
Добавить перенос построек от человека к человеку
Electr0 прокомментировал запись пользователя Electr0 в °• Mega Survival
Функцию обработчик переноса написал, осталось сделать меню.