Einfach break mit return 1 ersetzen
MfG Kevin
Einfach break mit return 1 ersetzen
MfG Kevin
Alles anzeigenBevor 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
Codebreak 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.
Auch mit dem Code kann ich jeden Spieler eingeben ..
Mach es so wie ich es geschrieben habe
Es funktioniert, glaub mir
ShowPlayerDialog(playerid,DIALOG_CONTRACT,DIALOG_STYLE_INPUT,"Contract",string,"absenden","abbrechen");
return 1;
}
}
return ShowPlayerDialog(playerid,DIALOG_CONTRACT,DIALOG_STYLE_INPUT,"Contract","Der Spieler ist nicht Online!\nGib den Namen der Person ein","absenden","abbrechen");
Alles anzeigenMach es so wie ich es geschrieben habe
Es funktioniert, glaub mir
ShowPlayerDialog(playerid,DIALOG_CONTRACT,DIALOG_STYLE_INPUT,"Contract",string,"absenden","abbrechen");
return 1;
}
}
return ShowPlayerDialog(playerid,DIALOG_CONTRACT,DIALOG_STYLE_INPUT,"Contract","Der Spieler ist nicht Online!\nGib den Namen der Person ein","absenden","abbrechen");
new namestr[24];
for(new i=0; i<GetMaxPlayers();i++)
{
GetPlayerName(i, namestr, sizeof(namestr));
if(i==playerid || !IsPlayerConnected(i)) continue;
if(strcmp(inputtext,namestr,false) == 0)
{
format(string,sizeof(string),"Du möchtest auf {FFAA00}%s{FEFEFE} ein Kopfgeld aussetzen.\nBitte gib das Kopfgeld für den Spieler an!",inputtext);
ShowPlayerDialog(playerid,DIALOG_CONTRACT1,DIALOG_STYLE_INPUT,"Contract",string,"absenden","abbrechen");
format(Spieler[playerid][ContractSpieler],24,inputtext);
return 1;
}
}
return ShowPlayerDialog(playerid,DIALOG_CONTRACT,DIALOG_STYLE_INPUT,"Contract","Der Spieler ist nicht Online!\nGib den Namen der Person ein","absenden","abbrechen");
So funktioniert es auch nicht -.-
Bei mir hat es funktioniert
Und das macht ja auch Sinn!
Wird immernoch der untere Dialog angezeigt?
Ja es kommt der untere DIALOG..
Du machst aber nicht auf dir selbst ein Contract, oder?
if(i==playerid ... ) continue; <--------
Compilt?
Server neugestartet?
Du machst aber nicht auf dir selbst ein Contract, oder?
Da war der Fehler