- Версия XenForo
- 2.2
- 2.3
Плагин предоставляет возможность выдачи групп пользователя по уровню admin на сервере samp.
Требования:
В вашем моде должна быть подключена a_mysql (#include <a_mysql>)
Как установить:
В ваш samp мод необходимо добавить команду, которая генерирует коды для xenforo:
В вашей базе данных SAMP нужно выполнить запрос для создания таблицы кодов:
После всего этого:
1. указать данные для подключения в настройках плагина
2. Указать конфигурацию в admin.php?sampsync/config (таблица аккаунтов, никнеймы, админ уровни)
3. Ввести в группы пользователей указать уровни администратора для выдачи группыв
Плагин настроен внутренне на link_codes поэтому смена sql запроса приведет к поломке плагина.
Привязка осуществляется в /samp-link
Синхронизация по уровню админа теперь происходит не по всем пользователям, а только тем у кого привязан аккаунт 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;
}
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