DINI Frage?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Moin,


    Ich habe mal eine Frage zu DINI.

    Und zwar, bin ich gerad an einem Drogen System dran.
    Das natürlich auch fabelhaft funktioniert. Nur fehlt mir jetzt noch ein Befehl womit ich abfragen kann,
    welche Drogenpflanzen alles gepflanzt worden sind z.B von der Fraktion LSPD.
    Also man gibt (/plist) ein. Und dann werden auch wirklich nur von der Fraktion LSPD bzw. die Pflanzen
    angezeigt, die auch der Fraktion des Spielers angehören. der sich in dieser Fraktion befindet.


    Nur wie würde dieser aussehen, weil ich kann mir da kein Bildchen von machen mit DINI ?(




    Code:


    ocmd:plist(playerid)
    {
    for(new drugid=1;drugid<MAX_DRUGS;drugid++)
    {
    new string[54], string2[54];
    format(string,sizeof(string),"/Drogenpflanzen/%i.ini",drugid);
    if(dini_Exists(string))
    {

    }
    else
    {

    }
    }
    return 1;
    }




    Hoffe ihr könnt mir da helfen.



    MfG

  • Das kannst du so machen:
    ocmd:plist(playerid)
    {
    new string[54], frak, dialog[512];
    for(new drugid=1;drugid<MAX_DRUGS;drugid++)
    {
    format(string,sizeof(string),"/Drogenpflanzen/%i.ini",drugid);
    if(dini_Exists(string))
    {
    frak = dini_Int(string, "FraktionsID");
    if(frak == SpielerInfo[playerid][FrakID])
    {
    format(dialog, sizeof(dialog), "%sPflanze %d\n", dialog, drugid);
    }
    }
    }
    if(strlen(dialog)) ShowPlayerDialog(playerid, DIALOG_PFLANZEN, DIALOG_STYLE_LIST, "Pflanzen", dialog, "Ok", "Abbrechen");
    else SendClientMessage(playerid, 0xFF0000FF, "Error: Keine Pflanzen in der Fraktion.");
    return 1;
    }
    Dann hättest du eine Liste mit allen Pflanzen der Fraktion des Spielers. Die Bezeichnungen der Variablen etc musst du natürlich anpassen.

  • Nun, ich habe den Code jetzt für mich überarbeitet aber er möchte nicht,
    bekomme die ganze zeit die Fehlermeldung "Das es keine Pflanze gibt" obwohl sie erstellt ist.


    Code:



    ocmd:plist(playerid)
    {
    new pflanzenname[60], string[54], frak, dialog[100];
    for(new drugid=1;drugid<MAX_DRUGS;drugid++)
    {
    format(string,sizeof(string),"/Drogenpflanzen/%i.ini",drugid);
    if(dini_Exists(string))
    {
    frak = dini_Int(string, "Fraktionsnummer");
    if(frak == PlayerDaten[playerid][pFraktion])
    {
    switch(DrugSys[drugid][DrogenID])
    {
    case 1:{pflanzenname="HANFPFLANZE";}
    case 2:{pflanzenname="-";}
    case 3:{pflanzenname="-";}
    }
    format(dialog, sizeof(dialog), "[%s] | Drogenmenge: %dg | Wasserstand: %d%", pflanzenname, DrugSys[drugid][DrogenMenge], DrugSys[drugid][DrogenWasserstand]);
    SendClientMessage(playerid, ORANGE, dialog);
    }
    }
    else SendClientMessage(playerid, 0xFF0000FF, "Die Fraktion hat keine Drogenpflanzen gepflanz!");
    }
    return 1;
    }

  • Geht es so?
    ocmd:plist(playerid)
    {
    new pflanzenname[60], string[54], frak, dialog[100];
    for(new drugid=1;drugid<MAX_DRUGS;drugid++)
    {
    format(string,sizeof(string),"/Drogenpflanzen/%i.ini",drugid);
    if(dini_Exists(string))
    {
    frak = dini_Int(string, "Fraktionsnummer"); //Gegebenenfalls auch hier: DrugSys[drugid][DrogenFraktion]
    if(frak == PlayerDaten[playerid][pFraktion])
    {
    switch(DrugSys[drugid][DrogenID])
    {
    case 1:{pflanzenname="HANFPFLANZE";}
    case 2:{pflanzenname="-";}
    case 3:{pflanzenname="-";}
    }
    format(dialog, sizeof(dialog), "[%s] | Drogenmenge: %dg | Wasserstand: %d%", pflanzenname, DrugSys[drugid][DrogenMenge], DrugSys[drugid][DrogenWasserstand]);
    SendClientMessage(playerid, ORANGE, dialog);
    }
    }
    }
    if(!strlen(dialog)) SendClientMessage(playerid, 0xFF0000FF, "Die Fraktion hat keine Drogenpflanzen gepflanzt!");
    return 1;
    }

    Wenn nicht, dann stimmt vielleicht was mit der Fraktionsnummer nicht.