Русское сообщество по скриптингу

Режимы Deathrun / Deathrun Modes

Новые плагины для AMX Mod X, которые были добавлены в базу плагинов нашего форума. Плагины еще не утвеждены администратором/модератором.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".

Правила при добавлении новых плагинов:

1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).

Режимы Deathrun / Deathrun Modes

Сообщение пекарь1337 » 26 июл 2014, 00:19

Авторы: Erasus
Версия: 1.0

Описание:
Система режимов для Deathrun сервера. Это не готовые режимы, а только система для их создания и систематизации. Если режим не будет выбран в течение 30 сек., то он будет автоматически выбран на кнопки и меню будет закрыто у всех террористов.

Используемые модули:
Cstrike
Fakemeta


Чтобы добавить новый режим, необходимо подключить плагин. Есть 2 способа.

А) Создать инклуд, в котором должны быть строки:
[pawn]
  1. forward deathrun_item_selected(id, item)

  2. native deathrun_register_mode(const name[], rounds_limit)
[/pawn]
И затем подключить данный инклуд:
[pawn]
  1. #include <название_вашего_инклуда>
[/pawn]

Б) В начале каждого плагина, который будет режимом, дописывать те же строки. Пример:
[pawn]
  1. #include <amxmodx>

  2.  

  3. forward deathrun_item_selected(id, item)

  4. native deathrun_register_mode(const name[], rounds_limit)

  5.  

  6. public plugin_init()  // И так далее
[/pawn]

Теперь подробнее о функциях.

[pawn]
  1. deathrun_register_mode(const name[], rounds_limit)
[/pawn]
Функция регистрирует режим и возвращает его ID.
Аргументы:
cost name[] - название режима
rounds_limit - ограничение по раундам на этот режим (если не нужно, ставьте 0)

Пример использования:
[pawn]
  1. new g_Mode

  2.  

  3. public plugin_init()

  4.         g_Mode = deathrun_register_mode("Ваше название",  0)
[/pawn]
В этом случае режим зарегистрируется и переменная будет хранить его ID.

[pawn]
  1. deathrun_item_selected(id, item)
[/pawn]
Этот форвард вызывается каждый раз, когда игрок выбирает пункт в меню (если пункт недоступен, то не вызывается).
Аргументы:
id - ID игрока, выбравшего режим.
item - ID режима, который выбрал игрок.

Пример использования:
[pawn]
  1. public deathrun_item_selected(id, item)

  2. {

  3. // Code

  4. }
[/pawn]

Чтобы задать действие режиму надо сравнить ID зарегистрированного в плагине режима и выбранного игроком режима:
[pawn]
  1. public plugin_init() {

  2.         g_Mode = deathrun_register_mode("Тест",  2)

  3. }

  4.  

  5. public deathrun_item_selected(id, item)

  6. {

  7.         if(item == g_Mode)

  8.         {

  9.                 // Code

  10.         }

  11. }
[/pawn]

Полный пример режима:
[pawn]
  1. /* Plugin generated by AMXX-Studio */

  2.  

  3. #include <amxmodx>

  4. #include <amxmisc>

  5. #include <deathrun>

  6.  

  7. #define PLUGIN "New Plug-In"

  8. #define VERSION "1.0"

  9. #define AUTHOR "author"

  10.  

  11. new g_Mode

  12.  

  13. public plugin_init() {

  14.         register_plugin(PLUGIN, VERSION, AUTHOR)

  15.         g_Mode = deathrun_register_mode("Test mode",  0)

  16. }

  17.  

  18. public deathrun_item_selected(id, item)

  19. {

  20.         if(item == g_Mode)

  21.         {

  22.                 client_print(id, print_chat, "You selected it, body! :)")

  23.         }

  24. }

  25.  
[/pawn]
ВНИМАНИЕ! Пока плагин поддерживает до 9 режимов включительно (одна страница). Далее будут ошибки.
Также используется ColorChat из AMX MOD X 1.8.3. При использовании другой версии замените функции client_print_color на ваши.
✓ JBX [100%/100%] : 46.174.52.19:27227
X ZMX [0%/100%] : ???
Аватара пользователя
пекарь1337
 
Сообщения: 236
Зарегистрирован: 29 окт 2013, 21:55
Откуда: NVIDIA
Благодарил (а): 110 раз.
Поблагодарили: 52 раз.
Опыт программирования: Больше трех лет
Языки программирования: Python
C/C++
Assembler
Pawn

Re: Режимы Deathrun / Deathrun Modes

Сообщение BlackSmoke » 26 июл 2014, 10:00

Заказы принимаю Отзывы о работе
itsblacksmoke
Аватара пользователя
BlackSmoke
 
Сообщения: 1109
Зарегистрирован: 28 июл 2012, 04:33
Откуда: Ukraine
Благодарил (а): 106 раз.
Поблагодарили: 287 раз.
Опыт программирования: Около года
Языки программирования: Counter Strike 1.6

Re: Режимы Deathrun / Deathrun Modes

Сообщение пекарь1337 » 26 июл 2014, 10:54

Блин, как обычно, велосипед( Сорри. Удалите тему.

Добавлено спустя 12 минут 29 секунд:
Если б знал, ваш юзал. Не заметил тему, извините.
✓ JBX [100%/100%] : 46.174.52.19:27227
X ZMX [0%/100%] : ???
Аватара пользователя
пекарь1337
 
Сообщения: 236
Зарегистрирован: 29 окт 2013, 21:55
Откуда: NVIDIA
Благодарил (а): 110 раз.
Поблагодарили: 52 раз.
Опыт программирования: Больше трех лет
Языки программирования: Python
C/C++
Assembler
Pawn


Вернуться в Добавленные новые плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4