GithubHelp home page GithubHelp logo

minecraft-ratings-awards-php's Introduction

Скрипт для получения бонуса за голосование на MC TOP.

Описание

Данный скрипт был специально разработан для администраторов серверов, которые хотят поощрять своих игроков за голосование за них на mctop.su.

Настройка

Для того чтобы настроить данный скрипт вам понадобится настроить для начала твой профиль на MC Top. Для этого войти в контрольную панель своего сервера в топе и укажи в разделе "Данные" секретное слово и путь к данном скрипту.

Далее нам понадобится настроить сам скрипт. Все настройки хранятся в массиве $config. Его структура фиксированная и не может подвергаться изменениям со стороны человека слабо понимающего принцип работы скрипта.

Массив состоит из:

НазваниеФункционал
dbНастройки базы данных
security-codeСекретное слово из панели управления
jobsЗадачи для выполнения

Как ты заметил - есть некое поле "jobs" в котором указываются задачи для выполнения. Иными словами - можно делать при голосовании несколько действий сразу. Например, добавить денег игроку и добавить в какую-то табличку запись о голосовании.

Настройка jobs

Для начала рассмотрим настройки задач:

Jobs

НазваниеФункционалФорматЗначение по-умолчанию
activeВключает выполнение данной задачиbooleantrue
stable-nameНазвание таблички которую правимstringiConomy
typeТип задачи (расшифровка в табличке ниже).int0
advancedИспользовать ли ручное указание всех полей для изменения при type=4booleanfalse
fieldsМассив полей для изменения при включенном режиме "advanced". {player} в значении поля будет заменено на имя игрока который проголосовал.arrayarray('username' => '{player}','item' => '1','item-count' => 64)
change-columnПоле которое изменяем при всех случаях в режиме advanced=falsestringbalance
user-columnПоле в котором ищется игрок при всех случаях в режиме advanced=falsestringbalance
defaultСтандартное значение поля "change-column" если поиск по "user-column" не дал результатовint30
changeСколько добавлять к "change-column". Например, пополнение счета на 500 рублей будет происходить если тут указать 500string/int1

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

Поддержка скрипта осуществляется на портале MC Talk - http://mctalk.org/topic/11-mctop-php-bonusi-prodvinutoe-reshenie/

minecraft-ratings-awards-php's People

Contributors

alex-bond avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.