Заявка за проверка дали има админ

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Заявка за проверка дали има админ

Мнение от southdivision » 07 Окт 2018, 23:21

Здравейте, желая една проста проверка която проверява дали има админ във сървъра с флаг "m".

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Заявка за проверка дали има админ

Мнение от TheRedShoko » 08 Окт 2018, 09:41

Има няколко варианта в зависимост от това как ще го ползваш. Може всеки път да обхождаш всички играчи и да проверяваш или да използваш една променлива и при всеки влязал/излязал админ да променяш стойността.

Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Заявка за проверка дали има админ

Мнение от southdivision » 08 Окт 2018, 16:25

TheRedShoko написа: 08 Окт 2018, 09:41 Има няколко варианта в зависимост от това как ще го ползваш. Може всеки път да обхождаш всички играчи и да проверяваш или да използваш една променлива и при всеки влязал/излязал админ да променяш стойността.
По-скоро първия избор ще ми свърши работа. Такъв код ми трябва значи

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Заявка за проверка дали има админ

Мнение от JustInCase » 08 Окт 2018, 16:45

Код за потвърждение: Избери целия код

public is_there_admin(iReturnNum)
{
	new iPlayers[32], iNum, iAdmins = 0;
	get_players(iPlayers, iNum);
	for(new i = 0; i <= iNum; i++)
		if(get_user_flags(iPlayers[i]) & ADMIN_LEVEL_A)
				iAdmins++;
			
	if(iReturnNum >= 1)
		return iAdmins;
	else if(iAdmins != 0)
		return 1;
	return 0;
	
}
Така ? Ако искаш да ти върне броя на админите is_there_admin(1) ако искаш да видиш дали има изобщо някакъв админ в сървъра is_there_admin(0). Първата опция ти връща колко админа има втората True/False съответно ако има и ако няма.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Заявка за проверка дали има админ

Мнение от southdivision » 08 Окт 2018, 18:20

JustInCase написа: 08 Окт 2018, 16:45

Код за потвърждение: Избери целия код

public is_there_admin(iReturnNum)
{
	new iPlayers[32], iNum, iAdmins = 0;
	get_players(iPlayers, iNum);
	for(new i = 0; i <= iNum; i++)
		if(get_user_flags(iPlayers[i]) & ADMIN_LEVEL_A)
				iAdmins++;
			
	if(iReturnNum >= 1)
		return iAdmins;
	else if(iAdmins != 0)
		return 1;
	return 0;
	
}
Така ? Ако искаш да ти върне броя на админите is_there_admin(1) ако искаш да видиш дали има изобщо някакъв админ в сървъра is_there_admin(0). Първата опция ти връща колко админа има втората True/False съответно ако има и ако няма.
Нещо не разбрах ..

Как ще стане следния код: АКО НЯМАШ ФЛАГ "M" && ТЕРОРИСТ СИ && ИМА АДМИН { client_print .. ima admin }

Тествах го по този начин,но не се получи:

Код за потвърждение: Избери целия код

if(!(get_user_flags(id) & ADMIN_LEVEL_A) && get_user_team(id) == 1 && is_there_admin(1) ) {

}
Също ако може и същия код,но в края да е "АКО НЯМА АДМИН" вместо "ИМА АДМИН"

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Заявка за проверка дали има админ

Мнение от JustInCase » 08 Окт 2018, 22:04

Пробвай is_there_admin(0) тъй като искаш да разбереш само дали има някакъв админ в сървъра а не колко е броя на админите .. казах ти ако искаш да провериш броят на админите пишеш is_there_admin(1) да кажем например искаш ако има повече от 3-ма админа да прави нещо ще стане така

Код за потвърждение: Избери целия код

if(is_there_admin(1) > 3)
{
              //Your Code
}
Ако искаш примерно да кажеш на играчите че има админ в сървъра ( не зависимо от броя )

Код за потвърждение: Избери целия код

if(is_there_admin(0))
{
             //Your Code
}
//Аналогично ако няма админ
if(!is_there_admin(0))
{
            //Your Code
}
MANSION - HNS : 45.144.155.99:27026
ONLINE

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта