Guten Abend,
ich habe ein kleines Call-System erstellt, nun werden die getätigten Calls auch in dem /wm Dialog angezeigt, nun scheitere ich aber daran, einen der Einträge der Calls anklicken zu können, und diesen dadurch anzunehmen. Sprich, wenn jemand "WheelmanCaller == 1" ist, soll sein Eintrag im /wm Dialog angezeigt werden. (Funktioniert!) Nun möchte ich aber, wenn ich den jeweiligen Eintrag im Dialog anklicke, diesen Eintrag annehmen, und die Position des jeweiligen Eintrages (users) angezeigt bekommen.
Mein /wm Befehl: (Funktioniert!) if(strcmp("/wm", cmd, true) == 0)
{
if(PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pAdmin] >= 2000)
{
new stringcallers[526], namecaller[MAX_PLAYER_NAME];
for(new i=0; i!=MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && WheelmanCaller[i] == 1)
{
new Float:Cx, Float:Cy, Float:Cz;
GetPlayerName(i, namecaller, sizeof namecaller);
GetPlayerPos(i, Cx, Cy, Cz);
format(stringcallers, sizeof stringcallers, "%s\n%s\t\t%d\t\t%0.2f", stringcallers, namecaller, PlayerInfo[i][pWantedLevel], GetPlayerDistanceFromPoint(playerid, Cx, Cy, Cz));
}
}
ShowPlayerDialog(playerid, DIALOG_WHEELMAN_CALLERS, DIALOG_STYLE_LIST, "Name\t\tWanteds\t\tEntfernung", stringcallers, "Annehmen", "Schließen");
}
return 1;
}
Mein OnDialogResponse Teil: (Funktioniert nicht!)
if(dialogid == DIALOG_WHEELMAN_CALLERS)
{
if(response)
{
for(new i=0; i!=MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && WheelmanCaller[i] == 1)
{
if(listitem == i)
{
new Float:Cx, Float:Cy, Float:Cz;
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Wheelman %s hat den Anruf von %s angenommen.", playername, giveplayer);
SendRadioMessage(10, COLOR_FAMILY, string);
GetPlayerPos(i, Cx, Cy, Cz);
SetPlayerCheckpoint(i, Cx, Cy, Cz, 5);
CP[playerid] = 72;
}
}
}
}
}