<?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>Персональный сайт</title>
		<link>http://the-cs.3dn.ru/</link>
		<description>Форум</description>
		<lastBuildDate>Thu, 01 Jul 2010 08:16:46 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://the-cs.3dn.ru/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Создание своих плагинов для amxx</title>
			<link>https://the-cs.3dn.ru/forum/67-267-1</link>
			<pubDate>Thu, 01 Jul 2010 08:16:46 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://the-cs.3dn.ru/forum/67&quot;&gt;Плагины&lt;/a&gt;&lt;br /&gt;Автор темы: z1M&lt;br /&gt;Автор последнего сообщения: z1M&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Писать плагины на языке Small достаточно легко, и после нескольких уроков, вероятно, вы сможете написать свой собственный плагин к AMX. Поэтому, думаю, я не должен писать излишне многое до тех пор пока вы сами не начнёте самостоятельно думать как же написать плагин (код). &lt;p&gt; Конечно, если вы писали раньше программы, это сильно поможет. Но я думаю язык Small – хорошее начало для новичка. Я надеюсь, вы имеете некоторые ключевые понятия в языках программирования. Если не понимаете что такое переменные и функции, то вы должны пойти и найти информацию по этим вопросам. Я не буду вам этого объяснять. Однако не пугайтесь. Я думаю, из моих уроков вы сможете понять, что к чему. &lt;p&gt; Я писал этот плагин под мод HL - Counter- Strike. Так что примите это к сведению. Но, думаю, всё сказанное здесь будет полезным для написания скриптов к другим модам HL. &lt;br /&gt; 030613 &lt;br /&gt; Урок 1 &lt;br /&gt; Ваш первый плагин &lt;br /&gt; ***************** &lt;p&gt; Давайте начнем с простого: вывод сообщений на экран. Придумаем команду, которая это будет делать: amx_ helloworld, amx_ hello или даже hello. Надо что бы админ смог, когда захочет, вписать соответствующую команду и на экран выводилось соответствующая надпись: hello world, hello или даже &quot; Privet, 4 itaki&quot;( ). &lt;p&gt; Прежде чем начать я хочу сказать несколько слов о том, что нужно для написания скриптов: &lt;br /&gt; Вам нужен редактор текста. Блокнот ( notepad) – это хорошо, но worldpad лучше. Когда вы освоитесь можно переходить на более удобные редакторы. Мы доберёмся до них в более поздних уроках. &lt;br /&gt; У вас должен быть установлен AMXMod и соответственно должен быть сервер на котором он стоит. Я не буду объяснять вам как устанавливать и настраивать AMXMod на сервере, так как это очень хорошо описано в документации к AMXMod&apos;у. &lt;br /&gt; Проверьте наличие файла sc.exe и sc. bat, они идут вместе с AMXMod. &lt;p&gt; Всё проверили? Поехали! &lt;p&gt; Создайте новый файл и назовите его helloworld. sma. Начинаем с секции &quot;комментарий&quot;, в самом начале файла helloworld. sma. Секция комментарий – часть кода, не являясь кодом. �*то всего на всего комментарий. Обычно здесь указывают название плагина, его версию. Позже можно более детально описать работу вашего плагина, его установку и т.д. Но пока начнём с малого:/* &lt;br /&gt; Hello world, v0.1 &lt;br /&gt; By JGHG &lt;br /&gt; */ &lt;p&gt; Я всегда начинаю нумерацию версии плагина с 0.1. На самом деле не имеет значения с какой версии начать, но не начинайте с версии 1.0. Всегда нано начинать с меньшей версии. А когда вы пойметё, что ваш плагин уже готов к финалу, тогда вам и карты в руки. Так или иначе это всего на всего комментарий. Тут вы можете расписать весь ваш день, по минутам, как дневник. �*то не будет критично, т.к. компилятор не будет читать эти строки. Но наличие названия плагина, версии и автора логично поместить здесь. &lt;p&gt; Любой плагин должен иметь функцию plugin_ init(). Всё то, что вставлено в эту данную функцию будет регистрироваться в AMX, что бы он мог использовать ваш плагин:public plugin_init() { &lt;br /&gt; register_plugin(&quot;Hello world&quot;,&quot;0.1&quot;,&quot;jghg&quot;) &lt;br /&gt; } &lt;p&gt; �*то сделает ваш плагин зарегистрированным. plugin_ init() берёт три параметра из плагина: это его название ( Hello world), его версию (0.1) и автора ( jghg). Старайтесь не терять кавычек, иначе работать не будет. &lt;p&gt; Но этого не достаточно, для нашей цели. Должна быть команда которую админ сможет использовать и для этого мы должны её зарегистрировать в plugin_ init() функции. Команды, которые вводятся в консоле сервера или от клиента должны быть в нутрии plugin_ init() для того, что бы ею могли пользоваться. plugin_ init() важен по многим другим причинам, о которых вы узнаете из более поздних уроках. Функция plugin_ init() это как сообщение для AMXMod, что существкет ваш плагин, и в случае чего (введение команды) юзать его.register_clcmd(&quot;amx_helloworld&quot;,&quot;myfunction &quot;,A DMIN_VOTE,&quot; : prints Hello world!!! to everyone&quot;) &lt;p&gt; Допишите данную строку в секцию функции plugin_ init(). С помощью этой строки мы регистрируем команду, которую будем в последствии использовать. Первый параметр в кавычках - это команда, которую мы будет вбивать в консоле. Следующий параметр в кавычках – это функция в нашем плагине, когда команда будет введена будет выполнена данная функция. �*ту функцию мы напишем позже. На самом деле назвать можно как угодно. Название не должно быть очень большим, тогда данное название не подходит ( ). Назвал её так для простоты и непринужденности прочтения текста. Следующий параметр – уровень доступа. Т.е. кто на сервере имеет права для выполнения данной команды. В данном случае админ ( ADMIN _ VOTE ). Зачем простым игрокам разводить флуд ( ). Но можно сделать доступ всем: надо указать 0 вместо ADMIN _ VOTE. Замете кавычек нет! Таким образом командой могут пользоваться админы с уровнем доступа к голосованию ( vote). И последний параметр – это комментарий. Он будет отображен когда вы введёте amx_ help. НЕ ТЕ�*ЯЙТЕ КАВЫЧЕК!!! &lt;p&gt; Таким образом функция plugin_ init() выглядит так:public plugin_init() { &lt;br /&gt; register_plugin(&quot;Hello world&quot;,&quot;0.1&quot;,&quot;jghg&quot;) &lt;br /&gt; register_clcmd(&quot;amx_helloworld&quot;,&quot;myfunction&quot;,ADMIN _VOTE,&quot; : says Hello world!!! to game screen&quot;) &lt;p&gt; } &lt;p&gt; Держите отступы, т.е. используйте &quot; tab&quot; или, к примеру, пробелы в написании функций. Откройте любой . sma файл, поставляемый вместе с AMX, и вы поймёте, о чем я говорю. �*то упростит компиляцию и плагин будет откомпилирован более качественно. Так же это упростит изучение вашего плагина других разработчиков. Куда проще разбираться в структурированном коде, чем в бардаке . Есть ещё серьёзные основания, но сейчас я не буду в них вдаваться. &lt;p&gt; Добавьте данные строки. Они должны обязательно присутствовать в плагине:#include &lt;br /&gt; #include &lt;p&gt; Данные строки помещаются сразу после комментариев и перед plugin_ init() функцией. Некоторый (это не про меня) помещают plugin_ init() как последняя функция плагина. Но, по крайней мере, я всегда могу быстро найти свою функцию и думаю так удобнее делать. &lt;p&gt; Мы уже довольно много написали. Должно быть, похоже вот на это:/* &lt;br /&gt; Hello world, v0.1 &lt;br /&gt; By JGHG &lt;br /&gt; */ &lt;p&gt; #include &lt;br /&gt; #include &lt;p&gt; public plugin_init() { &lt;br /&gt; register_plugin(&quot;Hello world&quot;,&quot;0.1&quot;,&quot;jghg&quot;) &lt;br /&gt; register_clcmd(&quot;amx_helloworld&quot;,&quot;myfunction&quot;,ADMIN _VOTE,&quot; : says Hello world!!! to game screen&quot;) &lt;p&gt; }</content:encoded>
			<category>Плагины</category>
			<dc:creator>z1M</dc:creator>
			<guid>https://the-cs.3dn.ru/forum/67-267-1</guid>
		</item>
		<item>
			<title>Установка плагинов</title>
			<link>https://the-cs.3dn.ru/forum/67-266-1</link>
			<pubDate>Thu, 01 Jul 2010 08:16:20 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://the-cs.3dn.ru/forum/67&quot;&gt;Плагины&lt;/a&gt;&lt;br /&gt;Автор темы: z1M&lt;br /&gt;Автор последнего сообщения: z1M&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Установка: &lt;p&gt; У нас есть плагин, например antiflood.amxx и мы хотим его установить себе на сервер &lt;p&gt; 1) Копируем файл antiflood.amxx в папку &lt;p&gt; &amp;#92;addons&amp;#92;amxmodx&amp;#92;plugins&amp;#92; &lt;br /&gt; 2) Открываем файл plugins.ini, находится он тут &lt;p&gt; &amp;#92;addons&amp;#92;amxmodx&amp;#92;configs&amp;#92; &lt;p&gt; и в конец файла вписываем antiflood.amxx , сохраняем и закрываем файл. &lt;br /&gt; 3) Перезапускаем сервер или меняем карту на сервере (Если он запущен) &lt;br /&gt; На этом установка закончена.</content:encoded>
			<category>Плагины</category>
			<dc:creator>z1M</dc:creator>
			<guid>https://the-cs.3dn.ru/forum/67-266-1</guid>
		</item>
		<item>
			<title>Плагины для CS 1.6 что это??</title>
			<link>https://the-cs.3dn.ru/forum/67-265-1</link>
			<pubDate>Thu, 01 Jul 2010 08:16:01 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://the-cs.3dn.ru/forum/67&quot;&gt;Плагины&lt;/a&gt;&lt;br /&gt;Автор темы: z1M&lt;br /&gt;Автор последнего сообщения: z1M&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Плагины для CS 1.6 &lt;br /&gt; Плагины Counter-Strike &lt;br /&gt; &quot;Плагин&quot; - это программа, работающая на основе AMX, которая позволяет внести в игру какие-либо изменения. Все плагины имеют разширение .amxx. Например, с помощью плагинов можно поменять физику игры. В настоящий момент существует множество плагинов для Counter-Strike 1.6, в этой статье мы рассмотрим несколько типов плагинов, а также для чего они нужны. &lt;p&gt; Плагины CS модов &lt;br /&gt; Существует отдельный тип плагинов, которые написаны специально к какому-либо моду. Для всех наиболее популярных модов есть свои плагины, например, для CSDM, eXtreeme Jumps и Zombie mod. Плагины для мода CSDM включают в себя такие функции, как возможность выбора оружия сразу после появления в любой точке карты, а также появление на точке респауна сразу после смерти, то есть не нужно ждать, пока кончится раунд. Плагины eXtreeme Jumps выводят на экран скорость полета и дальность прыжка. А плагины Zombie mod существенно меняют физику игры тем, что перестает быть существенным разделение игроков на Террористов и Контр-Террористов, теперь в игре игроки делятся на две команды - люди и зомби. В добавок ко всему в Zombie mod есть плагин, который убирает свет с карты. &lt;p&gt; Плагины статистики CS &lt;br /&gt; К такому типу плагинов относится плагин StatsMe. Возможно, Вы его уже видели, когда играли на нашем паблик-сервере. Это плагин показывает, сколько урона Вы нанесли тому или иному противнику, а также показывает, кто набрал наибольшее количество фрагов и кто нанес наибольший суммарный урон в раунде. Плагин StatsMe записывает специальные логи (файлы с данными), которые позже могут быть использованы другой программой, не зависящей от Counter-Strike - PsychoStats. Это программа статистики, она на основе логов составляет рейтинг игроков сервера. &lt;p&gt; Остальные плагины для серверов CS 1.6 &lt;br /&gt; Это плагины, которые написаны, чтобы сделать процесс игры более комфортным. Например, если на Вашем сервере постоянно куча кемперов, то Вы можете установить плагин AntiCamper, который будет отнимать у игрока определенное количество HP каждые 10 секунд простоя. Также если Вам надоели тимкиллеры, то есть замечательный плагин ATAC, который позволяет выбрать определенное действие, которое будет применено к тому, кто Вас убил. Вы сможете простить его, убить, сжечь, оставить ему 1 HP, лишить зрения и еще много подобных действий. Также существует набор достаточно бесполезных плагинов, которые лишь делают игру более зрелищной - это, например, плагин blood, который добавляет больше крови. Также есть плагины на более зрелищный взрыв гранат и бомбы, на стрельбу рокетами, на метание ножей и еще множество различных функций. И это далеко не все, если Вам интересен тот или иной плагин - поищите его в Интернете, целью данной статить было лишь ознакомление с ними.</content:encoded>
			<category>Плагины</category>
			<dc:creator>z1M</dc:creator>
			<guid>https://the-cs.3dn.ru/forum/67-265-1</guid>
		</item>
	</channel>
</rss>