Вопросы

Как сделать нормальную проверку что бы пропускала по нику всех на сервер? А кого нету кикать
Ники должны лежать в базе данных
 

Спойлер

stock IsPlayerBetaTester(playerid)
{
	new fmt_query[70];
	new rows;
	new Cache: result;

	format(fmt_query, sizeof fmt_query, "SELECT * FROM fullaccess WHERE name='%s'", GetPlayerNameEx(playerid));
	result = mysql_query(mysql, fmt_query);

	rows = cache_num_rows();

   	if(rows)
	{
		cache_delete(result);
		return 1;
	}
	else
	{
		cache_delete(result);
		return 0;
	}
}

 

 

Поделиться сообщением


Ссылка на сообщение

4 ответа на этот вопрос

  • 0

При коннекте делаешь запрос в базу данных и ищешь среди ников тот, под которым ты зашел, если такого нет - кик.

Поделиться сообщением


Ссылка на сообщение
  • 0

@User Shokolad Куда-нибудь при коннекте: 

if (!IsPlayerBetaTester(playerid)) 
	Kick(playerid); 

Кстати, в самой функции можно немного сократить логику: 

это

4 часа назад, User Shokolad сказал:

if(rows) { cache_delete(result); return 1; } else { cache_delete(result); return 0; }

можно заменить на

Спойлер

cache_delete(result); 
return rows > 0; 

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST уже делал так, итог: всех кикает если без "!" всех пропускает

@SCRIPTMAN запрос есть в самом стоке

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?