Guten Tag,
ich habe einen Fehler in meiner Schleife.Nun, wenn ein Spieler sich eingeloggt hat soll an alle die ihn als Freund eingetragen haben, die Nachricht bekommen, das er sich eingeloggt hat.
Alles gut, klappt auch, nur die Nachricht wird ihm tausend mal gesendet, bis er ein Standbild bekommt und er das Spiel via Taskmanager schließen soll.
Das Problem was bei mir Auftritt ist dieses, dass wenn ich ein return in die Schleife packe, das es nur dem ersten Spieler gesendet wird.
Code:
public OnFreundeListeLoad(playerid)
{
new count=0,rows,fields,string[128],query[94],result[MAX_PLAYER_NAME];
cache_get_data(rows,fields,dbhandle);
if(rows)
{
while(count<rows)
{
if(count>=rows){ break; }
cache_get_field_content(count,"username",result);
new pID = GetPlayerID(result);
if(pID != -1)
{
format(string,sizeof(string),"Freundeliste:{FAFAFA} %s ist nun {009F00}Online{FAFAFA}.",SpielerName(playerid));
SendClientMessage(pID,0xFF9C00FF,string);
}
}
format(query,sizeof(query),"UPDATE account_friendlist SET online='1' WHERE freundname='%s'",SpielerName(playerid));
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
return 1;
}
public OnFreundeListeSave(playerid)
{
new count=0,rows,fields,string[128],query[94],result[MAX_PLAYER_NAME];
cache_get_data(rows,fields,dbhandle);
if(rows)
{
while(count<rows)
{
cache_get_field_content(count,"username",result);
new pID = GetPlayerID(result);
if(pID != -1)
{
format(string,sizeof(string),"Freundeliste:{FAFAFA} %s ist nun {C70A00}Offline{FAFAFA}.",SpielerName(playerid));
SendClientMessage(pID,0xFF9C00FF,string);
}
}
format(query,sizeof(query),"UPDATE account_friendlist SET online='0' WHERE freundname='%s'",SpielerName(playerid));
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
return 1;
}
Vielen Dank im Voraus.