Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
Иконка ресурса

[Spolzer] SampSync - Синхронизация форума с вашим samp сервером 1.2.0

Версия XenForo
  1. 2.2
  2. 2.3
Плагин предоставляет возможность выдачи групп пользователя по уровню admin на сервере samp.


Требования:
В вашем моде должна быть подключена a_mysql (#include <a_mysql>)

Как установить:
В ваш samp мод необходимо добавить команду, которая генерирует коды для xenforo:
Pawn:
#define LINK_CODE_TTL        (300)
#define LINK_CLEANUP_PERIOD  (60)

forward LinkCodesCleanup();
public LinkCodesCleanup()
{
    mysql_tquery(mysql, "DELETE FROM `link_codes` WHERE `expires_at` < UNIX_TIMESTAMP() OR `status`='used'");
    return 1;
}

stock InitLinkCodes()
{
    SetTimer("LinkCodesCleanup", LINK_CLEANUP_PERIOD * 1000, true);
    return 1;
}


CMD:link(playerid, params[])
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));

    new code[7];
    static const chars[] = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
    for (new i = 0; i < 6; i++) code[i] = chars[random(sizeof(chars) - 1)];
    code[6] = '\0';

    new query[512];
    mysql_format(mysql, query, sizeof(query),
        "INSERT INTO `link_codes` (`samp_nick`,`code`,`status`,`expires_at`) VALUES ('%e','%e','pending',UNIX_TIMESTAMP()+%d) ON DUPLICATE KEY UPDATE `code`=VALUES(`code`),`status`='pending',`expires_at`=VALUES(`expires_at`),`xf_user_id`=NULL",
        name, code, LINK_CODE_TTL
    );
    mysql_tquery(mysql, query);

    new msg[144];
    format(msg, sizeof(msg), "Код привязки: %s (действует %d сек). Введи его на форуме в настройках аккаунта", code, LINK_CODE_TTL);
    SendClientMessage(playerid, 0x55FF55FF, msg);

    return 1;
}
В вашей базе данных SAMP нужно выполнить запрос для создания таблицы кодов:
SQL:
CREATE TABLE `link_codes` (
  `samp_nick` VARCHAR(24) NOT NULL,
  `code` VARCHAR(6) NOT NULL,
  `status` ENUM('pending','used') NOT NULL DEFAULT 'pending',
  `xf_user_id` INT NULL,
  `expires_at` INT NOT NULL,
  PRIMARY KEY (`samp_nick`)
);

После всего этого:
1. указать данные для подключения в настройках плагина
2. Указать конфигурацию в admin.php?sampsync/config (таблица аккаунтов, никнеймы, админ уровни)
3. Ввести в группы пользователей указать уровни администратора для выдачи группыв

Плагин настроен внутренне на link_codes поэтому смена sql запроса приведет к поломке плагина.

Привязка осуществляется в /samp-link

Синхронизация по уровню админа теперь происходит не по всем пользователям, а только тем у кого привязан аккаунт SAMP
  • Love
Реакции: krelix
Нет прав для скачивания
Автор
Spolzer
Скачивания
0
Просмотры
89
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Spolzer

Последние обновления

  1. Привязка аккаунта

    Добавлена привязка игрового аккаунта SAMP через систему кодов Исправлены все внешние и...
Сверху