Bevor das mit dem break noch zu viele Probleme aufwirft, schreibe ich das Problem eben um:
new namestr[25], merk;
merk=-1;
for(new i=0; i<GetMaxPlayres();i++){
GetPlayerName(i, namestr, sizeof(namestr));
if(i==playerid || !IsPlayerConnected(i)) continue;
if(strcmp(inputtext,namestr,true) == 0) { merk=i; break; }
iff(i==GetMaxPlayers() && !IsPlayerConnected(i)) { ShowPlayerDialog(playerid,DIALOG_PERSON,DIALOG_STYLE_INPUT,"Contract","Der Spieler ist nicht Online!\nGib den Namen der Person ein","absenden","abbrechen"); }
}
..
//ShowPlayerDialog..
//if(merk!=-1) //Show (alt.)
das "merk=i;" kann man natürlich direkt mit ShowPlayerDialog ersetzen
Der Rest sollte wohl kein Problem sein
break
break breaks out of a loop, ending it prematurely:
for (new a = 0; a < 10; a++)
{
if (a == 5) break;
}
This loop will go 6 times but code after the break will only be executed 5 times.
Wir müssen den Dialog aus der Schleife rausziehen, sonst bricht er dort ab.