Данный скрипт был специально разработан для администраторов серверов, которые хотят поощрять своих игроков за голосование за них на mctop.su.
Для того чтобы настроить данный скрипт вам понадобится настроить для начала твой профиль на MC Top. Для этого войти в контрольную панель своего сервера в топе и укажи в разделе "Данные" секретное слово и путь к данном скрипту.
Далее нам понадобится настроить сам скрипт. Все настройки хранятся в массиве $config. Его структура фиксированная и не может подвергаться изменениям со стороны человека слабо понимающего принцип работы скрипта.
Массив состоит из:
Название | Функционал |
---|---|
db | Настройки базы данных |
security-code | Секретное слово из панели управления |
jobs | Задачи для выполнения |
Как ты заметил - есть некое поле "jobs" в котором указываются задачи для выполнения. Иными словами - можно делать при голосовании несколько действий сразу. Например, добавить денег игроку и добавить в какую-то табличку запись о голосовании.
Для начала рассмотрим настройки задач:
Jobs
Название | Функционал | Формат | Значение по-умолчанию |
---|---|---|---|
active | Включает выполнение данной задачи | boolean | true |
stable-name | Название таблички которую правим | string | iConomy |
type | Тип задачи (расшифровка в табличке ниже). | int | 0 |
advanced | Использовать ли ручное указание всех полей для изменения при type=4 | boolean | false |
fields | Массив полей для изменения при включенном режиме "advanced". {player} в значении поля будет заменено на имя игрока который проголосовал. | array | array('username' => '{player}','item' => '1','item-count' => 64) |
change-column | Поле которое изменяем при всех случаях в режиме advanced=false | string | balance |
user-column | Поле в котором ищется игрок при всех случаях в режиме advanced=false | string | balance |
default | Стандартное значение поля "change-column" если поиск по "user-column" не дал результатов | int | 30 |
change | Сколько добавлять к "change-column". Например, пополнение счета на 500 рублей будет происходить если тут указать 500 | string/int | 1 |
Type
Значение | Функционал |
---|---|
0 | Попытка добавления "change" к значению "change-column". Если юзер не найден в базе - ничего не делаем. |
1 | Попытка добавления "change" к значению "change-column". Если юзер не найден в базе - добавляем новую запись с значением "default" + "change". |
2 | Выставления значения поля "change-column" на "change". Если юзер не найден в базе - ничего не делаем. |
3 | Выставления значения поля "change-column" на "change". Если юзер не найден в базе - добавляем новую запись. |
4 | Вставка новой записи |
Рассмотрим несколько вариантов ситуаций.
[1] Добавление денег в табличку iConomy.
array(
'active' => true,
'table-name' => 'iConomy',
'type' => 0,
'change-column' => 'balance',
'user-column' => 'username',
'change' => 1
)
[2] Добавление денег в табличку iConomy. Если игрок не найден - создаем новую запись.
array(
'active' => true,
'table-name' => 'iConomy',
'type' => 1,
'change-column' => 'balance',
'user-column' => 'username',
'default' => 30,
'change' => 1
)
[3] Выставление значения поля group в значение "voted" в табличке "users-groups"
array(
'active' => true,
'table-name' => 'users-groups',
'type' => 2,
'change-column' => 'group',
'user-column' => 'username',
'change' => 'voted'
)
[4] Выставление значения поля group в значение "voted" в табличке "users-groups" или добавление если юзер не найден.
array(
'active' => true,
'table-name' => 'users-groups',
'type' => 3,
'change-column' => 'group',
'user-column' => 'username',
'change' => 'voted'
)
[5] Добавление в таблицу "votes" запись о голосовании. Обычный режим. В поле "portal" вписываем заначение "mctop"
array(
'active' => true,
'table-name' => 'votes',
'type' => 4,
'change-column' => 'portal',
'user-column' => 'username',
'change' => 'mctop'
)
[6] Добавление в таблицу "votes" запись о голосовании. Расширенный режим. Добавление записи для выдачи предметов (плагин отдельно ищи).
array(
'active' => true,
'table-name' => 'items',
'type' => 4,
'advanced' => true,
'fields' => array(
'username' => '{player}',
'item' => '1',
'item-count' => 64
),
)
При голосовании выполняем действия 1, 3 и 6 из выше указанного списка.
$config = array(
'db' => array(
'driver' => 'mysql',
'host' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'minecraft',
),
'security-code' => '',
'jobs' => array(
array(
'active' => true,
'table-name' => 'iConomy',
'type' => 0,
'change-column' => 'balance',
'user-column' => 'username',
'change' => 1
),
array(
'active' => true,
'table-name' => 'users-groups',
'type' => 3,
'change-column' => 'group',
'user-column' => 'username',
'change' => 'voted'
),
array(
'active' => true,
'table-name' => 'items',
'type' => 4,
'advanced' => true,
'fields' => array(
'username' => '{player}',
'item' => '1',
'item-count' => 64
)
)
)
Поддержка скрипта осуществляется на портале MC Talk - http://mctalk.org/topic/11-mctop-php-bonusi-prodvinutoe-reshenie/