Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Динамическая информация о сервере

Pawno.INC

Умник
Описание в самом конце.

В начало мода:
PHP:
enum srInfo
{
	srName[32],
	srSite[32],
	srAdmin[24]
}

new ServerInfo[srInfo];
в конец мода или в любое свободное место

PHP:
forward LoadServerInfo();
public LoadServerInfo()
{
	cache_get_row(0,0,ServerInfo[srName], connects, 32);
	cache_get_row(0,1,ServerInfo[srSite], connects, 32);
	cache_get_row(0,2,ServerInfo[srAdmin], connects, 24);
	printf("[ Загрузка ... ] Данные о сервере успешно загружены.");
	return true;
}
в OnGameModeInit
PHP:
mysql_function_query(connects,"SELECT * FROM `serverinfo`",true,"LoadServerInfo","");
к Командам
PHP:
CMD:sredit(playerid, params[])
{
	if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_WHITE, "[!] Вы не администратор."); // меняете на свою проверку
	return ShowPlayerDialog(playerid,8001,DIALOG_STYLE_LIST,"{FFCC00}Редактирование сервера","Изменить название сервера\nИзменить название сайта\nИзменить администратора", "Далее", "Закрыть");
}
к Диалогам

PHP:
		case 8001:
		{
		    if(!response) return true;
			switch(listitem)
			{
			    case 0:
			    {
			        ShowPlayerDialog(playerid, 8002, DIALOG_STYLE_INPUT, "{FFCC00}Изменить название сервера", "Введите новое название сервера", "Сменить", "Закрыть");
				}
			    case 1:
			    {
			        ShowPlayerDialog(playerid, 8003, DIALOG_STYLE_INPUT, "{FFCC00}Изменить название сайта", "Введите новое сайта сервера", "Сменить", "Закрыть");
				}
			    case 2:
			    {
			        ShowPlayerDialog(playerid, 8004, DIALOG_STYLE_INPUT, "{FFCC00}Изменить администратора", "Введите имя нового Гл.администратора", "Сменить", "Закрыть");
				}
			}
		}
		case 8002:
		{
		    if(!response) return true;
		    SetString(ServerInfo[srName],inputtext);
			format(string, 81, "UPDATE `serverinfo` SET `Name` = '%s'", inputtext);
			mysql_function_query(connects, string, false, "", "");
		}
		
		case 8003:
		{
		    if(!response) return true;
		    SetString(ServerInfo[srSite],inputtext);
			format(string, 81, "UPDATE `serverinfo` SET `Site` = '%s'", inputtext);
			mysql_function_query(connects, string, false, "", "");
		}
		case 8004:
		{
		    if(!response) return true;
		    SetString(ServerInfo[srAdmin],inputtext);
			format(string, MAX_PLAYER_NAME+32, "UPDATE `serverinfo` SET `Admin` = '%s'", inputtext);
			mysql_function_query(connects, string, false, "", "");
		}
SQL запрос
PHP:
CREATE TABLE IF NOT EXISTS `serverinfo` (
  `Name` varchar(32) NOT NULL,
  `Site` varchar(32) NOT NULL,
  `Admin` varchar(24) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

INSERT INTO `serverinfo` (`Name`, `Site`, `Admin`) VALUES
('Server Role Play', 'www.sitename.ru', 'Jason_Carter');
В конец мода или в любое другое место.
PHP:
stock SetName()
{
	new chName, string[64];
	switch(chName)
	{
		case 0:
		{
			format(string,44,"hostname %s | Client: 0.3.7",ServerInfo[srName]);
			SendRconCommand(string);
			chName++;
		}
		case 1:
		{
			format(string,46,"hostname  Форум/сайт сервера: %s",ServerInfo[srSite]); //уже на свое усмотрение пишите.
			SendRconCommand(string);
			chName=0;
		}
	}
}
К таймерам добавьте следующее чтобы обновлять название.

PHP:
SetName();
Пример использования:

PHP:
	    SendClientMessageToAll(COLOR_LIGHTBLUE,"_________________________________________________________________");
		SendClientMessageToAll(COLOR_WHITE,"Используйте {FF9900}/report{FFFFFF} для связи с администрацией");
		SendClientMessageToAll(COLOR_WHITE,"Список свободных/занятых лидерок: {FF9900}/leaders");
		SendClientMessageToAll(COLOR_WHITE,"Ваш верный путеводитель по серверу: {FF9900}/mm");
		format(string,72,"Сайт нашего сервера: {FF0000}%s",ServerInfo[srSite]);
		SendClientMessageToAll(COLOR_WHITE,string);
		format(string,64,"Главный администратор: {FF0000}%s",ServerInfo[srAdmin]);
		SendClientMessageToAll(COLOR_WHITE,string);
		SendClientMessageToAll(COLOR_LIGHTBLUE,"_________________________________________________________________");
Если у кого то будут ошибки на SetString вставьте то что ниже в начало мода, у кого нету ошибок на эту функцию, значит данная функция уже есть в вашем моде.
PHP:
 #define SetString(%0,%1) (strmid(%0,%1,0,strlen(%1),255))
Вам только осталось изменить название вашего Сервера на переменную ServerInfo[srName], так как теперь она будет содержать название сервера и в любой момент вы сможете изменить это. Надеюсь вы поняли в чем суть системы, вам больше не придется изменять название сервера через pwn.

Автор: Pawno.INC (#Jason)
 
Последнее редактирование:
Сверху Снизу