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

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

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

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

Мануал Система префиксов

DarkNeon

Начинающий
Пользователь
Регистрация
4 Янв 2018
Сообщения
19
Лучшие ответы
0
Репутация
5
Привет,всё часто начал замечать,люди пишут "Как сделать с-му префиксов?" На самом деле очень просто и сейчас я вам это докажу
Перейдем к самой работе:
I. Первым делом создаём массив строк (Где ваш PlayerInfo или pData)

PHP:
enum PINFO
{
	pPrefix[32]
}
II. Засовываем в ваш сейв и лоад аккаунта сохранение/загрузку со спецификатором %s [Думаю вы сами уже разберетесь,я не знаю какие у вас калбеки],а также записываем все это в БД [/SIZE]
III. Обнуляем наш массив в паблике OnPlayerConnect [/SIZE]
PHP:
public OnPlayerConnect(playerid)
{
     PINFO[playerid][pPrefix] = EOS;
     return 1;
}
IV. Теперь переходим к самому главному - установка префикса ОПРЕДЕЛЕННОМУ админу,использовал я DC_CMD [/SIZE]
PHP:
CMD:sprefix(playerid,params[])
{
    if(ваша переменная админки < лвл) return 1;
    if(sscanf(params,"ds[32]", params[0],params[1])) return SendClientMessage(playerid, -1, "/sprefix [Ид игрока] [Префикс]");
    if(переменная админки < 1) return SendClientMessage(playerid,-1,"игрок не администратор");
    if(IsPlayerConnected(params[0])) // Проверка на то,что игрок приконнектился
	    {
	        strmid(PINFO[params[0]][pPrefix],params[1], 0, 32, 32); // вставляем
	        SFCM(params[0],0xEEE9E9FF,"Вы установили админу %s префикс: %s",PINFO[params[0]][имя],PINFO[params[0]][pPrefix]);
		}
	return 1;
}
}
V. Вставляем куда хотим теперь,взял как пример[/SIZE]
PHP:
CMD:admins(playerid, params[])
{
    if(PINFO[playerid][pAdmin] < 1) return 1;
    SendClientMessage(playerid,-1,"Администраторы онлайн:");
    foreach(Player, i)
	{
	    if(PINFO[i][pAdmin] && pTemp[i][pHidden] < 1)
	    {
	    	new temp[144];
    		format(temp,sizeof(temp),"%s[%d][%d lvl] [%s]\n",PINFO[i][имя],i,PINFO[i][админка],PINFO[i][pPrefix]);
    		SendClientMessage(playerid, -1, temp);
		}
		else
		{
                SendClientMessage(playerid, -1, "- В сети нет администраторов");
		}
    return 1;
}
}


---------- Сообщение добавлено в 14:19 ---------- Предыдущее сообщение добавлено в 14:18 ----------

Лично у меня такой SFCM

в начале мода:

PHP:
new FALSE = false;
#define SFCM(%0,%1,%2) do{new _s[256];format(_s,256,%2);SendClientMessage(%0,%1,_s) ;}while(FALSE)
 
Последнее редактирование:
Сверху Снизу