Помогите реализовать -
coloN - 07.04.2013
Всем привет, помогите реализовать, башка не варит совсем. Есть база данных в ней таблица "BlackList", в ней столбцы "Name", "Fraction", "Reason", т.е. так, человек в игре вводит /bl ID Причина и в таблицу BlackList добавляется имя врага, фракция в которую занесли, причина. Это я реализовал, но не могу сделать, что бы при заходе на сервер игроку писалось вы находитесь в черном списке фракции блабла. В моде 15 фракций. Ниже сток с извлечением и скриншот БД или как можно сделать?
PHP Code:
stock BlackListLoad(playerid){
new strings[800];
format(strings,sizeof(strings),"SELECT * FROM `BlackList` WHERE `Name` = '%s'",PlayerInfo[playerid][pName]);
mysql_query(strings);
mysql_store_result();
new i = 1;
while (i < 15 && mysql_fetch_row_format(strings))
{
BaseGetInt("Fraction",BlackList[i][pBl]);
BaseGet("Reason",BlackList[i][pBlReason]);
i++;
}
mysql_free_result();
return 1;
}
PHP Code:
BaseGet(fields[],perms[])
{
new fetch[128];
mysql_fetch_field_row(fetch,fields);
strmid(perms, fetch, 0, strlen(fetch), 255);
}
BaseGetInt(fieldi[],&permi)
{
new fetch[128];
mysql_fetch_field_row(fetch,fieldi);
permi = strval(fetch);
}
Re: Помогите реализовать -
Frapsy - 07.04.2013
PHP Code:
public OnPlayerConnect(playerid) {
new plname[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,plname,sizeof(plname));
format(query,sizeof(query),"SELECT * FROM `table_name` WHERE `Name` = '%s'",plname);
mysql_function_query(handle,query,true,"BlackList","d",playerid);
return 1;
}
forward BlackList(playerid);
public BlackList(playerid) {
new rows,fields;
cache_get_data(rows,fields);
if(rows != 0) {
// он в списке
// SendClientMessage(playerid,-1,"Вы в черном списке");
}
else {
// не в списке
}
return 1;
}
Например так.
Re: Помогите реализовать -
coloN - 07.04.2013
MySQL R6
Re: Помогите реализовать -
Frapsy - 07.04.2013
PHP Code:
// ...
mysql_store_result();
if(mysql_num_rows() != 0) {
mysql_fetch_row(query);
new num,reason[64];
sscanf(query,"p<|>s[24]is[64]",plname,num,reason);
format(query,sizeof(query),"Вы в черном списке фракции %d, причина: %s",num,reason);
SendClientMessage(playerid,-1,query);
}
else {
// не в списке
}
mysql_free_result();
// ...
Re: Помогите реализовать -
coloN - 07.04.2013
Разобрался, спасибо.