Сейчас на сайте
Всего онлайн: 1275
23
952
300
Пользователи онлайнВсе (23)
На сайте
только что
Смотрит раздел
1 мин
Смотрит раздел
1 мин
На сайте
4 мин
Смотрит раздел
8 мин
Показать всех онлайн

Плагин Slot Machine

Описание

AMX Mod X плагин для Counter-Strike.

Плагин позволяет размещать на карте слот машины (также известные как однорукие бандиты) и играть в них. Игрок делает ставку и ожидает выпадения выигрышной комбинации символов. Победа засчитывается при заполнении целого ряда или диагонали одинаковыми символами. Присутвует API для добавления собственных призов и вспомогательный инструмент для кастомизации модели игрового автомата.

Команды

  • slot_machine — меню размещения игровых автоматов на карте.

Настройки

Конфигурация плагина хранится в директории addons/amxmodx/configs/slot_machine. В файле _pattern.json содержится матрица 3 на 8 с разметкой символов для барабанов игрового автомата. Символ определяется числом от 0 до 7. Индекс символа совпадает с индексом награды. На данный момент отсутствует возможность изменения размерности матрицы. Пример содержимого файла конфигурации:

[
	[0, 1, 2, 0, 3, 2, 4, 5],
	[1, 0, 2, 4, 0, 2, 3, 5],
	[2, 0, 3, 4, 2, 0, 5, 1]
]

Добавление собственных призов и ставок

Файл исходного кода next21_slot_machine.sma содержит только базовую функциональность плагина без выдачи наград. Призы и ставки должны быть реализованы в отдельном плагине при помощи выделенного для этой цели API:

/**
 * Вызывается, когда клиент выигрывает в игровом автомате
 *
 * @param 	iPlayer			- Индекс клиента
 * @param	iPrize			- Индекс награды
 */
forward client_slot_machine_win(const iPlayer, const iPrize)

/**
 * Вызывается перед активацией игрового автомата клиентом
 *
 * @param 	iPlayer			- Индекс клиента
 * @return					- Использовать PLUGIN_HANDLED при необходимости прервать активацию
 */
forward client_slot_machine_spin(const iPlayer)

В файле addons/amxmodx/scripting/next21_slot_machine_money.sma присутствует пример реализации денежной системы для слот машины:

#include <slotmachine>

// Денежная ставка
#define BET 100

// Денежная награда
new const GAME_PRIZES[] =
{
	200,
	300,
	500,
	800,
	1000,
	10000
}

public client_slot_machine_win(const iPlayer, const iPrize)
{
    new iAddMoney = GAME_PRIZES[iPrize]
    rg_add_account(iPlayer, iAddMoney)
}

public client_slot_machine_spin(const iPlayer)
{
    if (get_member(iPlayer, m_iAccount) < BET)
		return PLUGIN_HANDLED

    rg_add_account(iPlayer, -BET)
    return PLUGIN_CONTINUE
}

Изменение модели игрового автомата
Скрипт slot_machine_texgen.py позволяет относительно быстро сгенерировать текстуру и UV-разметку барабанов по заданным параметрам. Для этого необходимо:
Разместить файл addons/amxmodx/configs/slot_machine/_pattern.json в директорию cfg.
В файле cfg/text.json указать названия ставок и призов, цвета надписей и тени.
Разместить в директорию symbols изображения символов барабанов. Названия файлов должны совпадать с номерами символов (от 0 до 7).
Запустить скрипт при помощи интерпретатора Python 3. В системе должен быть установлен модуль Pillow.
Скомпилировать с помощью studiomdl или любым другим компилятором модель игрового автомата в директори dist.

Качество сгенерированных текстур может быть недостаточно высоким. Для решения данной проблемы предлагается пересохранить полученные изображения с расширением png в любом другом растровом редакторе (например GIMP).

Reapi




Автор публикации:

WiseBear WiseBear

Скачать:

Скачать

Дата:
Автор ресурса:

Psycrow

Пока никто не оставил комментарий — станьте первым.

Добавление комментария

Вы комментируете как гость — создайте аккаунт, чтобы получить аватар и уведомления.

Соблюдайте правила — будьте вежливы.