[от DaRk_StyLe] Урок 1: Въведение в AMX Mod X скриптирането

В този раздел можете да намерите полезни кодове и уроци свързани с PAWN скриптинга.
Аватар
DaRk_StyLe
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 264
Регистриран на: 26 Окт 2016, 12:40
Се отблагодари: 11 пъти
Получена благодарност: 33 пъти

[от DaRk_StyLe] Урок 1: Въведение в AMX Mod X скриптирането

Мнение от DaRk_StyLe » 06 Окт 2016, 19:19

Първото нещо, което ще видите след отваряне на един AMX Mod X плъгин е следния ред:

Код за потвърждение: Избери целия код

#include <amxmodx>  
Този ред добавя най-главната библиотека, именно amxmodx. Разбира се, може да има и други добавени (инклуднати) модули или библиотеки. Те ни предоставят възможността да използваме различни нативи в скриптирането.

Един плъгин може да има четири главни вида функции.
Първият е public (публична) - публично видима за AMX Mod X енджина.
Вторият вид функция е така наречената native функция, която е декларирана в модул или AMX Mod X ядрото.
Третия е нормална (обикновена) функция, която се декларира без атрибути пред името й.
Четвъртия е forward, която се извиква при определени събития, по същност се пада публична.

Нека започнем писането на нашия първия плъгин. Нека да направим, така че след изпълнение на команда да получаваме кръв. За целта ще ни е нужен нативът set_user_health(id), който се съдържа във fun модулът, тоест трябва да го include-нем.

Код за потвърждение: Избери целия код

#include <fun>  
До сега кодът ни трябва да изглежда по следния начин:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>  
Преди да продължим нататък искам да отбележа едно важно нещо. При добавяне на модули/библиотеки, библиотеката amxmodx винаги е първа!

Регистрацията на плъгина не е задължителна, но е препоръчителна. Тя става посредством публичната plugin_init(), която не приема никакъв параметър. Регистрацията става чрез нативът register_plugin("име на плъгина", "версия", "автор"). Нека регистрираме плъгин с име Health, версия 1.0 и автор Dark_Style. До сега кодът ни трябва да изглежда така:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>

public plugin_init()
{
    register_plugin("Health", "1.0", "Dark_Style")
Нека регистрираме командата, която ще ни дава кръв. Това става, чрез нативът register_clcmd(). Той приема четири параметъра, от които два са задължителни.
- Командата.
- Функция.
- Флаг за достъп.
- Кратко описание.

Разбира се, задължителните са командата и функцията. Нека регистрираме командата "hp" с функция "give_health". Функциите ги кръщавате, както искате. До сега кодът ни трябва да изглежда така:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>

public plugin_init()
{
    register_plugin("Health", "1.0", "Dark_Style")
    
    register_clcmd("say /hp", "give_health")
Както виждате в началото на публичната "plugin_init()" има отваряща скоба "{", която обозначава началото на функцията, а "}" слага краят на функцията. Сега нека затворим публичната:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>

public plugin_init()
{
    register_plugin("Health", "1.0", "Dark_Style")
    
    register_clcmd("say /hp", "give_health")
}
Идва ред на вкарването на "give_health" функцията в действие. Това ще стане, когато я направим публична и сложим за параметър id (индекс). Индексът на играча приема за стойност от 1 до 32, като 0 е за всички играчи.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>

public plugin_init()
{
    register_plugin("Health", "1.0", "Dark_Style")
    
    register_clcmd("say /hp", "give_health")
}

public give_health(id)
{
Сега, за да прибавим кръв ще използваме още един натив, който взема сегашната кръв на играча. Без него с помощта на set_user_health(id) нативът задаваме точна стойност, а не прибавяме. Нативът за вземане на стойността на кръвта е get_user_health(id). Нека вземем сегашната кръв на играча и прибавим 20, след което затворим функцията.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>

public plugin_init()
{
    register_plugin("Health", "1.0", "Dark_Style")
    
    register_clcmd("say /hp", "give_health")
}

public give_health(id)
{
    set_user_health(id, get_user_health(id) + 20)
}
Освен, че можем да прибавим кръв ние можем да извадим, умножим и разделим, което става, чрез математическите знаци.

"+" - Събиране.
"-" - Изваждане.
"*" - Умножение.
"/" - Деление.

Нашият плъгин е готов. Краен резултат:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>

public plugin_init()
{
    register_plugin("Health", "1.0", "Dark_Style")
    
    register_clcmd("say /hp", "give_health")
}

public give_health(id)
{
    set_user_health(id, get_user_health(id) + 20)
}

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Полезни кодове/уроци”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта