Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 02 дек 2022, 23:26

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 26 сен 2020, 14:12 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
07 июн 2022, 21:58
Сообщения: 33
Привет всем!

Давно пользуюсь Weapon модулем, очень хороший мод!

На его основе держу сервер. Но учитывая специфику этого сервера хочу реализовать один ньюнс. Дело в том что в ХЛ не было предусмотренно ограничений по подъему оружия, у нас есть 5 слотов по 5 ячеек в каждом, и того 25 оружий игрок может нести с собой одновременно. По мне дак такое правило кажется не очень правильным.

Вопрос:
как ограничить подъем оружия, если игрок уже имеет в инвентаре это или другое оружие?

Или проще сказать:
Как сделать что бы в одном слоте можно было таскать только одну (или две, три... на усмотрение) пушку?

Читал по данному модулю мануал в википедии, но ничего схожего с моим вопросом я там не увидел (учитывая что половина тамошней информации на английском, с которым я не особо дружу, я мог просто чего то не заметить или не понять)
Самое близкое по смыслу, пожалуй, я видел wpnmod_get_weapon_count.

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

В конце концов самый оптимальный вариант, который я смог придумать это в момент спауна оружия получить наличие пушек в инвентаре игрока, и если в нем есть название определенных пушек, то просто дропнуть оружие, которые мы поднимаем. Но это немножечко не то, что я хотел бы.
Во-первых, как получить наличие оружие weapon мода в инвентаре? Стандартного оружия кс, пожалуйста, user_has_weapon...
Во-вторых, будет происходить неприятный процесс, в виде нежалетельной смены оружия в руках игрока каждый раз, когда он что то поднимает.
Хотелось бы что бы просто определенная пушка не поднималась, если у игрока есть в инвентаре другое опредленное оружие.

Есть какие то идеи как реализовать подобную идею?


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 27 сен 2020, 02:08 
Не в сети
AIMaster servers
Аватара пользователя
Зарегистрирован:
15 авг 2011, 18:31
Последнее посещение:
28 сен 2022, 22:05
Сообщения: 211
Откуда: Moscow
russia, не очень понятно, чем конкретно тебе помочь, кроме как дать готовый плагин. Вполне реально блокировать подбор оружия по определённым правилам.

_________________
Let's make HL great again! ~


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 28 сен 2020, 22:55 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
07 июн 2022, 21:58
Сообщения: 33
Safety1st, ну плагин это конечно было бы здорово :D но кто станет заморачиваться его писать?

А так у меня сразу ряд вопросов:
Во-первых, как отловить косание с оружием впнмода? через RegisterHam(Ham_Touch, "armoury_entity", "Touch_Func") ? Конкретно именно так не канает.
Во-вторых, как отловить косание с конкретной пушкой (RegisterHam(Ham_Touch, "weapon_mywpn", "Touch_Func") не канает. И как быть с аммобоксом? В нем же вложено оружие, как узнать какое?
В-третьих, собственно какие условия должны быть? Если у игрока есть в инвентаре то или иное оружие, то блочим? Опять же как проверить наличие оружия у игрока в инвентаре?
Ну и пока что последнее, как заблочить подбор?


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 29 сен 2020, 02:18 
Не в сети
AIMaster servers
Аватара пользователя
Зарегистрирован:
15 авг 2011, 18:31
Последнее посещение:
28 сен 2022, 22:05
Сообщения: 211
Откуда: Moscow
Давай разбираться)) Прежде всего мне необходимо понять твой уровень в скриптинге. Есть, что показать? :)

_________________
Let's make HL great again! ~


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 29 сен 2020, 18:39 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
07 июн 2022, 21:58
Сообщения: 33
Safety1st, мой уровень ниже среднего по моей оценке.

Показать могу вот такой плагин (прикрепил его к сообщению)

Его суть в том, что бы не хитрым способом отсрочить респаун в халве на определенное время (20 секунд по текущим настройкам), после чего дать "год мод" на указанное время с визуальной подцветкой (5 секунд). При том первые 40 секунд карты, респаун не отсрочивается. Как я уже говорил специфика моего сервера не приветсвует классическую "мясорубку".

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

Даю в общий доступ, берите и пользуйтесь на здоровье))


Вложения:
Скачать плагин или Скачать исходник [kill_time.sma - 5.32 КБ]
Скачиваний: 210
Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 29 сен 2020, 21:55 
Не в сети
AIMaster servers
Аватара пользователя
Зарегистрирован:
15 авг 2011, 18:31
Последнее посещение:
28 сен 2022, 22:05
Сообщения: 211
Откуда: Moscow
Мм, ты явно не ололошка, как 99% начинающих скриптеров, это хорошо :good: В данном плагине, однако, критичная недоработка: ты юзаешь FM_PlayerPreThink, только чтобы отслеживать события, которые прекрасно отслеживаются таймерами на тасках. Форвард вызывается <FPS игрока> раз в секунду, то бишь от 100 раз. Посмотри иной подход тут.

По сабжу подумаю, с чего начать в плане обучения :wink:

_________________
Let's make HL great again! ~


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 29 сен 2020, 22:21 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
07 июн 2022, 21:58
Сообщения: 33
Ну я же сказал что собрал этот плагин по кускам)) Данный подход я увидел в другом плагине, не сразу допер как он работает, но потом понял что эта штука постоянно обновляется и главное не забыть воткнуть "return FMRES_IGNORED"

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

Что ты там сказал про обучение? :D Я вообще то с конкретной темой пришел))


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 29 сен 2020, 22:26 
Не в сети
AIMaster servers
Аватара пользователя
Зарегистрирован:
15 авг 2011, 18:31
Последнее посещение:
28 сен 2022, 22:05
Сообщения: 211
Откуда: Moscow
Обучение решению конкретной задачи, конечно. У меня нет мотивации ни делать из тебя супермегаскриптера, ни плагин самому писать. Я на пенсии, но кое-что могу :wink:

_________________
Let's make HL great again! ~


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 29 сен 2020, 22:32 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
07 июн 2022, 21:58
Сообщения: 33
Ну ок)

Давай уж тогда по порядку

russia писал(а):
Во-первых, как отловить косание с оружием впнмода? через RegisterHam(Ham_Touch, "armoury_entity", "Touch_Func") ? Конкретно именно так не канает.
Во-вторых, как отловить косание с конкретной пушкой (RegisterHam(Ham_Touch, "weapon_mywpn", "Touch_Func") не канает. И как быть с аммобоксом? В нем же вложено оружие, как узнать какое?
В-третьих, собственно какие условия должны быть? Если у игрока есть в инвентаре то или иное оружие, то блочим? Опять же как проверить наличие оружия у игрока в инвентаре?
Ну и пока что последнее, как заблочить подбор?


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 29 сен 2020, 22:35 
Не в сети
AIMaster servers
Аватара пользователя
Зарегистрирован:
15 авг 2011, 18:31
Последнее посещение:
28 сен 2022, 22:05
Сообщения: 211
Откуда: Moscow
Не, твой порядок – фигня. Я напишу что-то полезное, когда у меня будет время.

_________________
Let's make HL great again! ~


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB