Помогите реализовать
#1

Всем привет, помогите реализовать, башка не варит совсем. Есть база данных в ней таблица "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 
1;
    while (
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(permsfetch0strlen(fetch), 255);
}
BaseGetInt(fieldi[],&permi)
{
    new 
fetch[128];
    
mysql_fetch_field_row(fetch,fieldi);
    
permi strval(fetch);

Reply
#2

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;

Например так.
Reply
#3

MySQL R6
Reply
#4

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();
   
// ... 
Reply
#5

Разобрался, спасибо.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)