Hallo Brotfische,
Ich habe eine Frage zu meinem Inventar System. Undzwar möchte ich das alle Inventar Items in einem Dialog angezeigt werden. Wenn ein Item auf 0 ist, möchte ich nicht das es im Dialog angezeigt wird. Jetzt weiß ich nicht wie ich das ganau machen soll..
Besehende Codes bis jetzt:
enum ItemsEnum{
i_schlagring,
i_golfschlaeger,
i_schlagstock,
i_messer,
i_baseballschlaeger,
i_schaufel,
i_katana,
i_9mm_pistole,
i_schalldaempfer_9mm,
i_Dagle,
i_schrotflinte1,
i_schrotflinte2,
i_uzi,
i_mp5,
i_ak47,
i_m4,
i_tec9,
i_gewehr,
i_scharfschaetzengewehr,
i_rpg,
i_feuerloescher,
i_kamera,
i_fallschirm,
i_pizza,
i_brot,
i_banane,
i_steak
}
new ItemInfo[MAX_PLAYERS][ItemsEnum];
//Spieler Laden
new _query[300];
format(_query,sizeof(_query),"SELECT * FROM playerinventar WHERE spielername='%s'",getPlayerName(playerid));
mysql_function_query(dbhandle,_query,true,"OnPlayerItemsLoad","d",playerid);
forward OnPlayerItemsLoad(playerid);
public OnPlayerItemsLoad(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(!num_rows)return 1;
//Items laden
ItemInfo[playerid][i_schlagring] = cache_get_field_content_int(0,"item_schlagring",dbhandle);
printf("item_schlagring | Anzahl: %d",ItemInfo[playerid][i_schlagring]);
ItemInfo[playerid][i_golfschlaeger] = cache_get_field_content_int(0,"item_golfschlaeger",dbhandle);
printf("item_golfschlaeger | Anzahl: %d",ItemInfo[playerid][i_golfschlaeger]);
return 1;
}
ocmd:inv(playerid,params[])
{
for(new i=0; i<sizeof(ItemInfo[]); i++)
{
if(ItemInfo[playerid][ItemsEnum:i]==0)return SendClientMessage(playerid,C_Error,"Du hast keine Gegenstände in deinem Inventar.");
}
new string[128];
//Ab hier komm ich net weiter :(
format(string,sizeof(string),"%s (%i)\n%s (%i)\n",string, /*items*/);
ShowPlayerDialog(playerid,DIALOG_Inventar,DIALOG_STYLE_LIST,"Inventar",string,"Wählen","Abbrechen");
return 1;
}
Ich hoffe es kann mir jemand helfen
MfG