Дата и время окончания админки в админ меню

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #1
Вобщем решил помочь человеку

Добрый день.Хотел узнать,кто сможет помочь впихнуть в плагин SB(sourcebans),чтобы показывалось дата и время окончания админки в админ меню в игре!

Разобрался с бд, понял как написать и все дела, НО возникли некоторые трудности.

Трудность №1 Пункт не появляется. (К тому же хотелось бы сделать его в конце админки).

PHP:
public OnAdminMenuReady(Handle:topmenu)
{
	if (topmenu == hTopMenu) return;
	
	hTopMenu = topmenu;
	
	new TopMenuObject:player_commands = FindTopMenuCategory(hTopMenu, ADMINMENU_PLAYERCOMMANDS);

	if (player_commands != INVALID_TOPMENUOBJECT)
	{
		AddToTopMenu(hTopMenu,
							"sm_ban", 		// Name
							TopMenuObject_Item,	// We are a submenu
							AdminMenu_Ban,		// Handler function
							player_commands,	// We are a submenu of Player Commands
							"sm_ban",		// The command to be finally called (Override checks)
							ADMFLAG_BAN);		// What flag do we need to see the menu option
							
		// Отправляем запрос в бд и получаем дату.
		// Добавляем пункт в админ меню.

		AddToTopMenu(hTopMenu, "exp", TopMenuObject_Category, Handle_Category, INVALID_TOPMENUOBJECT);
	}
}

public Handle_Category(Handle:topmenu, TopMenuAction:action, TopMenuObject:object_id, param, String:buffer[], maxlength)
{
	if (object_id == INVALID_TOPMENUOBJECT)
	{
		if(action == TopMenuAction_DisplayTitle) Format(buffer, maxlength, "Админка истекает:");
		else if(action == TopMenuAction_DisplayOption) Format(buffer, maxlength, "Админка истекла");
	}
}

Следующие трудности буду добавлять по мере поступления.
 

_wS_

Участник
Сообщения
383
Реакции
760
Пункт не появляется
На сколько я помню, если создать категорию, но не добавить в неё хотя бы одну опцию - категории не будет в меню. Мне кажется лучший вариант, это создать команду типа sm_myadmintime и её использовать в adminmenu_custom.txt (можно и при вызове админки).

PHP:
"Commands"
{
	"PlayerCommands"
	{
		"Время моего админ-доступа"
		{
			"cmd"			"sm_myadmintime"
			"admin"			"sm_myadmintime"
			"execute"		"player"
		}
	}
}
 
  • Мне нравится
Реакции: R1KO

Kaptain

Школьник
Сообщения
912
Реакции
489
Вобщем решил помочь человеку



Разобрался с бд, понял как написать и все дела, НО возникли некоторые трудности.

Трудность №1 Пункт не появляется. (К тому же хотелось бы сделать его в конце админки).

PHP:
public OnAdminMenuReady(Handle:topmenu)
{
	if (topmenu == hTopMenu) return;
	
	hTopMenu = topmenu;
	
	new TopMenuObject:player_commands = FindTopMenuCategory(hTopMenu, ADMINMENU_PLAYERCOMMANDS);

	if (player_commands != INVALID_TOPMENUOBJECT)
	{
		AddToTopMenu(hTopMenu,
							"sm_ban", 		// Name
							TopMenuObject_Item,	// We are a submenu
							AdminMenu_Ban,		// Handler function
							player_commands,	// We are a submenu of Player Commands
							"sm_ban",		// The command to be finally called (Override checks)
							ADMFLAG_BAN);		// What flag do we need to see the menu option
							
		// Отправляем запрос в бд и получаем дату.
		// Добавляем пункт в админ меню.

		AddToTopMenu(hTopMenu, "exp", TopMenuObject_Category, Handle_Category, INVALID_TOPMENUOBJECT);
	}
}

public Handle_Category(Handle:topmenu, TopMenuAction:action, TopMenuObject:object_id, param, String:buffer[], maxlength)
{
	if (object_id == INVALID_TOPMENUOBJECT)
	{
		if(action == TopMenuAction_DisplayTitle) Format(buffer, maxlength, "Админка истекает:");
		else if(action == TopMenuAction_DisplayOption) Format(buffer, maxlength, "Админка истекла");
	}
}

Следующие трудности буду добавлять по мере поступления.

Получилось сделать?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
Кирилл Спиридонов, да.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
Выкладывать не буду т.к. делал приватно хоть и за мелочь. Людям обидно будет.
P.S. Могу написать варианты как это можно сделать т.к. их несколько.
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #8
R1KO, парсить из бд колонку expires ?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
White Wolf, ну это само собой. Ладно не буду тянуть резину.
  1. Изменить сб, при коннекте игрока, после проверки бана проверять его на админа и получать значение столбца expires. Так же сделать натив для получения этого значения. Потом в adminmenu.sp Инклюдим сб, и юзаем этот натив (меняем тайтл меню).
  2. В adminmenu.sp создаем подключение к бд от сб и далее по аналогии.
 

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #10
White Wolf, ну это само собой. Ладно не буду тянуть резину.
  1. Изменить сб, при коннекте игрока, после проверки бана проверять его на админа и получать значение столбца expires. Так же сделать натив для получения этого значения. Потом в adminmenu.sp Инклюдим сб, и юзаем этот натив (меняем тайтл меню).
  2. В adminmenu.sp создаем подключение к бд от сб и далее по аналогии.

Окей) я напишу тебе в лс по этому поводу.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Я что-то начинал делать (аналогичная просьба была).
Только время я впилил в заголовок
 
Сверху Снизу