Ist aber falsch,so einfach ist das ( lPrototypel ).
Ich zeig dir mal wo der Fehler liegt:
if(listitem==0)
{
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
{
if(Spieler[i][pJob] == 1)
{
IsAnyFarmerOnline = true;
}
}
}
if(!IsAnyFarmerOnline)
{
SendClientMessage(playerid, COLOR_GREY, "Kein Farmer online!");
return 1;
}
format(string, sizeof(string), "Farmer %s (ID: %i) (Tel: %d)\n", GetName(i), i, Spieler[i][pHandyNr]); // <-- wo kommt denn hier das i her ?
strcat(str2, string); // <-- Muss mit der format() Zeile zusammen verschoben werden.
ShowPlayerDialog(playerid, DIALOG_FARMLISTE, DIALOG_STYLE_MSGBOX,COLOR_HEX_ORANGE"Farmer-Liste", str2, "Schließen", "");
}
Die Zeilen die falsch sind,habe ich dir markiert.
Wo machen sie denn am meisten Sinn ? Du willst ja die Spieler die du in der Schleife prüfst verarbeiten, dass machst du ja auch richtig mit dem i , nur an der falschen Stelle. Das i ist außerhalb der Schleife nicht vorhanden und du würdest dann sowieso immer nur einen Spieler verarbeiten können.
Es muss also irgendwo wo hin verschoben werden,wo es direkt mit dem i aus der Schleife zusammen arbeiten kann, falls der Spieler ein Farmer ist.