Alles anzeigenSchau:
//Du machst oben in dein Skript:
new d_Namen[4];
//Dann weißt du der Variable die IDs von den Spielern zu, die du haben willst:
d_Namen[0] = 5; //Also hier hätten wir jetzt Spielerid 5 mit drinnen..usw
//Dann da wo du deinen Dialog anzeigen willst:
for(new i,tmp[MAX_PLAYER_NAME]; i<sizeof d_Namen; i++) {
GetPlayerName(d_Namen[i],tmp,MAX_PLAYER_NAME);
//Hier formatierst du alles zu einem String und zeigst dann die Namen im Dialog an
}
//Und dann unter OnDialogResponse
if(dialogid == DIALOG_TICKETS) {
if(listitem >= sizeof d_Namen || !response) return 1;
new tmp_id = d_Namen[listitem];
if(!IsPlayerConnected(tmp_id))return SendClientMessage(playerid, HellRot, "...");
if(!GetPVarInt(tmp_id, "JustReport"))return SendClientMessage(playerid, HellRot, "FEHLER:{FFFFFF} ...");
if(tmp_id==playerid)return SendClientMessage(playerid, HellRot, "FEHLER:{FFFFFF} ...");
}
mfg.
Bist du dir Sicher das dass hier Richtig ist ?
for(new i,tmp[MAX_PLAYER_NAME]; i<sizeof d_Namen; i++) {
GetPlayerName(d_Namen[i],tmp,MAX_PLAYER_NAME);
}
Soweit mir bekannt ist der 1. Parameter von GetPlayerName (playerid). Und du benutzt da d_namen[i]
Beziehungsweise d_namen kann ja auch als Feldervariable genutzt werden..
Aber du lässt das ganze ja in tmp ausgeben, dass lässt sich dann nicht einfach mit d_namen wieder auslesen.
Muss das ganze dann nicht so aussehen ?
for(new i; i<GetMaxPlayers(); i++) {
GetPlayerName(i,d_namen[i],MAX_PLAYER_NAME);
}
sizeof(d_namen); sollte auch gehen solange genügend Felder erlaubt sind
Ich bitte um Antwort

