Форум Pawn.Wiki - Воплоти мечту в реальность!: /report and /ans ZCMD/DC_CMD. - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
/report and /ans ZCMD/DC_CMD. /report and /ans ZCMD/DC_CMD.
Оценка: -----

#1
Пользователь офлайн   IcsOne 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Доброго времени суток софорумцы!
Выкладываю свою систему /report и /ans.
Для начала добавим дефайны:
#define color_blue                  0x0080FFFF
#define color_white            	    0xFFFFFFFF
#define SCM                          SendClientMessage


Далее создадим сток, с помощью которого будем узнавать имя.
stock gpname(playerid)
{
	new pName[MAX_PLAYER_NAME];
	GetPlayerName(playerid, pName, sizeof pName);
	return pName;
}



Добавим еще один сток, в котором будем отсеивать от всех игроков только администраторов.
stock asend(color, string[])
{
	for(new i; i < MAX_PLAYERS; i++)
 	{
		if(IsPlayerConnected(i))
		{
	            if(accounts[i][padminlvl] > 0) SCM(i, color, string);
		}
	}
	return 1;
}


Ну и сами команды.
CMD:report(playerid,params[])
{
    if(GetPVarInt(playerid, "Logged") == 0) return true;
    if(gettime()-GetPVarInt(playerid,"report")<120) return SCM(playerid,color_white,"{F50F0F}[Ошибка]:{FFFFFF} Жалобу можно отправлять 1 раз в 120 секунд.");
    SetPVarInt(playerid,"report",gettime());
    new string[120];
    new string2[120];
    if(sscanf(params, "s[36]", params[0])) return SCM(playerid, color_white,"Введите: /report [жалоба]");
    format(string, sizeof(string), "Жалоба успешно отправлена администрации!");
    SCM(playerid, color_blue, string);
    format(string2, sizeof(string2), "{F50F0F}Жалоба от игрока %s:{FFFFFF} %s", gpname(playerid), params[0]);
    asend(color_white, string2);
    return 1;
}


И команда /ans.
CMD:ans(playerid, params[])
{
    if(GetPVarInt(playerid, "Logged") == 0) return true;
    if(accounts[playerid][padminlvl] < 0) return true;
    if(sscanf(params, "is[36]", params[0], params[1])) return SCM(playerid, color_white, "Введите: /ans [ID игрока] [текст]");
    new string[200];
    new string2[200];
    format(string, sizeof(string), "Вы ответили игроку %s:{FFFFFF} %s", gpname(params[0]), params[1]);
    SCM(playerid, color_blue, string);
    format(string2, sizeof(string2), "{8B4513}Ответ от администратора %s:{FFFFFF} %s", gpname(playerid), params[1]);
    SCM(params[0], color_white, string2);
    return 1;
}


Переменную accounts[playerid][padminlvl] < 0 заменяйте на свою, где хранится уровень администрации игроков.
Кому помог от + не откажусь.

Сообщение отредактировал IcsOne: 24 марта 2015 - 14:49

1

#2
Пользователь офлайн   Developer_NEW 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Спасибо
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика