07.08.2017, 20:53
(
Последний раз редактировалось LazzyBoy; 22.08.2017 в 20:06.
)
Trying to solve it , thank you.
table
-friend1,friend2
#define ci cache_get_field_content_int
#define cs cache_get_field_content
#define scm SendClientMessage
enum UserEnum{
sid
};
new User[MAX_PLAYERS][UserEnum];
public OnPlayerConnect(playerid){
new s[80],pid=playerid;
format(s,sizeof(s),"select friend1,friend2 where friend1=\'%d\' or friend2=\'%d\'",User[pid][sid],User[pid][sid]);
new Cache:cq=mysql_query(sqlcon,s),f1,f2,uid=User[pid][sid];
format(s,sizeof(s),"[FRIEND] Your friend %s has Connected to the server.",RPName(pid));
for(new i,i2=cache_num_rows(); i < i2; i++){
f1=ci(i,"friend1"),f2=(i,"friend2");
if(f1==uid)MsgToSid(f2,COLOR_ADMIN_PM,s);
else if(f2==uid)MsgToSid(f1,COLOR_ADMIN_PM,s);
}
cache_delete(cq);
return 1;
}
MsgToSid(sid,clr,msg[]){
foreach(Player,i){
if(User[i][sid]==sid)return scm(i,clr,msg);
}
return 0;
}
NameFromSql(sid){
new s[80];
format(s,sizeof(s),"select name from users where sid=\'%d\'",sid);
new Cache:cq=mysql_query(sqlcon,s);
if(cache_num_rows())cs(0,s);
else s="(Unknown)";
cache_delete(cq);
return s;
}
cmd:friends(pid){
new s[100],f1,f2,uid=User[pid][sid];
format(s,sizeof(s),"select friend1,friend2 where friend1=\'%d\' or friend2=\'%d\'",User[pid][sid],User[pid][sid]);
new Cache:cq=mysql_query(s);
for(new i,i2=c_rows; i < i2; i++){
f1=ci(i,"friend1"),f2=(i,"friend2");
if(f1==uid)format(s,sizeof(s),"Name: %s",NameFromSql(f2));
else if(f2==uid)format(s,sizeof(s),"Name: %s",NameFromSql(f1));
cache_set_active(cq);
scm(pid,-1,s);
}
cache_delete(cq);
return 1;
}