den4is
Ученик
Здравствуйте уважаемые пользователи форума. Вот решил выложить для вас мою версию команды /members в диалоговом окне, так же команды функционирует на mysql версии r 39-3
Версия команды на стандартном командном процессоре:
Версия для zcmd(dc_cmd)
Ко всем forward добавим:
В конец мода добавим:
Версия команды на стандартном командном процессоре:
PHP:
if(strcmp(cmd, "/members", true) == 0)
{
new query[144];
if((PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pRank] < 11))
return SendClientMessage(playerid, COLOR_GREY, "* Вы не уполномочены использовать эту команду(только для лидеров)!");
format(query, sizeof(query), "SELECT * FROM `users` WHERE `Member` = '%d'", PlayerInfo[playerid][pMember]);
mysql_function_query(mysql, query, true, "Member", "d", playerid);
return true;
}
PHP:
CMD:members(playerid)
{
new query[144];
if((PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pRank] < 11))
return SendClientMessage(playerid, COLOR_GREY, "* Вы не уполномочены использовать эту команду(только для лидеров)!");
format(query, sizeof(query), "SELECT * FROM `users` WHERE `Member` = '%d'", PlayerInfo[playerid][pMember]);
mysql_function_query(mysql, query, true, "Member", "d", playerid);
return true;
}
PHP:
"SELECT * FROM `users` WHERE `Member` = '%d'" - mysql запрос
users - название базы данных с игроками
Members - название столбца отвечающего за номер фракции
Ко всем forward добавим:
PHP:
forward Member(playerid);
PHP:
public Member(playerid)
{
new rows, fields, string[256], maximum[25], Name[25], msgitem[512], level, rank;
cache_get_data(rows, fields);
if(!rows) return SendClientMessage(playerid, COLOR_GREY, "* Строки не найдены !");
strins(msgitem, "name \t\t\tlevel \trank\n______________________________________________________________________\n", strlen(msgitem), 114);
for(new i = 0; i < rows; i++) {
cache_get_field_content(i, "PlayerName", maximum), strmid(Name, maximum, 0, strlen(maximum), 25);
cache_get_field_content(i, "Level", maximum), level = strval(maximum);
cache_get_field_content(i, "Rank", maximum), rank = strval(maximum);
if(strlen(Name) < 13) format(string, sizeof(string), "%s \t\t%d \t%d\n", Name, level, rank);
else format(string, sizeof(string), "%s \t%d \t%d\n", Name, level, rank);
strins(msgitem, string, strlen(msgitem), strlen(string));
}
strins(msgitem, "\n______________________________________________________________________\n", strlen(msgitem), 65);
ShowPlayerDialog(playerid,100,DIALOG_STYLE_MSGBOX,"Show Players Ranks",msgitem,"OK","Cancel");
return true;
}
PHP:
cache_get_field_content(i, "PlayerName", maximum), strmid(Name, maximum, 0, strlen(maximum), 25);
cache_get_field_content - функция извлечения данных из бд
"PlayerName" - Название столбца хранящего имя игрока
strmid(Name, maximum, 0, strlen(maximum), 25) - Записываем имя игрока в переменную Name
cache_get_field_content(i, "Level", maximum), level = strval(maximum);
cache_get_field_content - аналогично
"Level" - название ячейки хранящей уровень игрока
level = strval(maximum) - записываем в переменную level значения извлечённое из таблицы
