Alex Westbrook
Специалист
Добрый день уважаемые пользователи Pawno-Info!
Я, как непрофессиональный скриптер - решил сделать что-нибудь интересное!
Поскольку я видел похожие мануалы на данном портале , то решил сделать что-то наподобие, но на mySQL и с использованием YCMD!
Итак, начнем...
Для начала в Массив с аккаунтом введем переменную "helper", добавим ее в самый конец, смотреться это будет примерно так:
Следующим нашим шагом будет добавление в сохранение и загрузку данной переменной
В загрузку с аккаунтом:
Сам текст:
bases - замените на свое!
Далее добавим переменную в сохранение!(Как правило SaveAccount(playerid)
Сам текст:
Некоторые новички зададутся вопросом - "Почему-же именно '%d' ,а не '%s' ". Объясню - %s присваивается только тогда, когда есть текст, а наша переменная содержит в себе всего-лишь цифру.
Далее в том же стоке/паблике (SaveAccount(playerid)
добавим загрузку этой переменной из массива, а именно
Сам текст:
Я ее добавил после pMail , поскольку у меня они объявляются в таком порядке
Все, пока основное готово.
Теперь нам следует записать данную переменную в дамп с аккаунтом.
Далее мы выбираем базу, в которой находится наш дамп! В моем случае это nonamedatabase
Открываем, и выбираем структуру с аккаунтом:
Жмем на вкладку "Структура"
Теперь мы видим все "Это", теперь мы установим все так, как у меня на рисунке, и нажмем OK
Далее , мы видим такое окно. В нем вписываем так, как у меня:
Все, структура готова к использованию данной переменной.
Теперь нам предстоит сделать самое легкое! Это сама команда!
Далее мы добавим команду, которой "Хелперы" могут отвечать на "Вопросы"
Далее нам необходимо создать команду , которой мы будем отсылать хелперам вопросы
Далее, создадим case 10 , или сделайте его самым последним, и замените на свою цифру
Прошу прощения за табуляцию. Далее, для тех, кто не понял, что такое "SendHelperMessage"
Добавил желательно в конец мода:
Вот пожалуй и все! 
Ах, да! Чуть не забыл! Вот ваши макросы(ну или цвета)
Если кого-то это заинтересовало, то в скоро времени могу написать /hc(хелпер чат) /hh(помощь по командам хелперов), и еще несколько фишек!
С вами Был Alex(Martin) Westbrook aka Cheif_Amore!
Автор: я!
За любой помощью обращайтесь ниже, или в скайп: cheifka
Тема первая, прошу строго не судить)
Я, как непрофессиональный скриптер - решил сделать что-нибудь интересное!
Поскольку я видел похожие мануалы на данном портале , то решил сделать что-то наподобие, но на mySQL и с использованием YCMD!
Итак, начнем...
Для начала в Массив с аккаунтом введем переменную "helper", добавим ее в самый конец, смотреться это будет примерно так:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Следующим нашим шагом будет добавление в сохранение и загрузку данной переменной
В загрузку с аккаунтом:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Сам текст:
PHP:
PlayerInfo[playerid][helper] = cache_get_field_int(0,"helper", bases);
Далее добавим переменную в сохранение!(Как правило SaveAccount(playerid)
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Сам текст:
PHP:
`helper`='%d'
Далее в том же стоке/паблике (SaveAccount(playerid)
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Сам текст:
PHP:
PlayerInfo[playerid][helper],
Все, пока основное готово.
Теперь нам следует записать данную переменную в дамп с аккаунтом.
Первым шагом в данном пункте будет переход в phpmyadmin. Ссылка:
PHP:
http://localhost/tools/phpmyadmin
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Открываем, и выбираем структуру с аккаунтом:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Жмем на вкладку "Структура"
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Теперь мы видим все "Это", теперь мы установим все так, как у меня на рисунке, и нажмем OK
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Далее , мы видим такое окно. В нем вписываем так, как у меня:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Все, структура готова к использованию данной переменной.
Теперь нам предстоит сделать самое легкое! Это сама команда!
PHP:
YCMD:newhelp(playerid, params[], help)
{
new string[144];
new Nick1[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nick1, sizeof(Nick1));
if(!strcmp(Nick1, "Cheif_Amore", true))
{
if(sscanf(params, "ui", params[0], params[1])) return SendClientMessage(playerid, COLOR_RED, "Используйте: /newhelp [ID] [Level]");
else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "Некорректный ID!");
else
PlayerInfo[playerid][helper] = params[1];
format(string,144,"Администратор %s установил вам %d уровень хелпера!", Nick1, params[1]);
SendClientMessage(params[0],COLOR_GREEN,string);
format(string,144,"Вы назначили игрока %s хелпером %d Уровня!",Nick1, params[1]);
SendClientMessage(playerid,COLOR_GREEN,string);
}
return 1;
}
PHP:
YCMD:ot(playerid,params[],help)
{
if(PlayerInfo[playerid][helper] >= 1)
{
if(sscanf(params, "ds[32]", params[0], params[1])) return SendClientMessage(playerid,COLOR_GRAD,"Используйте: /ans [id] [текст]");
new string[144];
format(string,144,"Ответ от хелпера %s:[%d] %s", PlayerInfo[playerid][pNick], playerid, params[1]);
PlayerPlaySound(params[0], 1150, 0,0,0);
SendClientMessage(params[0],0xe49b0fFF,string);
format(string,144,"[Ответ]{e49b0f}Хелпер %s для %s: %s", PlayerInfo[playerid][pNick], PlayerInfo[params[0]][pNick], params[1]);
SendHelperMessage(COLOR_RED,string,1);
}
return 1;
}
PHP:
YCMD:question(playerid,params[],help)
{
ShowPlayerDialog(playerid, 10, DIALOG_STYLE_INPUT, "Вопрос Хелперам", "{ffffff}Введите ваш вопрос для хелперов!\nВ ближайшее время вам должен отметить один из помощников сервера!\nЕсли вам никто не отвечает, то напишите в репорт Администраторам!","Ввод","Отмена");
}
PHP:
case 10:
{
if(!response) return 1;
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 10, DIALOG_STYLE_INPUT, "Вопрос Хелперам", "{ffffff}Введите ваш вопрос для хелперов!\nВ ближайшее время вам должен отметить один из помощников сервера!\nЕсли вам никто не отвечает, то напишите в репорт Администраторам!","Ввод","Отмена");
new string[144];
format(string,144,"[REPORT]{ea7500}От Игрока: %s[%d]: %s",PlayerInfo[playerid][pNick],playerid,inputtext);
SendHelperMessage(COLOR_GREEN,string,1);
format(string,144,"[Сообщение]:%s[%d]: %s", PlayerInfo[playerid][pNick], playerid, inputtext);
SendClientMessage(playerid, COLOR_GREEN, string);
SendClientMessage(playerid, COLOR_WHITE, "Ваша жалоба отправлена администраторам сервера!");
}
Добавил желательно в конец мода:
PHP:
forward SendHelperMessage(color,const string[],level);
public SendHelperMessage(color,const string[],level)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[i][helper] >= level)
{
SendClientMessage(i, color, string);
printf("%s", string);
}
}
}
return 1;
}
Ах, да! Чуть не забыл! Вот ваши макросы(ну или цвета)
PHP:
#define COLOR_RED 0xff0000FF
#define COLOR_GREEN 0x33CC00AA
Если кого-то это заинтересовало, то в скоро времени могу написать /hc(хелпер чат) /hh(помощь по командам хелперов), и еще несколько фишек!
С вами Был Alex(Martin) Westbrook aka Cheif_Amore!
Автор: я!
За любой помощью обращайтесь ниже, или в скайп: cheifka
Тема первая, прошу строго не судить)
Последнее редактирование:
