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

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

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

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

Мануал [OFFLINE]Система управления игроками[Mysql RC 34]

Ilyasik

Умник
Добрый день, недавно написал систему управления игроками, когда они не в игре. Всем знакомая команда /leaderpanel(/lpanel).

Команда написана на ZCMD с использованием sscanf!
Собственно ко всем командам добавляем:
PHP:
CMD:leaderspanel(playerid, params[])
{
    if(PlayerInfo[playerid][pLeader] < 1) return SendClientMessage(playerid,-1,"Только для лидеров!");
	new QUERY[128];
	mysql_format(database, QUERY,sizeof(QUERY), "SELECT * FROM `"TABLE_ACCOUNT"` WHERE pMember = '%i'",PlayerInfo[playerid][pLeader]);
	mysql_function_query(database, QUERY, true, "OnLeaderPanel", "d", playerid);
	return true;
}
В любое место:

PHP:
publics: OnLeaderPanel(playerid)
{
	new rows, fields;
	cache_get_data(rows, fields);
	if(rows)
	{
	    new string[1000],Names[MAX_PLAYER_NAME],str[24],full;
	    while(--rows >= 0)
		{
		    cache_get_field_content(rows,"Name",Names);
		    if(cache_get_field_content_int(rows, "pLogin", database) == 0) format(str,sizeof(str),"%s\n",Names), strcat(string,str), full++;
		}
		if(full == 0) SendClientMessage(playerid,-1,"Не найдено совпадений!");
		else ShowPlayerDialog(playerid,9485,DIALOG_STYLE_LIST,"Меню лидера",string,"OK","");
	}
	return true;
}
Ко все диалогам:
PHP:
case 9485:
{
	if(!response) return true;
	SetPVarString(playerid,"Nemses",inputtext);
	ShowPlayerDialog(playerid,9486,DIALOG_STYLE_LIST, "Меню лидера","Уволить\nПовысить/понизить\n", "Ок", "Отмена");
}
case 9486:
{
	if(!response) return true;
	switch(listitem)
	{
		case 0:
		{
			new playerName[MAX_PLAYER_NAME+1];
			GetPVarString(playerid, "Nemses", playerName, MAX_PLAYER_NAME+1);
			mysql_format(database, YCMDstr, 128, "UPDATE "TABLE_ACCOUNT" SET pMember = '0',pRank = '0' WHERE Name = '%e'",playerName);
			mysql_query(YCMDstr,-1,-1,database);
			SendClientMessage(playerid,-1,"Уволен!");
		}
		case 1: ShowPlayerDialog(playerid,9487,DIALOG_STYLE_INPUT, "Меню лидера", "Введите желаемый ранг", "Ок", "Отмена");
	}
}
case 9487:
{
	if(!response) return true;
	new kolvo = strval(inputtext),playerName[MAX_PLAYER_NAME+1];
	GetPVarString(playerid, "Nemses", playerName, MAX_PLAYER_NAME+1);
	mysql_format(database, YCMDstr, 128, "UPDATE "TABLE_ACCOUNT" SET pRank = '%i' WHERE name = '%e'",kolvo,playerName);
	mysql_query(YCMDstr, -1, -1, database);
	SendClientMessage(playerid,-1,"Повышен/понижен!");
}

Вот такая лёгкая система! Насчёт скриншотов, кто будет вставлять к себе в мод, сделайте пожалуйста и залейте его, ибо у меня нету игры.
 
Последнее редактирование:
Сверху Снизу