dini_Isset Problem

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
  • Hey Leute,
    ich möchte abfragen ob in der dini Datei schon Warn2=reason steht? Nun habe ich das so gemacht aber dann kommt dieser Error.
    Ich habe schon rumprobiert aber ich bekomme es nicht hin. :/


    new Warngrund[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Warngrund,sizeof(Warngrund),"/warngruende/%s.ini",name);
    if(dini_Exists(Warngrund))
    {
    if(dini_Isset("/warngruende/%s.ini", "Warn2"),name)
    {
    dini_Set(Warngrund,"Warn3",reason);
    }
    else
    {
    dini_Set(Warngrund,"Warn2",reason);
    }
    }



    C:\Users\Justus\Desktop\sonstige Daten\Selfmade\gamemodes\selfmade.pwn(7) : error 033: array must be indexed (variable "name")

    Zitat von Elon Musk

    If you're trying to create a company, it's like baking a cake. You have to have all the ingredients in the right proportion.

  • new string[32];
    format(string,32,"/warngruende/%s.ini",name);
    if(dini_Isset(string, "Warn2"))


    Bin mir nicht sicher, könnte aber klappen.
    Arbeite nicht mit dini :cursing:


    //Edit: Du hast ja schon nen string^^
    Dann machs mal so:
    if(dini_Isset(Warngrund, "Warn2"))


    //Edit2: PWN-Klammern ;)

  • dini_isset ist nur dafür da um abzufragen ob etwas schon gesettet ist.


    Richtige Benutzung von Funktionen kann man auch immer in den Includes nachschauen:
    stock dini_Isset(filename[],key[]) {
    new key_length = strlen(key);
    if (key_length==0 || key_length+2>DINI_MAX_STRING) return false;

    new File:fohnd;
    fohnd=fopen(filename,io_read);
    if (!fohnd) return false;

    new tmpres[DINI_MAX_STRING];
    while (fread(fohnd,tmpres)) {
    if (
    tmpres[key_length]=='='
    && !strcmp(tmpres, key, true, key_length)
    ) {
    // We've got what we need
    fclose(fohnd);
    return true;
    }
    }
    fclose(fohnd);
    return false;
    }


  • Vielen dank ;) Jetzt funktioniert es alles wunderbar :)

    Zitat von Elon Musk

    If you're trying to create a company, it's like baking a cake. You have to have all the ingredients in the right proportion.