Szia ! Remélem tudtam segíteni.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == Dialog_Loot[playerid])
{
if(!response) return 1;
// Így elküldi, az adott sorra kattintott értéket, pl.: AK47\\nM4A1\\nDeagle
// Akkor ha rákattint az AK47-re akkor kifogja írni, hogy mire kattintot, azaz -> Kiválaszott tárgy: AK47.
// A dialog list-nél, az inputtext, azaz a \"beírt érték\", megfog egyezni, a sor értékével lásd fentebb leírtam.
new string[64]; format(string,sizeof(string),\"Kiválasztott tárgy: %s\",inputtext);
SendClientMessage(playerid,-1,string);
// Ezt mondjuk széttudod válogatni, a következő módon.
if(!strcmp(inputtext,\"AK47\")) GivePlayerWeapon(playerid,30,100);
else if(!strcmp(inputtext,\"M4A1\")) GivePlayerWeapon(playerid,31,100);
else if(!strcmp(inputtext,\"Deagle\")) GivePlayerWeapon(playerid,24,50);
// Vagy mondjuk tárgyaknál, ha van inventory rendszered.
if(!strcmp(inputtext,\"Kenyér\")) GivePlayerItem(playerid,inputtext,2);
// GivePlayerItem(playerid,\"Kenyér\",2); | mindegy melyiket írod, mivel az érték ugyanaz max átláthatóbb.
// De ha már úgy akarod megcsinálni, hogy menőbb legyen, akkor mondjuk használhatsz ID-ket is.
new loot_id = GetItemID(inputtext);
if(loot_id == GetItemID(\"Kenyér\")) GivePlayerItem(playerid,loot_id,2);
// Ez csak egy kis plussz, mivel én az Inventory rendszeremben, ID-k alapján különböztetem meg őket.
// String alapot nem szeretem, mert ha átnevezem, akkor azt is átkell, az ID meg nem változik.
}
return 1;
}