Научете се да направи плъгини за CS сървъри - грим amxserv - гейминг портал

От този наръчник вие ще научите как да създадете плъгини (плъгини) за Counter-Strike сървър. Ще научите основите на това.
Този плъгин е написана от мода HL - за борба Strike. Обърнете внимание на това.

Нека да започнем да пишем първата си плъгин.

Да започнем с един прост: на съобщенията на дисплея.

Ние излезе с екип, който ще го направи:
amx_ HelloWorld,
amx_ здравей
или дори здравей

Необходимо е, че администраторът може да бъде, когато той иска да въведете нужната команда и ще покаже този надпис:
Здравей, свят,
здравей
или дори "Здравейте всички"

Трябва да сте инсталирали AMXMod и поради това трябва да бъде сървъра, на който стои.
Аз няма да ви обясня как се инсталира и конфигурира AMXMod на сървъра, тъй като тя е много добре описано в документацията за AMXMod'u.

Готов ли си? Е, тогава да започнете!

Всяка добавка трябва да plugin_ първоначален (функция).
Всичко, което се вмъква в дадена функция ще бъде регистрирано в AMX, която той може да използва приставката си:
обществен plugin_init () register_plugin ( "Здравей, свят", "0.1", "viateam.ru")
>

Но това не е достатъчно за нашата цел. Трябва да е отбор, който ще бъде в състояние да използват администратор и за това ние трябва да го регистрирате в plugin_ първоначален (функция). Командите се въвеждат в конзолата на сървъра или от клиента трябва да е в plugin_ първоначален (), така че да можете да се наслаждавате. plugin_ първоначален () е важно за много други причини, които ще се учат от по-късните уроците. Функция plugin_ първоначален () има подобно съобщение до AMXMod, приставката си.

register_clcmd ( "amx_helloworld", "myfunction", ADMIN_VOTE ". отпечатва Здравей, свят".)

Така първоначален функцията plugin_ () изглежда така:
обществен plugin_init () register_plugin ( "Здравей, свят", "0.1", "viateam.ru")
register_clcmd ( "amx_helloworld", "myfunction", ADMIN _VOTE ". казва Здравей, свят".)
>


Дръжте отстъп, т.е. Използвайте "в раздела" или, например, пропуски в функциите на писане. Отворете някой. SMA файл доставя с AMX, и ще разберете какво имам предвид. Това ще опрости събирането и плъгина ще бъде съставен по-ефективно. Точно както това ще улесни изучаването на приставката си към други разработчици. Много по-лесно да се разбере структуриран код, отколкото в публичен дом. Все още има добри причини, но аз няма да навлизам в тях.

Добави данни на линията. Те трябва да присъстват в плъгина:
#include
#include

Ние вече написан доста. Тя трябва да бъде подобна на тази тук:
/ *
Здравей, свят, v0.1
от viateam.ru
* /

обществен plugin_init () register_plugin ( "Здравей, свят", "0.1", "viateam.ru")
register_clcmd ( "amx_helloworld", "myfunction", ADMIN _VOTE ". казва Здравей, свят. до екрана на играта")
>


Без излизане писмено. Кой знае, когато електроенергията се изключва. Опитайте се да се съберат на приставката. Ако има грешки, сега те са по-лесни за намиране. Това значително опростява отстраняване на неизправности. (Как да компилирате плъгин?)

Остава да напише последната функция - предупредително съобщение на екрана. Бяхме резервирали команда, за да бъде изпълнена в съобщението на конзолата показва на екрана също се записва. Сега ние трябва да се създаде функция, която ще направи всичко това:
обществен myfunction (идентификационен номер на ниво, CID), ако (! cmd_access (идентификационен номер на ниво, идентификационен номер 1)) връщане PLUGIN_HANDLED
>
>


Аз няма да нарисува как функцията cmd_access работи (). Мога да кажа само, че той проверява дали клиентът може да използва тази команда.

Id се използва по различни начини. В cmd_ достъп () с номер се проверява нивото на достъпа на този потребител течаща, и никой друг. Надявам се, че това е разбираемо.

Следващият ред код:
client_print (0, print_center, "Здравей, свят".)


Това е линията на код, който е отговорен за печат от съобщението за клиент. slient_ печат е името на една функция, която използва три параметъра (може да отнеме по-дълго, но това в други класове). Първият параметър (0) е отговорен за които ще бъдат показани на командата. Ако сложите идентификационния номер на играча, съобщението ще се появи на него и на вас. В този случай ще бъдат получени за всички присъстващи на сървъра (жив или мъртъв). Т.е. когато трябва да се направи с всички нещо или да знаят всички, че е необходимо да се използва 0. Вторият параметър определя къде да се покаже съобщението. Можете да поставите съобщение в полето за чат - print_ чата или print_ уведомяват - показва само в конзолата. И третият вариант - на самото съобщение. Фактът, че в рамките на кавичките е посланието, което ще бъде отпечатано на екрана. Не си губете кавички.

Ние почти написал първата ни плъгин. Остава само да добавите следния ред в функцията
myfunction (): връщане PLUGIN_HANDLED

Това е важна линия. Невъзможно е да се загубят. Не забравяйте, че това е последното нещо, което трябва да добавите всичките си функции, които се позовават на команди, въвеждани в конзолата на сървъра или на клиент конзолата. Ако не го направите, ще AMX не знам какво се изпълнява командата, съобщение ще се появи на екрана, както и следната грешка се появява в конзолата:
Неизвестна команда: amx_helloworld


Ето защо, винаги в крайна връщане PLUGIN_HANDLED функция.

Всички наши плъгин изглежда така:
/ *
Здравей, свят, v0.1
от viateam.ru
* /

обществен myfunction (идентификационен номер на ниво, CID), ако (! cmd_access (идентификационен номер на ниво, идентификационен номер 1)) връщане PLUGIN_HANDLED
>

обществен plugin_init () register_plugin ( "Здравей, свят", "0.1", "viateam.ru")
register_clcmd ( "amx_helloworld", "myfunction", ADMIN _VOTE ". отпечатва Здравей, свят. за всеки")


Всички щепсела е готова. Съставете го и се уверете, че няма грешки при компилация.
Ако по време на компилация получите съобщението
предупреждение 217: хлабав отстъп

отидете на определен ред и се уверете, че ще се задълбочи ( "в раздела" - си спомня ...) е една и съща навсякъде във вашия плъгин.

Сега myplugin.amx да поставите файла в папката плъгини и да се регистрирате приставката довереник / plugins.ini. Не забравяйте да рестартирате сървъра.

Сега можете да отидете на играта и да се монтира amx_helloworld и се уверете, че всичко, което се появява, както би трябвало.
Уверете се, че когато въведете описанието на командния amx_help е в съответствие с това, което сме свикнали.
Ако щепселът не работи, напишете AMX плъгини и се уверете, че приставката е зареден в конзолата на сървъра.
Може би сте забравили да се регистрирате администратор.


Благодарим Ви, че ме изслушахте