Hier bitte ein kleiner Anfang:
enum {
DIALOG_FRL_OPTIONS = 1,
DIALOG_FRL_DELETE,
DIALOG_FRL_SHOW,
DIALOG_FRL_ADD,
}
ocmd:fl(playerid, params[])
{
return ShowPlayerDialog(playerid, DIALOG_FRL_OPTIONS, DIALOG_STYLE_LIST, "Freundesliste", "Anschauen\nHinzufügen\nLöschen", "Auswählen", "Schließen");
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid){
if(!response)return 1;
case DIALOG_FRL_OPTIONS:{
switch(listitem){
case 0:return ShowPlayerDialog(playerid, DIALOG_FRL_ADD, DIALOG_STYLE_INPUT, "Freundesliste", "Gebe hier den Namen des Freundes ein", "Hinzufügen", "Zurück");
case 1:return CreateDialog(playerid,DIALOG_FRL_SHOW);
case 2:return CreateDialog(playerid,DIALOG_FRL_DELETE);
}
} case DIALOG_FRL_DELETE:{
if(!response)return
new query[128];
mysql_format(sqlHandler, query,"DELETE FROM `table` WHERE `Owner` = '%e' AND `Friend` = '%e' LIMIT 1;",PlayerName(playerid),inputtext); // Limit 1 bedeutet es wird nur 1 Datensatz gelöscht wird genutzt um ein query zu optimieren %e mysql_format escaped den string automatisch
mysql_query(query);
return CreateDialog(playerid, DIALOG_FRL_DELETE);
} case DIALOG_FRL_SHOW:{
if(!response)return ShowPlayerDialog(playerid, DIALOG_FRL_OPTIONS, DIALOG_STYLE_LIST, "Freundesliste", "Anschauen\nHinzufügen\nLöschen", "Auswählen", "Schließen");
} case DIALOG_FRL_ADD:{
if(!response)return ShowPlayerDialog(playerid, DIALOG_FRL_OPTIONS, DIALOG_STYLE_LIST, "Freundesliste", "Anschauen\nHinzufügen\nLöschen", "Auswählen", "Schließen");
}
}
return 1;
}
stock CreateDialog(playerid, dialogid){
new query[64],text[1024];
mysql_format(sqlHandler, query,"SELECT `Friend` FROM `table` WHERE `Owner` = '%e';",PlayerName(playerid));
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(query)){ // da wir nur einen Eintrag auslesen bekommt der auch den den Delimiter | , springt auch jeweils zum nächsten Eintrag beim auslesen
strcat(query,"\n");
strcat(text,query);
}
mysql_free_result();
return ShowPlayerDialog(playerid, DIALOG_FRL_DELETE, DIALOG_STYLE_LIST, "Freundesliste", text, "Auswählen", "Zurück");
}