HUD или меню.

Тема в разделе "Программирование / Скриптинг", создана пользователем Hejter, 5 мар 2016.

  1. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Скрин:
    [​IMG]
    Хочу сделать как на скрине.
    1. Это меню. Не представляю понятия как вообще подобное сделать.
    2. Это статус двери в PrintHintText. Пробовал юзать OnGameFrame, но эта функция ужасно грузит сервер.
     
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.505
    Симпатии:
    1.960
    Оффтоп
     
  3. SenatoR

    SenatoR Модератор

    Сообщения:
    714
    Симпатии:
    270
    Оффтоп
    1) Это обычная панель (приблизительно так-же можно сделать через худ.)
    2) Это обычный таймер
    3) Ты не осилишь rp мод.
     
  4. Саша Шеин

    Саша Шеин

    Сообщения:
    1.254
    Симпатии:
    191
    Возьми этот плагин и посмотри как там сделано, вроде говорили что он есть в интернете.
    --- Добавлено позже ---
    @SenatoR, Оффтоп
    .
     
  5. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Я уже больше половины мода написал. Оффтоп
    Как говорит Саша. Спрашиваю если что-то не могу.
    --- Добавлено позже ---
    Я понимаю.
    Обычный таймер, который вызывается когда?
     
  6. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.186
    Симпатии:
    411
    Не обычный, а повторяющийся таймер. Создаешь в OnMapStart() с флагами TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE
     
  7. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Создал вот такой. h_TimerHUD[client] = CreateTimer(1.0, Timer_HUD, client, TIMER_REPEAT); и убиваю когда игрок вышел.
    в OnClientPostAdminCheck(client)
     
  8. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.186
    Симпатии:
    411
    @Hejter, 0.1 если тебе требуется чаще. Во всяком случае это всё равно лучше чем 66 раз в секунду.
     
  9. Reg1oxeN

    Reg1oxeN

    Сообщения:
    83
    Симпатии:
    26
    таймер? ха! а как на счет брашей перед дверями?
     
  10. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    зачем? я тебе что для каждого игрока кто купил дверь буду браш специально менять? карта же расчитывается не на 1 человека, а как минимум на 30-40
    Помимо того что игрок ее просто купил, будет идти арендная плата раз в месяц (возможно реальный).
     
  11. Reg1oxeN

    Reg1oxeN

    Сообщения:
    83
    Симпатии:
    26
    зачем ее менять? ты просто хукаешь прикосновение к ней и выводишь информацию клиенту.
     
  12. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    не видел такое. даже не знаю как это выглядить будет.
     
  13. Reg1oxeN

    Reg1oxeN

    Сообщения:
    83
    Симпатии:
    26
  14. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
  15. gibs

    gibs Фитиль народного волненья

    Сообщения:
    535
    Симпатии:
    133
    Тебе уже сказали, что это обычная панель. Отправляй её на секунду раз в секунду клиенту пока он в зоне. То, что таймер должен быть повторяющимся, наверное, и коню понятно.
    ЗЫ: Судя по твоим темам становится понятно, что ты очень слабый, в том числе как программист. Но всё же старайся делать свой мод модульно, расписывай АПИ. В будущем тебе такие знания и опыт, думаю, помогут.
     
  16. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Видимо это ты не понимаешь. Что я это давно уже сделал. Уже и плагин зоны. А то что он мне втирает дичь про браши это его проблемы.
    У меня название зоны выводится в панельку...
    Сейчас вместе с ребятами пишем РП, все помогают как могут.
     
  17. gibs

    gibs Фитиль народного волненья

    Сообщения:
    535
    Симпатии:
    133
    Я тебя не пытаюсь обидеть. Выводы сделаны на основе твоих тем. Взять прошлую твою тему, в которой я отвечал, про таймер. Хотя бы исходя из неё, лично мне с трудом вериться, что ты осилил даже плагин зон. Но это уже пошёл какой-то флейм и оффтоп.
     
  18. Reg1oxeN

    Reg1oxeN

    Сообщения:
    83
    Симпатии:
    26
    @Hejter, так ты же молчишь. никому не известно что у тебя в голове и что ты там уже написал у себя.
    банально хукается вход-выход из зоны. клиент вошел - записал инфу. клиент вышел - стер.
    таймером проходим по всем клиентам и смотрим кто в какой зоне, отсылаем инфу если нужно. и не нужно никаких 30-40 таймеров.
    если хочешь чтобы инфа показывалась только при наведении на дверь, то проверяй только клиентов в зоне браши при каждой смене углов обзора, а не по кд, чтобы снизить нагрузку на сервер. для этого идеально на мой взгляд подойдет OnPlayerRunCmd, но тут дело вкуса, можно даже не каждый тик проверять.

    ps. я например вообще думал что ты PrintHintText использовал в OnGameFrame для того чтобы оперативно создавать лучи и получать инфу о двери.
     
  19. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Я создаю темы по мере загруженности. Ибо я целые сутки сижу ковыряю мод. Упрощаю себе работу таким образом, ведь мод будет в паблике.

    Создал меню, но при каждом открытие другого меню оно перебивает и не дает открыть другие менюшки.
    --- Добавлено позже ---
    В один глобальный таймер засунуть и делов.
    Код:
                if ((aim = GetClientAimTarget(client, false)) != -1)
                {
                    PrintHintText(client, "%N|[HP:%d]\nРабота: %s", aim, GetClientHealth(aim), s_name);
                }
    Аналогично с дверями и другими пропами.
     
  20. Reg1oxeN

    Reg1oxeN

    Сообщения:
    83
    Симпатии:
    26
    GetClientAimTarget это тот же TraceRay, только в одной функции. не зря мне показалось, а оно оказалось что так оно и есть.
    оптимизируй сразу и не рисуй 30-40 лучей ежесекундно, а то и чаще.