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 ![]()