Активный
- Тема Автор
- #1
Идея и назначение
Система сохраняет IP игрока при регистрации или первом входе.
При последующих входах сверяет текущий IP с сохраненным.
Подходит для базовой защиты аккаунтов.
Суть реализации
1. Храним строку IP для каждого игрока.
2. При первом входе сохраняем IP в переменную.
3. При следующих входах сравниваем IP и при различиях выводим предупреждение.
Реализация
Дополнительные идеи
1. Сохранять IP в файл или базу данных, а не только в памяти.
2. Блокировать вход при сильных отличиях, если включена защита.
3. Добавить команду отвязки IP при подтверждении личности.
Система сохраняет IP игрока при регистрации или первом входе.
При последующих входах сверяет текущий IP с сохраненным.
Подходит для базовой защиты аккаунтов.
Суть реализации
1. Храним строку IP для каждого игрока.
2. При первом входе сохраняем IP в переменную.
3. При следующих входах сравниваем IP и при различиях выводим предупреждение.
Реализация
Код:
new PlayerIP[MAX_PLAYERS][16];
public OnPlayerConnect(playerid)
{
new ip[16];
GetPlayerIp(playerid, ip, sizeof ip);
if(PlayerIP[playerid][0] == '\0')
{
format(PlayerIP[playerid], sizeof PlayerIP[], "%s", ip);
SendClientMessage(playerid, -1, "Твой IP привязан к аккаунту.");
}
else
{
if(strcmp(PlayerIP[playerid], ip, true) != 0)
{
SendClientMessage(playerid, -1, "Внимание, IP отличается от привязанного.");
}
}
return 1;
}
Дополнительные идеи
1. Сохранять IP в файл или базу данных, а не только в памяти.
2. Блокировать вход при сильных отличиях, если включена защита.
3. Добавить команду отвязки IP при подтверждении личности.