Меню сайта


[DS]: Half-Life Server
[DS]: Half-Life Server


[DS]: CS:S GunGame v34 Server
[DS]: CS:S GunGame v34 Server


[DS]: CS:S v34 Server
[DS]: CS:S v34 Server


Поиск

add_newДобавить новость
Последние добавленные
Чистая версия Counter-Strike Source v34 с рабочими ботами и поиском серверов. Вы можете подключится к любому серверу с любой мод...
Читать далее
HLRS (Half-Life Rank System) — это плагин , который добавит вам на сервер систему прокачки рангов , при этом с каждым новым з...
Читать далее

Unreal tournament 2004

Сегодня в нашем мониторинге появилась поддержка игровых серверов Unreal Tournament 2004.

Читать далее

Один из важных моментов в создании мода, несомненно, являются переходы между уровнями. Из этой статьи вы узнаете как сделать так...

Читать далее

Здесь вы можете скачать скины для кс 1.6

Читать далее

Порядок добавления модов из мастерской стим на сервер Unturned

Читать далее

Порядок установки карты из мастерской на сервер

Читать далее

Это чистая сборка Counter Strike 1.6 2018 года

Читать далее

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

Читать далее

Фильм "Великая стена"

Фильм «Великая стена» («The Great Wall») фантастика, боевик, приключения в древнем Китае. Фил...

Читать далее
STARGATE: ORIGINS TRAILER | Stargate: OriginsOn February 15th, witness the premiere of a Stargate story that takes you back to where it all began. Buy an All-Access Pass at http:... Читать далее

Разработчики Black Mesa выпустили открытую бету игры, поддерживающую все обещанные изменения движка...

Читать далее
Этот плагин добавляет на сервер автомат AK Paladin из игры CSO.

Читать далее

Сеть Burger King совместно с телеканалом Game Show и оператором «Синтерра Медиа» запустили CTRL PLAY

//ds.nue.de.dsncdn.net/uploads/images/_gen-176/5a4e54846b894.png

Читать далее

Фильм "Меч короля Артура"

Фильм "Меч короля Артура", это фэнтэзийный приключенческий фильм в мире альтернативных легенд о короле Артуре и его мече Эк...

Читать далее

Уважаемые участники!
Команда проекта DS-Servers, от всей души поздравляет вас с Новым Годом!
//ds.nue.de.dsncdn.net/uploads/images/_gen-176/5a46b6d92c995.png

Читать далее

Этот плагин добавляет вам на сервер дробовик KSG-12

Читать далее

Фильм "Война миров Z"

Фильм «Война миров Z» ужасы, фантастика, боевик, триллер, приключение в современном мире,  в котором б...

Читать далее

The University of Southern California’s premier video games program USC Games will feature hands-on playable code for th...

Читать далее

В преддверии новогодних праздников компания DSN.Host запускает конкурс.

Читать далее
ЗАКАЗЫВАЕМ СЕРВЕР НА ХОСТИНГЕ (mineсraft, Unturned, кс.1.6)(Бесплатный хост)Самые дешевый хостинг в мире. Заходи не пожалеешь, я уже почти год держу свой сервер там. https://dsn.host/?ref=141565 https:/... Читать далее
THAT'S A WRAP! - Behind the Scenes | Stargate: OriginsThat's a wrap on filming for Stargate Origins - the exciting new chapter in the Stargate saga. Stay until the end of the video for a li... Читать далее
ORIGINS TEASER | Stargate: OriginsPremiering on Stargate Command, STARGATE ORIGINS explores the journey that sets a young Catherine Langford on the way to helping ... Читать далее

Multiplayer mod ZXC by 291 for Half-Life 1 with free source code. Over 30 different weapons (including old), features and relativ...

Читать далее

<JAM>
m1-palinka


HL-HEV
hl-hev


Подсчет фрагов на табло
Добавил: root
2013-01-09 13:27:55
166 просмотров

В данной статье мы расскажем о создании табло с подсчетом фрагов. Такое табло Вы могли видеть на карте Ka_100x100. При каждом убийстве игрока счетчик увеличивается на единицу. Счетчик имеет 3 разряда: единицы, десятки, сотни, т.е. максимальное количество фрагов составляет 999, затем происходит обнуление.

Мы будем очень активно использовать следующие энтити-объекты:

Приготовьтесь к созданию 94 объектов и выставлению их свойств :) Ничего страшного нет, вся система построена как бы из повторяющихся звеньев. Каждое звено состоит из 3-4 объектов, свойства которых очень схожи.

Итак, давайте посмотрим, как будет выглядеть табло:

Так будет выглядеть табло с подсчетом фрагов в игре



Нолики и другие цифры, которые будут появляться при каждом фраге, не просто картинки, это объекты func_button с нанесенными на них цифрами. Когда убьют какого-либо игрока, кнопка с цифрой «0» поднимется вверх, а сверху опустится кнопка с цифрой «1». При следующем фраге кнопка с цифрой «1» поднимется вверх, а сверху опустится кнопка с цифрой «2» и т.д.

Средняя цифра меняется только при каждом десятом фраге. Левая цифра (разряд сотен) меняется только при каждом сотом фраге.

Изначально кнопку с цифрой «0» необходимо разместить так, чтобы ее было видно на табло. Остальные кнопки с цифрами от 1 до 9 нужно разместить над кнопкой 0 так, чтоб они были скрыты в «конструкции табло». Всего необходимо создать 30 кнопок (по 10 на разряды единиц, десятков и сотен). Из этих 30 кнопок сразу будут видны только 3 — это изначальные нули, остальные 27 будут скрыты в табло.

Кстати, мы рекомендуем конструкцию табло (т.е. все, что окружает кнопки) превратить в func_wall, чтобы при компиляции свет мог проникнуть через конструкцию (как известно, энтити-объекты пропускают свет) и осветил текстуры цифр (иначе текстуры получатся затемненными).

Внизу — кнопки 0, вверху — кнопки с 1 по 9 (находятся в одном и том же месте)




О подсчете фрагов

Теперь расскажем о том, как будут подсчитываться фраги.

У нас есть замечательный энтити-объект game_counter, который считает свои активации и по достижении определенного значения активирует другой объект.

Мы создадим 3 таких объекта:

  • Первый будет считать отдельные фраги (он будет переключать кнопки единиц)
  • Второй будет считать до 10 фрагов (он будет переключать кнопки десятков)
  • Третий будет считать до 100 фрагов (он будет переключать кнопки сотен)

Нам нужно, чтобы при каждом фраге все 3 счетчика увеличивали свое значение на 1. Для этого воспользуемся объектом multi_manager, в который запишем активацию всех 3-х счетчиков. Имя для multi_manager'а нужно выставить как game_playerkill. Это одно из пяти специальных имен, которое позволяет активировать объект при убийстве игрока. Таким образом, теперь при каждом фраге у нас будет автоматически активироваться multi_manager, который в свою очередь активирует 3 счетчика.

Multi_manager (этот объект активируется при каждом фраге)
Name: game_playerkill (имя должно быть именно таким!)
1counter — 0 (активация счетчика единиц по имени 1counter через 0 секунд)
10counter — 0 (активация счетчика десятков по имени 10counter через 0 секунд)
100counter — 0 (активация счетчика сотен по имени 100counter через 0 секунд)



Счетчики game_counter с именами: 1counter, 10counter, 100counter активируют кнопки с цифрами. Например, кто-то набрал 1 фраг. Срабатывает multi_manager. Тут же все три счетчика увеличивают свое значение на 1. Самый первый счетчик ведет отсчет отдельных фрагов, а значит он должен при каждой активации переключать кнопки единиц.

Нам необходимо сделать так, чтобы активировав первую кнопку, в следующий раз счетчик активировал бы вторую кнопку, затем третью и т.д., то есть необходимо, чтобы параметр «Target» счетчика менялся по кругу от 0 до 9 кнопки. Это можно организовать при помощи объекта trigger_changetarget.

Ниже приведена схема работы одного из счетчиков.

Схема работы системы подсчета фрагов



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

  • Счетчик game_counter увеличивает свое значение на 1
  • Затем он активирует первый multi_manager (на схеме левая красная стрелка)
  • Multi_manager поднимает кнопку «0»
  • Multi_manager опускает кнопку «1» туда, где только что была кнопка «0»
  • Multi_manager запускает первый объект trigger_changetarget (на схеме CT1)
  • Trigger_changetarget перенаправляет счетчик с первого multi_manager'а на второй

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

  • Счетчик game_counter увеличивает свое значение на 1
  • Активирует второй multi_manager (вторая красная стрелка)
  • Multi_manager поднимает кнопку «1»
  • Multi_manager опускает кнопку «2» туда, где только что была кнопка «1»
  • Multi_manager запускает второй объект trigger_changetarget (на схеме CT2)
  • Trigger_changetarget перенаправляет счетчик со второго multi_manager'а на третий

Тоже самое происходит при смене кнопки «2» на кнопку «3» и т.д. до кнопки «9». Таким образом, для разряда единиц необходимо создать 10 подобных звеньев из multi_manager'а, двух кнопок и trigger_changetarget (всего: 30 объектов).

Для раздела десятков все тоже самое (нужно создать еще 30 объектов, считая кнопки десятков), единственная разница в свойствах счетчика — он активирует кнопки через каждые 10 фрагов, а не через каждый фраг. Для сотен — еще 30 объектов. А счетчик сотен активирует кнопки через каждые сто фрагов, т.е. довольно редко.

Рекомендуем размещать счетчики единиц, десятков и сотен рядом с соответствующими мульти_менеджерами и прочими объектами (чтобы не запутаться). Вы можете посмотреть, как это сделано на нашей тестовой карте.


Свойства объектов для счетчика единиц

Ниже мы приводим свойства самого первого звена объектов (на схеме к этому звену ведет левая красная стрелка).

Game_counter (счетчик единиц)
Name: 1counter (имя счетчика единиц)
Target: m0 (сюда необходимо записать имя самого первого объекта multi_manager, см. схему выше)
Initial Value: 0 (начальное значение счетчика — 0)
Limit Value: 1 (конечное значение, достигнув которого, счетчик начнет активировать кнопки; т.к. это счетчик единиц, то необходимо поставить значение 1)

Флаги:

Reset on fire: нужно отметить этот флаг, чтобы счетчик сбрасывался на 0 (обнулялся), когда достигаеся значение «Limit Value»



Multi_manager (этот объект опускает/поднимает кнопки, активирует другие объекты)
Name: m0 (имя данного объекта)
btn0 — 0 (поднимает кнопку «0»)
btn1 — 0 (опускает кнопку «1»)
ct0 — 0 (запускает объект trigger_changetarget)



Func_button (кнопка «0», разряд единиц)
Name: btn0 (имя кнопки «0» из разряда единиц)
Angle: Up (направление движения вверх)
Speed: 200 (скорость движения)
Lip: -8 (этот параметр управляет расстоянием, на которое перемещается кнопка; отрицательное значение увеличивает расстояние, положительное уменьшает)
Delay before reset: 0 (время, после прошествия которого, кнопку можно вновь активировать)

Флаги:

Toggle: этот флаг оставляет кнопку в нажатом положении до следующей активации



Func_button (кнопка «1», разряд единиц)
Name: btn1 (имя кнопки «1» из разряда единиц)
Angle: Down (направление движения вниз, т.к. изначально кнопка расположена выше табло)
Speed: 200 (скорость движения)
Lip: -8 (этот параметр управляет расстоянием, на которое перемещается кнопка; отрицательное значение увеличивает расстояние, положительное уменьшает)
Delay before reset: 0 (время, после прошествия которого, кнопку можно вновь активировать)

Флаги:

Toggle: этот флаг оставляет кнопку в нажатом положении до следующей активации



Trigger_changetarget (меняет параметр «Target» счетчику единиц)
Name: ct0 (имя данного объекта)
Target: 1counter (здесь указывается имя счетчика единиц)
New Target: m1 (означает, что в следующий раз счетчик будет активировать объект по имени m1, т.е. следующий мульти_менеджер из второго звена)



Это первое звено объектов, которые меняют цифру 0 на цифру 1. Как Вы понимаете, необходимо сделать еще 9 таких звеньев.


Свойства объектов для счетчика десятков

Ниже мы приводим свойства первого звена объектов для счетчика десятков.

Game_counter (счетчик десятков)
Name: 10counter (имя счетчика десятков)
Target: m00 (сюда необходимо записать имя самого первого объекта multi_manager в звене десятков)
Initial Value: 0 (начальное значение счетчика — 0)
Limit Value: 10 (конечное значение, достигнув которого, счетчик начнет активировать кнопки; т.к. это счетчик десятков, то необходимо поставить значение 10)

Флаги:

Reset on fire: нужно отметить этот флаг, чтобы счетчик сбрасывался на 0 (обнулялся), когда достигаеся значение «Limit Value»



Multi_manager (этот объект опускает/поднимает кнопки, активирует другие объекты)
Name: m00 (имя данного объекта)
btn00 — 0 (поднимает кнопку «0» в разряде десятков)
btn11 — 0 (опускает кнопку «1» в разряде десятков)
ct00 — 0 (запускает объект trigger_changetarget)



Func_button (кнопка «0», разряд десятков)
Name: btn00 (имя кнопки «0» из разряда десятков)
Angle: Up (направление движения вверх)
Speed: 200 (скорость движения)
Lip: -8 (этот параметр управляет расстоянием, на которое перемещается кнопка; отрицательное значение увеличивает расстояние, положительное уменьшает)
Delay before reset: 0 (время, после прошествия которого, кнопку можно вновь активировать)

Флаги:

Toggle: этот флаг оставляет кнопку в нажатом положении до следующей активации



Func_button (кнопка «1», разряд десятков)
Name: btn11 (имя кнопки «1» из разряда десятков)
Angle: Down (направление движения вниз, т.к. изначально кнопка расположена выше табло)
Speed: 200 (скорость движения)
Lip: -8 (этот параметр управляет расстоянием, на которое перемещается кнопка; отрицательное значение увеличивает расстояние, положительное уменьшает)
Delay before reset: 0 (время, после прошествия которого, кнопку можно вновь активировать)

Флаги:

Toggle: этот флаг оставляет кнопку в нажатом положении до следующей активации



Trigger_changetarget (меняет параметр «Target» счетчику десятков)
Name: ct00 (имя данного объекта)
Target: 10counter (здесь указывается имя счетчика десятков)
New Target: m11 (означает, что в следующий раз счетчик будет активировать объект по имени m11, т.е. следующий мульти_менеджер из второго звена)



Это первое звено объектов, которые меняют цифру 0 на цифру 1 в разряде десятков. Дальше необходимо создать еще 9 таких звеньев.


Свойства объектов для счетчика сотен

Ниже мы приводим свойства первого звена объектов для счетчика сотен.

Game_counter (счетчик сотен)
Name: 100counter (имя счетчика сотен)
Target: m000 (сюда необходимо записать имя самого первого объекта multi_manager в звене сотен)
Initial Value: 0 (начальное значение счетчика — 0)
Limit Value: 100 (конечное значение, достигнув которого, счетчик начнет активировать кнопки; т.к. это счетчик сотен, то необходимо поставить значение 100)

Флаги:

Reset on fire: нужно отметить этот флаг, чтобы счетчик сбрасывался на 0 (обнулялся), когда достигаеся значение «Limit Value»



Multi_manager (этот объект опускает/поднимает кнопки, активирует другие объекты)
Name: m000 (имя данного объекта)
btn000 — 0 (поднимает кнопку «0» в разряде сотен)
btn111 — 0 (опускает кнопку «1» в разряде сотен)
ct000 — 0 (запускает объект trigger_changetarget)



Func_button (кнопка «0», разряд сотен)
Name: btn000 (имя кнопки «0» из разряда сотен)
Angle: Up (направление движения вверх)
Speed: 200 (скорость движения)
Lip: -8 (этот параметр управляет расстоянием, на которое перемещается кнопка; отрицательное значение увеличивает расстояние, положительное уменьшает)
Delay before reset: 0 (время, после прошествия которого, кнопку можно вновь активировать)

Флаги:

Toggle: этот флаг оставляет кнопку в нажатом положении до следующей активации



Func_button (кнопка «1», разряд сотен)
Name: btn111 (имя кнопки «1» из разряда сотен)
Angle: Down (направление движения вниз, т.к. изначально кнопка расположена выше табло)
Speed: 200 (скорость движения)
Lip: -8 (этот параметр управляет расстоянием, на которое перемещается кнопка; отрицательное значение увеличивает расстояние, положительное уменьшает)
Delay before reset: 0 (время, после прошествия которого, кнопку можно вновь активировать)

Флаги:

Toggle: этот флаг оставляет кнопку в нажатом положении до следующей активации



Trigger_changetarget (меняет параметр «Target» счетчику сотен)
Name: ct000 (имя данного объекта)
Target: 100counter (здесь указывается имя счетчика сотен)
New Target: m111 (означает, что в следующий раз счетчик будет активировать объект по имени m111, т.е. следующий мульти_менеджер из второго звена)



Это первое звено объектов, которые меняют цифру 0 на цифру 1 в разряде сотен. Дальше необходимо создать еще 9 таких звеньев.


Вот и все нехитрое устройство счетчика фрагов :) Думается, немногие мапперы дочитают эту статью до конца, но поверьте, придумать такое, да еще и понятно описать оч-ч-чень трудно. В любом случае Вы можете скачать нашу карту-пример и скопировать счетчик на свою карту. Используйте на здоровье!


frag-o-matic.zip [93Кб] — в архиве карта-пример в форматах BSP и RMF.


Поделиться:
Тэги:

DS-Servers.com
Copyright © 2012-2018. All Rights Reserved.
При копировании материала ссылка на источник обязательна
За материалы, размещенные пользователями, администрация сайта ответственности НЕ несет