Несколько вопросов (AFK, авторизация)
Здравствуйте. :victory: Не так давно я создавал тему с интересующими меня вопросами по программированию, за развёрнутые ответы я очень благодарен Вашему модератору с ником Deimos. В той теме я задавал вопросы о проблемах или по функциям, с которыми мне пришлось столкнуться по мере написания кода. Так вот, сейчас у меня появилось ещё два вопроса, которые касаются системы AFK и системы авторизации.
1. Система AFK.
Будет ли нормальной следующая система AFK (вроде как работает на сервере):
- В enum с информацией об игроке добавил следующее:
- В OnPlayerUpdate вставил следующее:
PHP код:
pinfo[playerid][pAFK] = 0;
- В таймер обновления аккаунта (он же сток, который вызывается таймером (вроде так сказал :blush2:)) добавил следующий код:
PHP код:
if(pinfo[i][pAFK] >= 3)
{
format(string, sizeof(string), "AFK: %s", TimeConvert(pinfo[i][pAFK));
SetPlayerChatBubble(i, string, здесь цвет, 10.0, 3000);
pinfo[i][pAFK] ++;
И сам TimeConvert, который я нашёл в интернете:
PHP код:
stock TimeConvert(time)
{
new hour = 0, minute = 0, second = 0, string[30];
hour = floatround(time/3600);
minute = floatround((time/60) - (hour*60));
second = floatround(time - ((hour*3600) + (minute*60)));
if(hour > 0)
{
format(string, sizeof(string), "%d:%02d:%02d", hour, minute, second);
}
else
{
format(string, sizeof(string), "%d:%02d", minute, second);
}
return string;
}
На сервере всё это "дело" работает, но вдруг я где-то допустил ошибку или где-то не вставил что-то.
P.S. В сток обнуления информации об игроке после выхода из игры также добавил это.
2. Система авторизации и регистрации.
Когда вы заходите на сервер, вводите свои данные, то Вам предлагает выбрать внешность своему персонажу. Если вы выходите из игры во время выбора внешности, то при следующем входе у вас будет скин с 0 id, то есть CJ. Как можно исправить данную проблему?
Я пробовал сделать следующее:
В OnPlayerSpawn вставлял
PHP код:
if(!pinfo[playerid][skin]
{
//здесь сток выбора скина
}
но... но... это не совсем помогало (из-за SetSpawnInfo при авторизации, чтобы убрать кнопочки Spawn, >> и <<), потому что когда вылазило окошко регистрации и авторизации, меня сразу перекидывало в интерьер выбора внешности.
!Будет ли правильным решением вставить в базу данных id скина по умолчанию, вместо 0, чтобы избежать данной проблемы? Или как-то изменить SetSpawnInfo? Потому что скин в SetSpawnInfo выбирается из базы данных :)