Habe Probleme mit dini

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
  • Hallo Leute,


    ich habe folgenden Code und weiß nich mehr weiter wieso er nich klappt. Ich schätze das Problem hängt mit dem Dateipfad zusammen, da es mit einem fest definierten Pfad geht.
    dcmd_text(playerid,params[])
    {
    new string[1];
    if(sscanf(params,"s",string)) SendClientMessage(playerid,0xff00ff00,"Benutzung: /text [zu speichernden Text]");
    else
    {
    new text[1],name[1],path[1];
    GetPlayerName(playerid,name,sizeof(name));
    format(path,sizeof(path),"/Test/%s.ini",name);
    dini_Create(path);
    dini_Set(path,"Text",string);
    format(text,sizeof(text),"Du hast [%s] gespeichert",string);
    SendClientMessage(playerid,0x00ff00ff,text);
    }
    }
    Hoffe ihr helft mir weiter.

  • VIEL zu kleine Strings/Arrays.


    Du kannst bspw. nicht den Text "/Test/%s.ini", der formatiert bis zu 30 Stellen hat, in einem String mit nur einer Zelle speichern!


    Von daher müssen die Strings in dem Command ungefähr diese Werte haben:
    new string[100]; // Dürfte reichen
    // ...
    new text[128], name[20], path[32];


    Mit diesen String-Sizes sollte es optimal funktionieren.

  • Genau, so sind Arrays (und Strings, die ja eigentlich auch nur Arrays sind) aufgebaut.