Armanish
Компетентный
Доброго времени форумчане.
Представляю вам систему оценки вашего сервера
Автор: Я
Для начала добавим в enum игрока pGolos
В любое место мода
В public OnDialogResponse
К командам
Вариант от #Djuga
Представляю вам систему оценки вашего сервера
Автор: Я
Для начала добавим в enum игрока pGolos
В любое место мода
PHP:
stock SetGolos(playerid, id)
{
new string[128], text[64];
if(pData[playerid][pGolos] == 1) // pData заменять на свой enum например PlayerInfo
return SendClientMessage(playerid, COLOR_WHITE, "{FFCC00}Вы уже поставили оценку серверу, поставить оценку еще раз - не возможно");
switch(id)
{
case 0: text = "{33AA33}(Хороший сервер)";
case 1: text = "{33AA33}(Лучший сервер)";
case 2: text = "{FF0000}(Плохой сервер)";
case 3: text = "{FF0000}(Худший сервер)";
case 4: text = "{FF9900}(Нормальный сервер)";
case 5: text = "{FF9900}(Не плохой сервер)";
}
pData[playerid][pGolos] = 1; // pData заменять на свой enum например PlayerInfo
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
format(string, sizeof(string), "Вы успешно поставили оценку нашему серверу - %s{ffffff}. Спасибо за оценку!", text);
SendClientMessage(playerid, COLOR_WHITE, string);
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
format(string, sizeof(string), "Игрок {ffcc00}%s{ffffff} поставил оценку нашему серверу %s{ffffff}",string,text);
AdminChat(COLOR_WHITE,string); // AdminChat заменять на свою функцию отправки сообщения админам.
return true;
}
В public OnDialogResponse
PHP:
case 1987:
{
ShowPlayerDialog(playerid, 1988, DIALOG_STYLE_LIST, "{FFCC00}Меню оценки сервера",
"\
{33AA33}Хороший сервер\n\
{33AA33}Лучший сервер\n\
{FF0000}Плохой сервер\n\
{FF0000}Худший сервер\n\
{FF9900}Нормальный сервер\n\
{FF9900}Не плохой сервер", "Выбрать", "Отмена"
);
}
case 1988:
{
switch(listitem)
{
case 0: SetGolos(playerid, 0);
case 1: SetGolos(playerid, 1);
case 2: SetGolos(playerid, 2);
case 3: SetGolos(playerid, 3);
case 4: SetGolos(playerid, 4);
case 5: SetGolos(playerid, 5);
}
}
К командам
PHP:
CMD:like(playerid)
{
return ShowPlayerDialog(playerid, 1987, DIALOG_STYLE_MSGBOX, "{FFCC00}Меню оценки сервера",
"\
{FFFFFF}Если хотите оценить наш сервер, нажмите на первую кнопку {ffcc00}'Оценить'", "Оценить", "Закрыть"
);
}
Вариант от #Djuga
PHP:
CMD:like(playerid) return ShowPlayerDialog(playerid, 1987, DIALOG_STYLE_MSGBOX, "{FFCC00}Меню оценки сервера","{FFFFFF}Если хотите оценить наш сервер, нажмите на первую кнопку {ffcc00}'Оценить'", "Оценить", "Закрыть");
PHP:
case 1987: ShowPlayerDialog(playerid, 1988, DIALOG_STYLE_LIST, "{FFCC00}Меню оценки сервера", "{33AA33}Хороший сервер\n{33AA33}Лучший сервер\n{FF0000}Плохой сервер\n{FF0000}Худший сервер\n{FF9900}Нормальный сервер\n{FF9900}Не плохой сервер", "Выбрать", "Отмена" );
case 1988:
{
if(0 == response)
return true;
SetGolos(playerid, listitem);
}
PHP:
new Voice[][] = {
"{33AA33}(Хороший сервер)",
"{33AA33}(Лучший сервер)",
"{FF0000}(Плохой сервер)",
"{FF0000}(Худший сервер)",
"{FF9900}(Нормальный сервер)",
"{FF9900}(Не плохой сервер)"
};
stock SetGolos(playerid, id)
{
new
string[128],
if(pData[playerid][pGolos] == 1) // pData заменять на свой enum например PlayerInfo
return SendClientMessage(playerid, -1, "{FFCC00}Вы уже поставили оценку серверу, поставить оценку еще раз - не возможно");
pData[playerid][pGolos] = 1; // pData заменять на свой enum например PlayerInfo
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
format(string, sizeof(string), "Вы успешно поставили оценку нашему серверу - %s{ffffff}. Спасибо за оценку!", Voice[id-1]);
SendClientMessage(playerid, COLOR_WHITE, string);
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
format(string, sizeof(string), "Игрок {ffcc00}%s{ffffff} поставил оценку нашему серверу %s{ffffff}", string, Voice[id-1]);
AdminChat(COLOR_WHITE,string); // AdminChat заменять на свою функцию отправки сообщения админам.
return true;
}
Последнее редактирование:
