Fehler bei DINI-System

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
  • Folgendes:


    Ich habe versucht eine Datei zu scripten, welche durch den Befehl /lager ausgelesen wird. Mit /lager wird auserdem auf die schon bestehende Zahl in der Datei 3 dazuaddiert. Leider bekomme ich bei meiner Lösung nach Ausführung des Befehls immer die Zahl 259. Ich habe keine Ahnung woran das liegen könnte.


    Hoffe mir kann da jmd helfen.


    Danke schonmal im Vorraus.


    Hier die Zeilen:




    if(strcmp(cmd,"/lager",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >=1337)
    {
    new var[128];
    var = dini_Get("/lvairport.txt", "Holz");
    format(string,sizeof(string),"%d",sizeof(var)+3);
    dini_Set("/lvairport.txt", "Holz", string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du darfst das nicht!");
    }
    return 1;
    }

  • Hi


    also so kann das schonmal nicht gehen!!
    bei dir steht volgendes geschreiben:


    format(variable, größe der variable, "",Größe der Variable + 3);
    volgendes Problem:
    du erhöhst die größe der variable und lässt die diese dann ausgeben....


    du musst den Wert der variable erhöhen und nicht die größe der variable



    Musterlösung:



    if(strcmp(cmd,"/lager",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >=1337)
    {
    new var[128];
    var = dini_Get("/lvairport.txt", "Holz");
    format(string,sizeof(string),"%d",var+3);
    dini_Set("/lvairport.txt", "Holz", string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du darfst das nicht!");
    }
    return 1;
    }




    Wenn ich du wäre würde ich die variable allerdings anderst nennen. Wenn du mal mehr zeilen cod hast z.b. 10000 und überall die variablen var heißen kennst du dich nicht mehr aus!!
    nenn doch die variable z.b. holz


    mfg The_OTTO

  • vielen dank für die schnellen Antworten. jedoch bekomme ich immer wieder diese errors:



    (6) : error 033: array must be indexed (variable "var")
    (7) : error 033: array must be indexed (variable "var")
    (8) : error 035: argument type mismatch (argument 3)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.




    hier die zeilen:


    if(strcmp(cmd,"/lager",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >=1337)
    {
    new var[128];
    var = dini_Int("/lvairport.txt", "Holz");
    format(string,sizeof(string),"%d",var+3);
    dini_IntSet("/lvairport.txt", "Holz", string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du darfst das nicht!");
    }
    return 1;
    }

  • if(strcmp(cmd,"/lager",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >=1337)
    {
    new var;
    var = dini_Int("/lvairport.txt", "Holz");
    var = var+3; //geht auch anders, bin das aber so gewohnt
    dini_IntSet("/lvairport.txt", "Holz", var);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du darfst das nicht!");
    }
    return 1;
    }


    Wobei es unnötig ist das ganze in einen String zu laden und dann wieder als Int zu nutzen...

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • was würdest du denn bei diesem problem vorschlagen? wenn man es ohne String macht?



    habe weiterhin einen error:



    (8) : error 035: argument type mismatch (argument 3)


    Zeilen:


    if(strcmp(cmd,"/lager",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >=1337)
    {
    new var;
    var = dini_Int("/lvairport.txt", "Holz");
    format(string,sizeof(string),"%d",var);
    dini_IntSet("/lvairport.txt", "Holz", string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du darfst das nicht!");
    }
    return 1;
    }

  • Schau dir meine Variante an, dann weißt du es.
    Du lädst den Int in einen String und willst ihn dann als Integer nutzen, was total unnötig ist.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Nein, wieso?
    if(strcmp(cmd,"/lager",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >=1337)
    {
    new var;
    var = dini_Int("/lvairport.txt", "Holz"); // liest die Variable aus
    var = var+3; // Addiert zum Wert 3
    dini_IntSet("/lvairport.txt", "Holz", var); // Speichert wieder in die .ini
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du darfst das nicht!");
    }
    return 1;
    }

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.