<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Мир Файлов Counter Strike 1.6</title>
		<link>https://steep.at.ua/</link>
		<description>Форум</description>
		<lastBuildDate>Tue, 01 Mar 2022 10:14:05 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://steep.at.ua/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Урок №1 - Настройка программы</title>
			<link>https://steep.at.ua/forum/19-31-1</link>
			<pubDate>Tue, 01 Mar 2022 10:14:05 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/19&quot;&gt;Маппинг&lt;/a&gt;&lt;br /&gt;Описание темы: Урок №1 - Настраиваем программу для работы&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: MTY&lt;br /&gt;Количество ответов: 5</description>
			<content:encoded>﻿&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapp.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt;﻿﻿﻿Автор статьи - &lt;span style=&quot;color:#ff0000&quot;&gt;BiZoN&lt;/span&gt;&lt;br /&gt;Приветствую вас, пользователи &lt;span style=&quot;color:#ff0000&quot;&gt;Steep.at.ua&lt;/span&gt;&lt;br /&gt;Приступим.&lt;br /&gt;Тема: &lt;span style=&quot;color:#ff0000&quot;&gt;Настройка программы&lt;/span&gt;.&lt;br /&gt;Ну что ж, давайте начнем!&lt;br /&gt;Чтобы создавать карты, вам нужны будут программы и дополнения. Для начала определимся с основным составляющим:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Valve Hammer Editorт&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;ZHLT&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;FGD&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Valve Hammer Editor - сама программа, которая вам нужна для строения карт. Скачать её можно здесь&gt;&gt; &lt;a class=&quot;link&quot; href=&quot;http://steep.at.ua/load/drugoe/valve_hammer_editor_unofficial_3_5_2/12-1-0-159&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;Valve Hammer Editor&lt;/u&gt;&lt;/a&gt; &lt;&lt;&lt;br /&gt;Скачиваем, устанавливаем, запускаем. Далее вылезает окно. Нам нужно настроить конфигурации. То есть все то, что нужно нам будет в процессе работы в программе.&lt;br /&gt;&lt;br /&gt;﻿&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapconf.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt;&lt;br /&gt;Далее нажимаем &quot;Да&quot;. После этого открываются настройки, в которых есть множество окон. Переходим к окну &quot;Game Configurations&quot;.&lt;br /&gt;Видим следующее:&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapconf2.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt;﻿&lt;br /&gt;В поле &quot;Configurations&quot; нажимаем на &quot;Edit&quot;. Далее откроется еще одно небольшое окно. Жмем на &quot;Add&quot;, вводим любое произвольное название на английском. К примеру: &quot;CS&quot;, потом жмем на &quot;OK&quot;.&lt;br /&gt;Далее переходим к полю &quot;Game Date Files&quot;. Нажимаем на &quot;Add&quot;. Далее качаем *.fgd-файлы, которые нам нужны для работы программы. Они содержат информацию об энтити-файлах. &lt;a class=&quot;link&quot; href=&quot;http://steep.at.ua/fgd-files.rar&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;Скачать *.fgd-файлы&lt;/u&gt;&lt;/a&gt;.&lt;br /&gt;Закиньте их к себе в программу. Или в любое другое место, но помните главное: пути, по которым будут находиться файлы, не должны содержать русских сиволов, иначе будут ошибки при компиляции! Пример:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;fgd&amp;#92;cs-single_player.fgd&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;fgd&amp;#92;halflife.fgd&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;fgd&amp;#92;halflife-cs.fgd&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;fgd&amp;#92;halflife-cs_expert.fgd&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Ниже находятся два поля: &quot;Texture Format&quot; и &quot;Map Type&quot;. Их мы не трогаем. В них вы ничего выбрать не сможете. Это стандартный формат текстур и тип карт. Других не предусмотрено в CS, поэтому ничего другого выбрать и не можем.&lt;br /&gt;Ниже находятся еще два поля: &quot;Default PointEntity CLass&quot; и &quot;Default SolidEntity Class&quot;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Default PointEntity CLass - здесь выбираем из списка &quot;info_player_start&quot;. Info_player_start - это будет энтити-объект, который будет выбираться по дефолту, когда мы будем создавать энтити-объект на карте.&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Default SolidEntity Class - здесь выбираем из списка &quot;func_wall&quot;. Func_wall - это будет энтити-объект, который будет выбираться по дефолту, когда мы будем превращать обычный браш в энтити-объект на карте.&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;По сути, здесь не столь важно, какой именно мы выберем энтити-объект, так как мы в любой момент можем выбрать другой.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Следующее поле: &quot;Game Executable Directory&quot; - здесь нам нужно указать директорию с вашей CS 1.6.&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Следующее поле: &quot;Mod Directory&quot; - здесь нам нужно указать директорию с вашей CS 1.6 с последующей папкой cstrike.&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Следующее поле: &quot;Game Directory&quot; - здесь нам нужно указать директорию с вашей CS 1.6 с последующей папкой valve.&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Следующее поле: &quot;RMF Directory&quot; - здесь нам нужно указать папку, в которой вы хотите хранить ваши карты. Это, пожалуй, единственное из полей, в котором можно указывать русские пути.&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Пример указывания:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;&quot;Game Executable Directory&quot; - C:&amp;#92;Games&amp;#92;Counter-Strike 1.6&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;&quot;Mod Directory&quot; - C:&amp;#92;Games&amp;#92;Counter-Strike 1.6&amp;#92;cstrike&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;&quot;Game Directory&quot; - C:&amp;#92;Games&amp;#92;Counter-Strike 1.6&amp;#92;valve&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;&quot;RMF Directory&quot; - C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;maps&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;﻿Ниже скриншот, как примерно должно все выглядеть.﻿&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapconf3.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt;﻿&lt;br /&gt;﻿Далее переходим к вкладке &quot;Build Programs&quot;﻿ и к его составляющим, то бишь полям. Поле &quot;Game Executable&quot; - это запускной файл нашей игры. Далее нам нужно подключить компиляторы, которые будут компилировать нашу карту. Из формата *.rmf или *.map в *.bsp.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Поле &quot;CSG Executable&quot; - это один из составляющих компилятора, а именно CSG, который просчитывает основную геометрию уровня и создает четыре hull-файла для их дальнейшей обработки следующим компилятором HLBSP.&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Поле &quot;BSP Executable&quot; - это один из составляющих компилятора, а именно BSP, который создает основу уровня и работоспособный BSP-файл.&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Поле &quot;VIS Executable&quot; - это один из составляющих компилятора, а именно VIS, который делает визуальную часть и оптимизирует уровень для более быстрой отрисовки в игре.&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Поле &quot;RAD Executable&quot; - это один из составляющих компилятора, а именно RAD, который обрабатывает просчёт освещения уровня.&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Пример:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;CSG Executable - C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;zhlt&amp;#92;hlcsg.exe&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;BSP Executable - C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;zhlt&amp;#92;hlbsp.exe&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;VIS Executable - C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;zhlt&amp;#92;hlvis.exe&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;RAD Executable - C:&amp;#92;Program Files&amp;#92;Valve Hammer Editor Unofficial 3.5.2&amp;#92;zhlt&amp;#92;hlrad.exe&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Найти эти четыре составляющих компилятора вы можете в самой программе. Скачав программу с нашего сайта, вы их найдете по таким же адресам, которые я указал в примере.&lt;br /&gt;Ну и последнее поле: &quot;Place compiled maps maps in the directory before running the game&quot;, в котором нужно указать вашу папку с игрой плюс папку хранения карт. То есть сюда будут класться скомпилированные карты после компиляции и перед запуском игры. Пример:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Place compiled maps maps in the directory before running the game - C:&amp;#92;Games&amp;#92;Counter-Strike 1.6&amp;#92;cstrike&amp;#92;maps&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Ну и ниже скриншот с примерными настройками.&lt;br /&gt;﻿&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapconf4.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt;&lt;br /&gt;Ну и последний шаг: вкладка &quot;Textures&quot;. Здесь, пожалуй, ничего сложного. Нужно лишь указать некоторые *.wad-файлы, с которыми мы будем работать, то бишь с текстурами. Ниже список текстур, которые лучше выбрать, так как в других содержится не особо нужное. Найти текстуры можно в папке cstrike или в папке valve.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;valve/decals.wad&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;valve/halflife.wad&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;valve/liquids.wad&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;cstrike/chateau.wad&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;cstrike/cs_bdog.wad&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;cstrike/cs_havana.wad&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;cstrike/cstrike.wad&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;cstrike/de_piranesi.wad&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;cstrike/torntextures.wad&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;hr /&gt;Теперь мы настроили нашу программу к работе. А теперь ждем следующих уроков &lt;img rel=&quot;usm&quot; src=&quot;https://steep.at.ua/smlxa/25.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;25&quot; /&gt;</content:encoded>
			<category>Маппинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/19-31-1</guid>
		</item>
		<item>
			<title>4. Типы функций</title>
			<link>https://steep.at.ua/forum/11-48-1</link>
			<pubDate>Thu, 17 Aug 2017 19:51:09 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/11&quot;&gt;Скриптинг&lt;/a&gt;&lt;br /&gt;Описание темы: Типы функций (какие бывают виды функций)&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: 6u3oH&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Ну что ж, пришло время приступить к серьезным делам. Работа с функциями - неотъемлемая часть любого кодера. Именно сейчас я и расскажу вам об этом.&lt;br /&gt;Что такое функция? Это часть кода, заключенная в блок (&lt;span style=&quot;color:#ff0000&quot;&gt;{&lt;/span&gt; и &lt;span style=&quot;color:#ff0000&quot;&gt;}&lt;/span&gt;), которая, при обращении к ней, выполняет определенные действия. Какие действия она выполняет? Это решать вам, ведь вы пишите этот код. То есть по сути работа плагина заключена в том, что мы обращаемся к определенным функциям, которые выполняют определенные действия, в этом и заключена суть работы плагина.&lt;br /&gt;&lt;br /&gt;Итак, во-первых, функции делятся на несколько видов:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Public&lt;br /&gt;&lt;li&gt;Stock&lt;br /&gt;&lt;li&gt;Forward&lt;br /&gt;&lt;li&gt;Native&lt;br /&gt;&lt;li&gt;Regular&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:14pt;&quot;&gt;Функция &lt;span style=&quot;color:red&quot;&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Функция public или публичная функция - основная функция, использование которой в плагине обязательно (иначе можно будет получить ошибку при компиляции).&lt;br /&gt;Для примера мы зарегистрируем консольную команду, через которую вызовем нашу функцию:&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;#include &lt;amxmodx&gt; // Подключаем инклюд&lt;br /&gt;&lt;br /&gt;public plugin_init(&amp;#41;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;register_clcmd(&quot;test&quot;, &quot;Test_Function&quot;&amp;#41;; // Регистрируем консольную команду&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Test_Function(id&amp;#41; // Вызов нашей функции&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client_print(id, print_chat, &quot;Функция public работает!&quot;&amp;#41;; // Выводим сообщение в чат&lt;br /&gt;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;Теперь если вы установите данный плагин к себе на сервер и введёте в консоль команду test, то в чате увидите сообщение, которое мы через эту функцию вывели.&lt;br /&gt;Объяснять пока каким образом мы регистрируем команду и каким образом и что выводим я пока не буду, об этом поговорим в следующих уроках.&lt;br /&gt;Если вы были наблюдательны, то заметили, что в данном примере у нас две функции public, но одна из них хоть и используется в роли публичной функции, но является функцией типа forward, об этом ниже.&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:14pt;&quot;&gt;Функция &lt;span style=&quot;color:red&quot;&gt;Stock&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;﻿Функция stock является похожей на функцию public, но всё же используется для других целей. Данная функция включается в плагин только в том случае, если она используется. То есть если она ни разу в плагине не была использована, то при компиляции она будет попросту проигнорирована.&lt;br /&gt;Используется она в основном для объединения уже некоторых функций. Например, в ней осуществляют подсчёт админов на сервере, кол-во дверей, количество игроков, имеющих меньше 10 хп и так далее - для чего угодно, но обращаются к ней зачастую именно через публичную функцию.&lt;br /&gt;&lt;br /&gt;В пример возьмем всем известный плагин, который выводит кол-во админов онлайн. В нашем случае будет так: мы вводим в консоль команду say /admin и получаем в чат количество админов онлайн.&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;#include &lt;amxmodx&gt; // Подключаем инклюд&lt;br /&gt;&lt;br /&gt;public plugin_init(&amp;#41;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;register_clcmd(&quot;say /admin&quot;, &quot;ShowAdmins&quot;&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public ShowAdmins(id&amp;#41; // Регистрируем консольную команду&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new iCount = get_admin_count(&amp;#41;; // Создаем переменную и присваиваем ей значение, обращаясь к stock-функции&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client_print(id, print_chat, &quot;Админов в сети: %i&quot;, iCount&amp;#41;; // Выводим через указатель значение переменной&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;stock get_admin_count(&amp;#41; // Наша функция, к которой мы обратились&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new iCount; // Объявляем переменную, которая будет хранить кол-во админов онлайн&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(new id = 1; id &lt;= get_maxplayers(&amp;#41;; id++&amp;#41; // Проходим циклом по всем игрокам&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(is_user_connected(id&amp;#41;&amp;#41; // Исключаем все лишние объекты, кроме игрока&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(get_user_flags(id&amp;#41; &amp; ADMIN_BAN&amp;#41; // Проверяем, имеет ли игрок флаг &apos;d&apos; (users.ini&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iCount++; // Прибавляем к переменной значение +1, (++ называется итерацией, к числу прибавляется +1&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return iCount; // Возвращаем кол-во админов&lt;br /&gt;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Теперь вы можете попробовать данный плагин в действии, если поставите его к себе на сервер. Наберите чат-команду: say /admin и в чат выведется количество админов, присутствующих на сервере.&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:14pt;&quot;&gt;Функция &lt;span style=&quot;color:red&quot;&gt;Forward&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Функция forward имеет все те же особенности, что и функция public, но имеет одно отличие: она может быть вызвана из другого плагина, в отличие от некоторых других функций. То есть данную функцию можно использовать как связь между плагинами.&lt;br /&gt;Например, функция plugin_init(), без которой практически не обходится ни один плагин. Она вызывается в момент старта/рестарта сервера. Именно в данной функции регистрируются консольные команды, разные игровые события и производятся некоторые действия, которые необходимо сделать всего лишь один раз. Данная функция является стандартной, но есть возможность создавать и свою forward-функцию - своё событие. Об этом всём мы поговорим в следующих уроках, которые будут уделены именно этим аспектам.&lt;br /&gt;&lt;br /&gt;В каком-то особом примере функция forward не нуждается, потому как в примерах для функций выше уже используется данный тип функций, покажу лишь небольшой пример.&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;#include &lt;amxmodx&gt; // Подключаем инклюд&lt;br /&gt;&lt;br /&gt;public plugin_init(&amp;#41; // Событие инициализации плагина&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server_print(&quot;The plugin_init event was called successfully!&quot;&amp;#41;; // Выводим сообщение в консоль сервера&lt;br /&gt;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Если вы поставите данный плагин себе на сервер, то при запуске сервера увидите это сообщение в консоли сервера, которое гласит, что событие plugin_init было успешно вызвано.&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:16pt;&quot;&gt;Функция &lt;span style=&quot;color:red&quot;&gt;Native&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;﻿&lt;br /&gt;Функция native является одной из составляющих основу написания плагина. Без данной функции вы не сможете узнать сколько у игрока денег, не сможет узнать его ник, не сможете выдать ему оружия, не сможете вывести в чат сообщение. Именно эта функция выполняет все подобные действия. Она похожа на функцию forward, но используется для других целей, хоть и может быть создана самим кодером лично и может быть использована в разных плагинах (то есть есть возможность связывать ею плагины). В пример мы возьмем функцию выдачи оружия.&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;#include &lt;amxmodx&gt; // Подключаем инклюд (модуль&amp;#41;&lt;br /&gt;#include &lt;fun&gt; // Подключаем еще один модуль&lt;br /&gt;&lt;br /&gt;public plugin_init(&amp;#41;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;register_clcmd(&quot;say /deagle&quot;, &quot;Give_Deagle&quot;&amp;#41;; // Регистрируем консольную команду&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Give_Deagle(id&amp;#41; // Работае с нашеё функцию&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;give_item(id, &quot;weapon_deagle&quot;&amp;#41;; // Выдаем игроку дигл&lt;br /&gt;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;Используя этот плагин, вы можете набрать чат-команду say /deagle и получить дигл. Особо любопытные могли заметить, что в данном случае мы подключаем еще один инклюд. На вопрос &quot;Зачем?&quot; я отвечу: данный модуль предоставляет возможность использовать native-функцию give_item, которая в свою очередь позволяет выдать игроку пистолет deagle.&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:16pt;&quot;&gt;Функция &lt;span style=&quot;color:red&quot;&gt;Regular&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Функция Regular ничем практически не отличается от функции public, единственное отличие состоит в том, что описывается она без суффиксальных элементов и не воспринимается некоторыми модулями, поэтому я советую воздержаться от её использования. Простой пример.&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;#include &lt;amxmodx&gt; // Подключаем инклюд&lt;br /&gt;&lt;br /&gt;public plugin_init(&amp;#41; //Событие инициализации плагина&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Init_Call(&amp;#41;; // Вызываем нашу функцию&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Init_Call(&amp;#41; // Наша функция&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server_print(&quot;The &apos;Init_Call&apos; event was called successfully!&quot;&amp;#41;; // Выводим сообщение в консоль сервера&lt;br /&gt;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Ничего особенного нет. Из события инициализации плагина мы вызываем эту функцию, в которой присутствует код для выведения информации в консоль сервера.&lt;br /&gt;&lt;br /&gt;На этом всё. Надеюсь, этот урок вы дочитали до конца, бОльшую часть информации поняли. А те, кто уже практически всё это знал, но получил для себя немного полезной информации или ответ на томящий вопрос, молодцы.</content:encoded>
			<category>Скриптинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/11-48-1</guid>
		</item>
		<item>
			<title>3. Типы данных</title>
			<link>https://steep.at.ua/forum/11-47-1</link>
			<pubDate>Wed, 12 Jul 2017 13:14:05 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/11&quot;&gt;Скриптинг&lt;/a&gt;&lt;br /&gt;Описание темы: Типы данных (переменные)&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: 6u3oH&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>У многих, может быть, возникает вполне логический вопрос. А для чего нам нужны все эти переменные с этими типами данных? Ответ прост: для работы (с условиями, функциями или еще чем-то - не важно).&lt;br /&gt;&lt;br /&gt;Для начала самое главное: чтобы наша переменная была доступна для использования - её нужно объявить. Как это сделать? Ответ будет ниже.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Немного информации на будущее:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;При объявлении переменной ей автоматически присваивается значение 0.&lt;br /&gt;&lt;li&gt;Компилятор не воспринимает строку, в которой написана любая информация после двух слэшей (&quot;//&quot;), поэтому таким образом мы можем писать комментарии.&lt;br /&gt;&lt;li&gt;Название переменной может быть любым, но должно состоять из английских букв, цифр или &quot;нижнего тире: _&quot;.&lt;br /&gt;&lt;li&gt;Имена переменных не должны повторяться или пересекаться с названиями функций!&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;В языке Pawn существуют всего четыре вида данных:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Целочисленные&lt;/span&gt; - целые числа (integer).&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Дробные&lt;/span&gt; - числа с плавающей запятой (Float).&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Булевые&lt;/span&gt; - логические (bool),&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Строковые&lt;/span&gt; (string).&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Рассмотрим каждый тип данных по отдельности.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Целочисленные - целые числа (integer).&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Числа&lt;/span&gt; в языке программирования &quot;Pawn&quot; при объявлении &lt;span style=&quot;color:#ff0000&quot;&gt;автоматически становятся целыми&lt;/span&gt; (&lt;span style=&quot;color:#ff0000&quot;&gt;получают тип &lt;u&gt;Integer&lt;/u&gt;&lt;/span&gt;, если не указывать это в объявлении к переменной).&lt;br /&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Объявляются переменные&lt;/span&gt; в AMXX как и во многих языках программированию &lt;span style=&quot;color:#ff0000&quot;&gt;с помощью оператора&lt;/span&gt; &lt;span style=&quot;color:#ff0000&quot;&gt;&lt;u&gt;new&lt;/u&gt;&lt;/span&gt; или &lt;span style=&quot;color:#ff0000&quot;&gt;&lt;u&gt;static&lt;/u&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new Chislo; // Оператор new&lt;br /&gt;static Chislo; // Оператор static&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Чем отличаются операторы new и static? (спойлер):&lt;br /&gt;&lt;br /&gt;&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoileriuwWYI&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoileriuwWYI&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoileriuwWYI&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoileriuwWYI&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoileriuwWYI&apos;)).val(&apos;[&amp;#92;&amp;#8211;] Спойлер&apos;);$(&apos;#uSpoileriuwWYI&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoileriuwWYI&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoileriuwWYI&apos;)).val(&apos;[+] Спойлер&apos;);$(&apos;#uSpoileriuwWYI&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;[+] Спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;Внимание, этот материал не обязателен для ознакомления, поэтому если вы не хотите грузить себя лишней информацией, то не читайте.&lt;br /&gt;&lt;br /&gt;Оператор &quot;new&quot; создает новую переменную, то есть указывает на то, что нужно создать переменную и выделить на неё определенное кол-во памяти. И даже если эта переменная уже объявлена, то она всё равно вновь &quot;переобъявляется&quot; и перезаписывается.&lt;br /&gt;Оператор &quot;static&quot; создает статическую переменную (то есть только 1 раз). И если она уже объявлена, то она не перезаписывается, а используется в том виде и с тем значением, которые были заданы изначально.&lt;br /&gt;&lt;br /&gt;Но это не касается глобальных переменных. Забегая вперед скажу, что все переменные, которые объявлены вне функции - глобальные. Они объявляются только один раз. А это значит, что нет смысла при объявлении глобальной переменной использовать оператор static. То есть глобальная переменная создается только один раз, статическая переменная работает по такому же принципу, но внутри функций. Статическая переменная нужна для оптимизации. Об этом и о многом другом мы поговорим в других уроках&lt;!--/ust--&gt;&lt;!--usn(=Спойлер)--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;&lt;br /&gt;Оператор &lt;span style=&quot;color:#ff0000&quot;&gt;new&lt;/span&gt; и &lt;span style=&quot;color:#ff0000&quot;&gt;static&lt;/span&gt; печатаются только в виде латиницы (английских символов) нижним регистром (маленькими буквами) и без пробелов.&lt;br /&gt;&lt;br /&gt;Также мы можем этой переменной присвоить любое целочисленное значение.&lt;br /&gt;Примеры с оператором new:&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new Chislo = 150;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;Или же можно и так:&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new Chislo;&lt;br /&gt;Chislo = 150;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;А вот с оператором &lt;span style=&quot;color:#ff0000&quot;&gt;static&lt;/span&gt; можно работать только одним способом (не в одну строчку):&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;static Chislo;&lt;br /&gt;Chislo = 150;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Так как это статическая переменная (см. &quot;Чем отличаются операторы new и static?&quot;).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Дробные - числа с плавающей запятой (Float).&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Дробные&lt;/span&gt; (или вещественные) &lt;span style=&quot;color:#ff0000&quot;&gt;числа объявляются&lt;/span&gt; почти как и обычные целочисленные переменные, но &lt;span style=&quot;color:#ff0000&quot;&gt;с единственным отличием - к оператору &lt;u&gt;new&lt;/u&gt;/&lt;u&gt;static&lt;/u&gt; добавляется приставочный оператор &lt;u&gt;Float&lt;/u&gt;:&lt;/span&gt;.&lt;br /&gt;Обратите внимание, что &lt;span style=&quot;color:#ff0000&quot;&gt;Float:&lt;/span&gt; пишется с большой буквы и с двоеточием на конце.&lt;br /&gt;&lt;br /&gt;Пример:&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new Float: Chislo = 5.53;&lt;br /&gt;static Float: Chislo;&lt;br /&gt;Chislo = 1512.61&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Вы уже должны сами видеть где оператор &quot;new&quot;, а где &quot;static&quot;, почему с оператором &quot;new&quot; можно работать в одну строчку, а с оператором &quot;static&quot; нельзя.&lt;br /&gt;А также вы должны уже различать целочисленные (целые) значения от вещественных (дробных).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Булевые - логические (bool).&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Булевые&lt;/span&gt; или логические &lt;span style=&quot;color:#ff0000&quot;&gt;переменные&lt;/span&gt; - это переменные, которые &lt;span style=&quot;color:#ff0000&quot;&gt;принимают значение&lt;/span&gt; &lt;span style=&quot;color:#ff0000&quot;&gt;true = истина = 1&lt;/span&gt; или &lt;span style=&quot;color:#ff0000&quot;&gt;false = ложь = 0&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Используются они в основном для каких-либо ограничений в функциях. Об этом мы поговорим чуть позже в других уроках.&lt;br /&gt;&lt;br /&gt;Объявляются булевые переменные также очень просто. К оператору &lt;span style=&quot;color:#ff0000&quot;&gt;new&lt;/span&gt;/&lt;span style=&quot;color:#ff0000&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color:#ff0000&quot;&gt;добавляется приставочный оператор &lt;u&gt;bool:&lt;/u&gt;&lt;/span&gt;. Обратите внимание, что данный оператор состоит из нижнего регистра (маленьких букв), а на конце обязательно должно стоять двоеточие.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new bool: Peremennaya = true;&lt;br /&gt;static bool: Peremennaya;&lt;br /&gt;Peremennaya = true;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;В данном примере мы объявляем переменную и присваиваем ей значение &quot;true (истина, т. е. это 1)&quot;.&lt;br /&gt;&lt;br /&gt;﻿&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoilerDnl2Pr&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoilerDnl2Pr&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerDnl2Pr&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerDnl2Pr&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerDnl2Pr&apos;)).val(&apos;[&amp;#92;&amp;#8211;] Немного инфы на будущее&apos;);$(&apos;#uSpoilerDnl2Pr&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerDnl2Pr&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerDnl2Pr&apos;)).val(&apos;[+] Немного инфы на будущее&apos;);$(&apos;#uSpoilerDnl2Pr&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;[+] Немного инфы на будущее&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;Как уже было сказано выше - при объявлении любой переменной ей автоматически присваивается значение 0:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Целые числа: 0&lt;br /&gt;&lt;li&gt;дробные: 0.0&lt;br /&gt;&lt;li&gt;логические: false (то есть 0)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;А это значит что следующая запись:&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new bool: Peremennaya;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Будет равна записи:&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new bool: Peremennaya = false;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Это вам так, на заметку и на будущее.&lt;!--/ust--&gt;&lt;!--usn(=Немного инфы на будущее)--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;&lt;br /&gt;&lt;b&gt;4. Строковые (string).&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Строковые переменные&lt;/span&gt; - это переменные, которые &lt;span style=&quot;color:#ff0000&quot;&gt;содержат в себе символьную информацию&lt;/span&gt; (то есть &lt;span style=&quot;color:#ff0000&quot;&gt;состоят из символов&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;Объявляются они без различных приставочных операторов. Просто после названия переменной в квадратных скобках нужно указать максимально допустимый размер для нашей переменной. То есть если у нас переменная будет содержать какое-то предложение из слов, а длина строки (кол-во букв, пробелы и знаки препинания), например, будет равна 15, то нам в квадратных скобках нужно будет указать [15]. Но это не обязательно, можно указывать и с запасом: хоть [16], хоть [200], хоть [512] и так далее.&lt;br /&gt;&lt;br /&gt;Пример:&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new Stroka&amp;#91;3] = &quot;Ура&quot;; // размер на 3 символа, слово состоит из 3 символов.&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Также считается необязательным указание размера строки, то есть можно писать таким образом:&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new Stroka&amp;#91;] = &quot;Ура&quot;; // Пустые квадратные скобки&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;В этом случае максимальный размер строки будет равен длине строки (автоматически определится за вас).&lt;br /&gt;&lt;br /&gt;Обратите внимание, что символьные данные должны быть указаны в кавычках, иначе запись&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;new Stroka&amp;#91;3] = Ура;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Будет являться массивом, к тому же неверным, вместо &quot;Ура&quot; должно быть указано целочисленное, вещественное или логическое значение (плюсом при объявлении массива ему нельзя сразу присвоить значение). Но о массивах мы поговорим уже позже.&lt;br /&gt;&lt;br /&gt;Не удивляйтесь, если у вас после всего этого каша в голове. Со временем (если захотите и не бросите изучение AMXX) вы всё поймете. Всё приходит со временем.</content:encoded>
			<category>Скриптинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/11-47-1</guid>
		</item>
		<item>
			<title>2. Написание плагинов</title>
			<link>https://steep.at.ua/forum/11-46-1</link>
			<pubDate>Wed, 12 Jul 2017 13:06:14 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/11&quot;&gt;Скриптинг&lt;/a&gt;&lt;br /&gt;Описание темы: Написание плагинов (алгоритмизация)&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: 6u3oH&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Первое, что должны уметь новички - алгоритмизировать. То есть чётко уметь представлять себе алгоритм действий для выполнения задачи. Обычно это умение (у новичков) приходит как раз во время изучения языка программирования &quot;Pawn&quot; посредством изучения каких-либо функций.&lt;br /&gt;&lt;br /&gt;То есть можно подразделить потребности умений на две ветви:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Умение алгоритмизировать (составлять логику кода)&lt;br /&gt;&lt;li&gt;Знание синтаксиса языка (знание функций и составляющих языка)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Но главное всё-таки то, что будущий программист на amxmodx должен уметь алгоритмизировать, синтаксис языка первое время придется подглядывать.&lt;br /&gt;&lt;br /&gt;Что же такое алгоритмизация? Алгоритмизация - это просчёт выполняемых действий (цепочка действий), которые влекут за собой успешно написанный плагин.&lt;br /&gt;&lt;br /&gt;Окунемся в мир Counter-Strike 1.6 и представим себе простую ситуацию: нам нужно написать плагин, в котором мы бы считали сколько раз умер игрок.&lt;br /&gt;Тут вы (как сказано было выше) должны представить себе чёткий алгоритм. Не читайте ниже описанный алгоритм (для удобности он спрятан под спойлер), а попытайтесь для начала представить себе, как бы вы это реализовали.&lt;br /&gt;&lt;br /&gt;&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoilertJ_QL6&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoilertJ_QL6&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilertJ_QL6&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilertJ_QL6&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilertJ_QL6&apos;)).val(&apos;[&amp;#92;&amp;#8211;] Алгоритм:&apos;);$(&apos;#uSpoilertJ_QL6&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilertJ_QL6&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilertJ_QL6&apos;)).val(&apos;[+] Алгоритм:&apos;);$(&apos;#uSpoilertJ_QL6&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;[+] Алгоритм:&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;1. ﻿Поймать необходимое событие (в данном случае это смерть игрока).&lt;br /&gt;2. Сделать счётчик, с помощью которого можно будет считать кол-во смертей (для этого нужны переменные, о которых пойдет речь в следующем уроке)&lt;br /&gt;3. Вывести это значение (в чат, в консоль - куда угодно), просто чтобы убедиться, что плагин работоспособен.&lt;!--/ust--&gt;&lt;!--usn(=Алгоритм:)--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;&lt;br /&gt;Если у вас ничего не получилось придумать, то не расстраивайтесь, больше практикуйтесь, изучайте различные функции, поставьте перед собой какую-нибудь задачу и пытайтесь её решить (имея знания о языке программирования, конечно).&lt;br /&gt;Если у вас что-то похожее возникло в мыслях, то вам всего лишь нужно &quot;добить&quot; этот момент, применив совет, написанный выше.</content:encoded>
			<category>Скриптинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/11-46-1</guid>
		</item>
		<item>
			<title>1. Знакомство с AMXX</title>
			<link>https://steep.at.ua/forum/11-45-1</link>
			<pubDate>Wed, 12 Jul 2017 13:00:42 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/11&quot;&gt;Скриптинг&lt;/a&gt;&lt;br /&gt;Описание темы: Знакомство с AMXX (что из себя представляет язык Pawn?)&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: 6u3oH&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;b&gt;Pawn&lt;/b&gt; — простой, не типизированный 32-битный скриптовый язык программирования с синтаксисом, подобным языку Си.&lt;br /&gt;Основой для Pawn был взят язык Си. Целью разработчиков было упростить и изменить язык Си таким образом, чтобы синтаксис языка позволял избегать или обходить те ошибки, которые допускают неопытные программисты.&lt;br /&gt;&lt;br /&gt;Аббревиатура AMX Mod X (AMXX) — это Metamod-дополнение, которое позволяет создавать новые модификации для Half-Life на языке Pawn.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Особенности языка:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pawn - скриптовый язык.&lt;br /&gt;&lt;li&gt;Полностью зависит от подключаемых модулей (include).&lt;br /&gt;&lt;li&gt;Не сложный, понятный и легко доступный для понимания.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Поддерживаемые кодировки:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;UTF-8 - не поддерживаются русские символы.&lt;br /&gt;&lt;li&gt;UTF-8 without bom (в рус.: UTF-8 без БОМ) - поддерживаются русские символы.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Расширения файлов:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;*.sma - исходный файл - &quot;исходник&quot;.&lt;br /&gt;&lt;li&gt;*.amxx - скомпилированный исходный файл - плагин.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Применение языка:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Язык Pawn используется в написании плагинов для модулей AmxModX, которые позволяют выполнять сценарии на серверах игр Half-Life и его модов, в особенности используется для игры Counter-Strike.&lt;br /&gt;&lt;br /&gt;Все плагины на amxmodx пишутся без исключения на языке программирования Pawn.</content:encoded>
			<category>Скриптинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/11-45-1</guid>
		</item>
		<item>
			<title>Создание WAD-Файла</title>
			<link>https://steep.at.ua/forum/19-35-1</link>
			<pubDate>Mon, 15 Jun 2015 21:51:45 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/19&quot;&gt;Маппинг&lt;/a&gt;&lt;br /&gt;Описание темы: Создаем свой WAD-Файл&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: BiZoN&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapp.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; Автор статьи - &lt;span style=&quot;color:#ff0000&quot;&gt;BiZoN&lt;/span&gt; &lt;br /&gt; Приветствую вас, пользователи &lt;span style=&quot;color:#ff0000&quot;&gt;Steep.at.ua&lt;/span&gt; &lt;br /&gt; Приступим. &lt;br /&gt;&lt;br /&gt; Тема: &lt;span style=&quot;color:#ff0000&quot;&gt;Создание своего WAD-Файла&lt;/span&gt;. &lt;br /&gt; Ну что ж, давайте начнем! &lt;br /&gt;&lt;br /&gt; Для создания WAD-Файла нам нужна программа &lt;span style=&quot;color:#ff0000&quot;&gt;Wally&lt;/span&gt;. Скачать вы её можете здесь: &lt;a class=&quot;link&quot; href=&quot;http://steep.at.ua/load/drugoe/wally/12-1-0-222&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;u&gt;Программа Wally&lt;/u&gt;&lt;/span&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt; Для начала нам нужна картинка. Чтобы программа восприняла нашу картинку, нам нужно перевести картинку в режим &quot;Индексированные цвета&quot;. Также нам нужно, чтобы размер картинки сочетал в себе пропорции. Например: 512x512, 256x256, 128x128, 64x64, 32x32; 512x256, 256x128, 512x16. И так далее. Главное, чтобы вы поняли, что здесь значит слово &quot;пропорция&quot;. &lt;br /&gt;&lt;br /&gt; Сделать всё это можно с помощью программы &quot;Adobe Photoshop&quot;. Открываем программу, на панели инструментов выбираем раздел &quot;Изображение&quot;, далее в контекстном меню выбираем &quot;Размер Изображения&quot;. Выбираем нужный нам. Далее в этом же разделе заходим в ответвление &quot;Режим&quot; и далее выбираем &quot;Индексированные Цвета&quot;. далее сохраняем нашу картинку. Желательно, в формате *.bmp с пропорциональностью 8 бит. &lt;br /&gt;&lt;br /&gt; Далее открываем программу Wally. На панели инструментов выбираем раздел &quot;File&quot;, далее &quot;New&quot;. Вылезает небольшое подменю. Имя не трогаем, как и размер (к тому же, их изменить нельзя). А вот мимо типа текстур мимо не проходим. Из предлагаемого списка выбираем &quot;Half-Life Package [wad3] (.wad)&quot;. Это обязательно, иначе редактор не примет ваш вадник. &lt;br /&gt;&lt;br /&gt; Видим, перед нами открылись два окна. Первое окно: список текстур, второе: просмотр текстур. Переносим нашу картинку на окно со списком текстур. И всё. Сохраняем в формате *.wad. Готово. &lt;br /&gt;&lt;br /&gt; Далее наш WAD-Файл суем в редактор и спокойно его используем. На этом статья окончена. Спасибо за просмотр. &lt;br /&gt;&lt;br /&gt; Дополнительно видео: &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;!--BBvideo--&gt;&lt;span id=&quot;scr07D51z8Rop&quot;&gt;&lt;/span&gt;&lt;script type=&quot;text/javascript&quot;&gt;_uVideoPlayer({&apos;url&apos;:&apos;http://www.youtube.com/watch?v=aL39E0u1tqs&apos;,&apos;width&apos;:&apos;425&apos;,&apos;height&apos;:&apos;355&apos;},&apos;scr07D51z8Rop&apos;);&lt;/script&gt;&lt;!--/BBvideo--&gt;&lt;/div&gt;</content:encoded>
			<category>Маппинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/19-35-1</guid>
		</item>
		<item>
			<title>Урок №3 - Создание основных объектов</title>
			<link>https://steep.at.ua/forum/19-34-1</link>
			<pubDate>Wed, 20 May 2015 19:54:13 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/19&quot;&gt;Маппинг&lt;/a&gt;&lt;br /&gt;Описание темы: Урок №3 - Создание основных геометрических объектов&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: BiZoN&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>﻿&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapp.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt;﻿ &lt;br /&gt;&lt;br /&gt; Автор статьи - &lt;span style=&quot;color:#ff0000&quot;&gt;BiZoN&lt;/span&gt; &lt;br /&gt; Приветствую вас, пользователи &lt;span style=&quot;color:#ff0000&quot;&gt;Steep.at.ua&lt;/span&gt; &lt;br /&gt; Приступим. &lt;br /&gt;&lt;br /&gt; Тема: &lt;span style=&quot;color:#ff0000&quot;&gt;Создание основных геометрических объектов&lt;/span&gt;. &lt;br /&gt; Ну что ж, давайте начнем! &lt;br /&gt;&lt;br /&gt; Каждый из вас, играя на какой-либо карте, видел различные фигуры: квадрат, круг, ромб, прямоугольник, цилиндр и многие другие. &lt;br /&gt; В этой статье мы научимся создавать некоторые из них. В этом нам поможет инструмент &quot;Blocks&quot;. &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Создание Куба&lt;/span&gt;&lt;/div&gt; &lt;br /&gt; Чтобы создать элементарный квадрат - достаточно соединить противоположные стороны по диагонали. Тогда и получится самый элементарный квадрат (правильней сказать куб). &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/lesson3_1.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;span style=&quot;color:#ff0000&quot;&gt;&gt;&gt;Получается&gt;&gt;&lt;/span&gt; &lt;img src=&quot;http://steep.at.ua/steep/lesson3_2.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Создание Угла&lt;/span&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; Создать угол будет чуточку посложнее. Но создавать вручную мы не будем, мы применим инструмент &quot;Blocks&quot;. Ниже скриншот. &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/lesson3_3.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; Видим несколько пунктов. Не обращаем пока что внимания на другие, только на &quot;Objects&quot;. Из списка выбираем &quot;Wedge&quot;. &lt;br /&gt; Создаем таким же образом, как и куб. Инструмент сделает все за нас сам. Создаст угол без нашего вмешательства. &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/lesson3_4.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;span style=&quot;color:#ff0000&quot;&gt;&gt;&gt;Получается&gt;&gt;&lt;/span&gt; &lt;img src=&quot;http://steep.at.ua/steep/lesson3_5.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Создание Цилиндра&lt;/span&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; Используем всё тот же инструмент, но из списка выбираем &quot;Cylinder&quot;. Также ниже с помощью функции &quot;Faces&quot; вы можете регулировать число граней (углов, поверхностей). Диапазон составляет от 0 до 32. Понятное дело, что чем больше граней, тем лучше будет выглядеть ваш цилиндр. &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/lesson3_6.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;span style=&quot;color:#ff0000&quot;&gt;&gt;&gt;Получается&gt;&gt;&lt;/span&gt; &lt;img src=&quot;http://steep.at.ua/steep/lesson3_7.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Создание Пирамиды (Шипа)&lt;/span&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; Опять же используем всё тот же самый инструмент. Выбираем из списка &quot;Spike&quot;. Опять же можете использовать регулировку граней, если хотите, конечно. &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/lesson3_8.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;span style=&quot;color:#ff0000&quot;&gt;&gt;&gt;Получается&gt;&gt;&lt;/span&gt; &lt;img src=&quot;http://steep.at.ua/steep/lesson3_9.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Создание Винтовых Лестниц&lt;/span&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; В общем, данным инструментом можно делать винтовые лестницы и тому подобные браши. Рассмотрим несколько примеров. &lt;br /&gt; В панели New Objects выбирите Arch. Создайте объект с размерами 384х384х64. Когда Вы нажмете Create object, появится вот такое окошко (смотрите картинку ниже): &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/lesson3_10.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Wall width&lt;/b&gt; &lt;br /&gt; Толщина отдельной составной части, возможно отрицательное значение, тогда толщина будет отсчитываться в обратную сторону; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Number of sides&lt;/b&gt; &lt;br /&gt; Количество частей (от 3 до 100); &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Arc&lt;/b&gt; &lt;br /&gt; Угол, на который будет закручен объект (от 8 до 360); &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Start Angle&lt;/b&gt; &lt;br /&gt; Здесь указывается начальный угол для первой части; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Add Height&lt;/b&gt; &lt;br /&gt; Здесь указывается высота в юнитах, на которую каждая последующая часть будет возвышаться над предыдущей. Это можно использовать при создании закрученных лестниц; &lt;br /&gt;&lt;br /&gt; Примеры объектов, построенных функцией Arch: &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/lesson3_11.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;img src=&quot;http://steep.at.ua/steep/lesson3_10.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt; Видео: &lt;br /&gt;&lt;br /&gt; ﻿&lt;div align=&quot;center&quot;&gt;&lt;!--BBvideo--&gt;&lt;span id=&quot;scrD1Wj1yVY2s&quot;&gt;&lt;/span&gt;&lt;script type=&quot;text/javascript&quot;&gt;_uVideoPlayer({&apos;url&apos;:&apos;http://www.youtube.com/watch?v=veCPeqbxka4&apos;,&apos;width&apos;:&apos;425&apos;,&apos;height&apos;:&apos;355&apos;},&apos;scrD1Wj1yVY2s&apos;);&lt;/script&gt;&lt;!--/BBvideo--&gt;&lt;hr /&gt;&lt;/div&gt; &lt;br /&gt; Ну вот и всё. Можете компилировать и проверять, как выглядят эти фигуры на карте. Спасибо за просмотр данной статьи. Ждем и смотрим следующих уроков! Удачи. &lt;br /&gt; На этом наш урок можно смело подвести к концу. Теперь вы знаете, как создавать геометрические фигуры. Поэкспериментируйте и создайте фигуры, похожие на те, что мы создали! &lt;br /&gt;&lt;br /&gt; Ну вот и всё. Можете компилировать и проверять, как выглядят эти фигуры на карте. Спасибо за просмотр данной статьи. Ждем и смотрим следующих уроков! Удачи. &lt;br /&gt; На этом наш урок можно смело подвести к концу. Теперь вы знаете, как создавать геометрические фигуры. Поэкспериментируйте и создайте фигуры, похожие на те, что мы создали!</content:encoded>
			<category>Маппинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/19-34-1</guid>
		</item>
		<item>
			<title>Урок №2 - Создание комнаты</title>
			<link>https://steep.at.ua/forum/19-33-1</link>
			<pubDate>Wed, 13 May 2015 10:30:32 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/19&quot;&gt;Маппинг&lt;/a&gt;&lt;br /&gt;Описание темы: Урок №2 - Создаем первую комнату&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: BiZoN&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapp.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt;Автор статьи - &lt;span style=&quot;color:#ff0000&quot;&gt;BiZoN&lt;/span&gt; &lt;br /&gt; Приветствую вас, пользователи &lt;span style=&quot;color:#ff0000&quot;&gt;Steep.at.ua&lt;/span&gt; &lt;br /&gt; Приступим. &lt;br /&gt;&lt;br /&gt; Тема: &lt;span style=&quot;color:#ff0000&quot;&gt;Создание комнаты&lt;/span&gt;. &lt;br /&gt; Ну что ж, давайте начнем! &lt;br /&gt;&lt;br /&gt; В этом уроке мы рассмотрим создание комнаты. &lt;br /&gt; Между делом: в конце урока будет предоставлено видео, на котором будет все наглядно показано. Но на нем не будет слов, поэтому сначала читайте статью, ну а потом, если что-то не понятно, смотрите видео. Или вы можете посмотреть его, чтобы убедиться, сделали ли вы все правильно. &lt;br /&gt;&lt;br /&gt; В создании текстур (стены, пола, потолка) нам поможет инструмент Создание Объектов (Block Tool) [Shift+B]. Нажимайте на него, далее перейдите к виду &quot;top x/y&quot;, на нем создайте небольшой объект: нажмите на плоскость, желательно используя сетку, и продлите курсор в сторону, не отжимая ЛКМ. Таким образом вы должны создать 4 текстуры, которые будут являться стенами. Далее нужно перейти к видам &quot;front y/z&quot; и &quot;side x/z&quot;. На них таким же образом вы должны создать стену и потолок. Внимание: не забывайте выравнивать плоскости. &lt;br /&gt;&lt;br /&gt; Далее нам нужно создать точку возрождения террориста и контер-террориста. А поможет нам в этом инструмент Создание Энтити (Entity Tool) [Shift+E]. Создаем: перейдите к виду &quot;top x/y&quot;, на нем нажмите на ЛКМ, отрегулируйте высоту размещения. Внимание: не размещайте точку рождения ровно у текстуры, иначе игрок родится в земле. Соблюдайте небольшую дистанцию. С помощью этого инструмента вы должны создать энтити-объект, выбрав из списка: &quot;info_player_start&quot; - точка респавна КТ и &quot;info_player_deathmatch&quot; - точка респавна Тера. &lt;br /&gt;&lt;br /&gt; И последнее: нам нужно создать свет на карте. Как же без света играть в темноте? То-то и оно. Поможет нам в этом все тот же инструмент: Создание Энтити (Entity Tool) [Shift+E]. Точно также создаем, выбираем из списка энтити-объект &quot;light&quot; - простая лампочка. Есть также объект &quot;light_environment&quot; - солнце, не выбирайте его (вдруг спутаете или решите поэкспериментировать). Он нужен только для освещения больших карт, а также он освещает лишь при наличии текстуры &quot;sky&quot;, которая в игре является небом. &lt;br /&gt;&lt;br /&gt; Ну все. Можете пытаться компилировать, как настроить программу для работы и компиляции Вы можете прочитать в нашем первом уроке. &lt;br /&gt;&lt;br /&gt; Также быстро расскажу о более легком способе создания небольшой комнаты, ну а в конце обещанное видео. &lt;br /&gt;&lt;br /&gt; Как создать все более быстрей? Это легко. Точно также создаете обычную текстуру, но уже сразу же куб размером с нашу комнату. Далее переходите ко вкладке Tools (Инструменты), далее в контекстно меню выбираем функцию Сделать Пустотелым (Make Hollow) [Ctrl+H]. Далее высветится небольшое окно, в котором вы должны выбрать, какого размера в юнитах будет толщина текстур. Далее жмете ок. Готово! Если вам нужно будет работать с каждой стеной по отдельности, то нажмите на комнату, нажмите ПКМ, выберите &quot;Ungroup&quot;. Не забывайте про размещение энтити-объектов! &lt;br /&gt;&lt;br /&gt; Видео: &lt;br /&gt;&lt;br /&gt; &lt;div align=&quot;center&quot;&gt;&lt;!--BBvideo--&gt;&lt;span id=&quot;scr14Ye1ySu13&quot;&gt;&lt;/span&gt;&lt;script type=&quot;text/javascript&quot;&gt;_uVideoPlayer({&apos;url&apos;:&apos;http://www.youtube.com/watch?v=2pJ62FJj1UQ&apos;,&apos;width&apos;:&apos;425&apos;,&apos;height&apos;:&apos;355&apos;},&apos;scr14Ye1ySu13&apos;);&lt;/script&gt;&lt;!--/BBvideo--&gt;&lt;/div&gt; &lt;br /&gt; К сожалению, на видео не видно курсора, это несколько осложнит визуальность просмотра, но все же не помешает. В следующих уроках это я учту. &lt;br /&gt; Ну вот и всё. Можете компилировать и проверять карту. Спасибо за просмотр данной статьи. Ждем и смотрим следующих уроков! Удачи.</content:encoded>
			<category>Маппинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/19-33-1</guid>
		</item>
		<item>
			<title>Инструменты для создания Карт</title>
			<link>https://steep.at.ua/forum/19-32-1</link>
			<pubDate>Sat, 18 Apr 2015 23:05:37 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/19&quot;&gt;Маппинг&lt;/a&gt;&lt;br /&gt;Описание темы: В данной статье описано всё необходимое для Маппинга&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: BiZoN&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://steep.at.ua/steep/mapp.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/div&gt;﻿﻿﻿Автор статьи - &lt;span style=&quot;color:#ff0000&quot;&gt;BiZoN&lt;/span&gt; &lt;br /&gt; Приветствую вас, пользователи &lt;span style=&quot;color:#ff0000&quot;&gt;Steep.at.ua&lt;/span&gt; &lt;br /&gt; Приступим. &lt;br /&gt;&lt;br /&gt; В этой теме мне хотелось бы выложить все файлы, которые нужны для картостроения. &lt;br /&gt;&lt;br /&gt; Начнем с главного. С самой программы. Лично я могу предложить две версии, с которыми будет работать удобнее всего, так как они самые новые. &lt;br /&gt;&lt;br /&gt; &lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Valve Hammer Editor v3.5.2 - &lt;a class=&quot;link&quot; href=&quot;http://steep.at.ua/load/drugoe/valve_hammer_editor_unofficial_3_5_2/12-1-0-159&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Скачать&lt;/span&gt;&lt;/a&gt; - более старенькая версия, но на сегодняшний день она считается еще &quot;свежей&quot;.&lt;/span&gt; &lt;br /&gt; &lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Valve Hammer Editor v3.5.3 - &lt;a class=&quot;link&quot; href=&quot;http://steep.at.ua/load/drugoe/valve_hammer_editor_3_5_3/12-1-0-187&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Скачать&lt;/span&gt;&lt;/a&gt; - более новая версия, не надежней предыдущей, зато технологичней.&lt;/span&gt; &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt;&lt;br /&gt; Далее перейдем к компиляторам. У каждого свои предпочтения. Кто-то использует компиляторы от Valve (VHLT), кто-то от Zonner&apos;а (ZHLT), но я советую использовать так называемые компиляторы &quot;китайца&quot; - переделанные от Zonner&apos;а. У каждого свой вкус, но хотелось бы отметить, что у Valve и у Zonner&apos;а они устарели еще в 90-ых годах, так что вывод сам собой напрашивается. &lt;br /&gt;&lt;br /&gt; &lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Valve Half-Life Tools - идут стандартно со старыми версиями программы, поэтому скачав программу, можете сразу подключить.&lt;/span&gt; &lt;br /&gt; &lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Zonner Half-Life Tools -&lt;/span&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/mrIUCw&quot; title=&quot;https://yadi.sk/d/rb-TEJ-Jg5rin&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Скачать&lt;/span&gt;&lt;/a&gt; &lt;br /&gt; &lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;Vluzacn&apos;s ZHLT (v33 от китайца) -&lt;/span&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/m7IUCw&quot; title=&quot;https://yadi.sk/d/GMJ5VYhPg5rk4&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Скачать&lt;/span&gt;&lt;/a&gt; &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt;&lt;br /&gt; Из всех компиляторов советую последний вариант, так как он самый новый, а это значит, что там все детально отработано. На всякий случай, если кому нужна ссылка на оф. топик компилятора от китайца, вот &lt;a class=&quot;link&quot; href=&quot;http://u.to/nbIUCw&quot; title=&quot;http://forums.svencoop.com/showthread.php/41411-Vluzacn-s-ZHLT-v33-Update?p=498122#post498122&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Ссылка&lt;/span&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt; Ну и остались FGD-файлы. Есть два стандартных, которые нужны обязательно. А также два дополнительных: один из них содержит некоторые дополнения к энтити, а также некоторые доработки; второй содержит прекрасный графический интерфейс, который обеспечит вам отличную работу в самом редакторе. &lt;br /&gt;&lt;br /&gt; &lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;FGD-файлы (4) -&lt;/span&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/nLIUCw&quot; title=&quot;https://yadi.sk/d/mo5IRp_dg5rpr&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Скачать&lt;/span&gt;&lt;/a&gt; &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt;&lt;br /&gt; Как их настроить? Для этого прочитайте нашу первую статью в разделе Маппинг. &lt;br /&gt;&lt;br /&gt; На этом всё. В заключении хотелось бы сказать, что раньше не было новых редакторов, компиляторов и фгд-файлов. Мапперам зачастую для достижения лучшего эффекта и реалистичности приходилось во много раз больше проводить работы. Теперь же, когда есть новые технологии, стало много доступно новых функций, так что радуйтесь, что живете в это время! Спасибо за просмотр статьи!</content:encoded>
			<category>Маппинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/19-32-1</guid>
		</item>
		<item>
			<title>Как компилировать плагины</title>
			<link>https://steep.at.ua/forum/11-6-1</link>
			<pubDate>Thu, 08 Jan 2015 10:13:56 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://steep.at.ua/forum/11&quot;&gt;Скриптинг&lt;/a&gt;&lt;br /&gt;Описание темы: В данной статье рассказывается, как компилировать плагины.&lt;br /&gt;Автор темы: 6u3oH&lt;br /&gt;Автор последнего сообщения: BiZoN&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Приветствую вас, &lt;b&gt;пользователи Steep.at.u&lt;/b&gt;a&lt;br /&gt;Ну что ж, многие из вас наверняка пробовали писать плагины или качали другие из интернета, но вы не знаете, как компилировать плагин? Вам несомненно поможет эта статья.&lt;br /&gt;&lt;br /&gt;1. Разберем форматы файлов:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;.sma - исходник плагина, который вы можете редактировать, настраивая его под себя. Его и нужно скомпилировать.&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;.amxx - сам плагин, началом которого служил файл .sma.&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;2. Разберем два способа компиляции.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Компилирование через онлайн-компилятор.&lt;br /&gt;&lt;li&gt;Компилирование через стандартный компилятор.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;Компилирование через онлайн-компилятор&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;﻿&lt;span style=&quot;font-size:10pt;&quot;&gt;Конечно, я не сомневаюсь, что многие из вас пытались компилировать через онлайн-компилятор. Такой как www.compiler.amx-x.ru.&lt;br /&gt;Да, он несомненно хорош. Нужно всего лишь выбрать файл или скопировать код, вставить туда и скомпилировать. Но у такого онлайн-компилятора есть и недостатки.&lt;br /&gt;Во-первых, сайт может и не функционировать, что заставит вас ждать.&lt;br /&gt;Во-вторых, если вы используете какой-либо инклюд, которого нет в списке данного онлайн-компилятора, то плагин не скомпилируется.&lt;br /&gt;Вывод: лучше использовать стандартный компилятор.&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Компилирование через стандартный компилятор&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;Скачать вы его можете здесь: &lt;a class=&quot;link&quot; href=&quot;http://steep.at.ua/load/drugoe/kompiljator_plaginov_amxx/12-1-0-79&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;&lt;u&gt;Компилятор&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Это очень просто. Кидаете ваш .sma-файл в корень компилятора. В папку, где находится compiler.exe. Всё, что нужно, это взять наш .sma-файл и перетащить его на compiler.exe. Смотрим скрин ниже.&lt;br /&gt;&lt;br /&gt;﻿﻿&lt;b&gt;&lt;img src=&quot;http://steep.at.ua/other/comp_amx.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/b&gt;﻿&lt;br /&gt;&lt;br /&gt;﻿&lt;div align=&quot;left&quot;&gt;Не забываем, что если есть инклюд (расширение *.inc), то кидаем его в папку &quot;include&quot;.&lt;br /&gt;﻿На этом всё. Если есть какие-либо ошибки, то компилятор укажет вам на них! Это очень просто. Теперь вы можете спокойно компилировать плагины &lt;b&gt; &lt;img src=&quot;https://steep.at.ua/.s/sm/1/wink.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;wink&quot; /&gt; &lt;/b&gt;&lt;hr /&gt;&lt;b&gt;Спасибо за просмотр данной статьи!&lt;/b&gt;&lt;/div&gt;</content:encoded>
			<category>Скриптинг</category>
			<dc:creator>6u3oH</dc:creator>
			<guid>https://steep.at.ua/forum/11-6-1</guid>
		</item>
	</channel>
</rss>