sscanf error: System not initialised.

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
  • Guten Mittag,
    Ich habe mei mir mal die neuste version von sscanf rein getan
    ich hate voher immer den stock von sscanf gehabt also den alten


    nun habe ich bei dieser sache hier zb

    stock LadeZimmer()
    {
    new File:zFile = fopen("Zimmer.cfg",io_read),Content[1024],z = 1;
    while(fread(zFile,Content) && z<sizeof(ZimmerInfo))
    {
    stripNewLine(Content);
    sscanf(Content,"isfffd",ZimmerInfo[z][zID],ZimmerInfo[z][zBesitzer],ZimmerInfo[z][zPos][0],ZimmerInfo[z][zPos][1],ZimmerInfo[z][zPos][2],ZimmerInfo[z][zPreis]);

    die meldung sscanf error: System not initialised.
    was muss ich alles ändern ?

  • ich habe die neuste ja :)
    also alles was jetzt mit sscanf namen ausgibt muss immer eine länge dahinter ?
    und muss ich noch was bei der neue versionen beachten zb dieses hier
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"/invite playerid");


    hier zb habe ich es auch
    sscanf(Content,"ddddd",FightSystem[fs][fsOwnerFaction],FightSystem[fs][fsAttackFaction],FightSystem[fs][fsKillsOfOwner],FightSystem[fs][fsKillsOfAttack],FightSystem[fs][fsFightTime]);
    aber da ist nix mit namen oder so -.-

  • Nein, nur bei s also Strings musst du das angeben.


    Aber das hat nichts mit dem Fehler zu tun, das sollte eigentlich funktionieren.


    Kannst du mal den ganzen server_log zeigen? :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • ok gut
    Ich habe jetzt alles s mit s[144] versehen


    so sieht es jetzt aus




  • jedes s hat ein [144] dahinter und denoch kommt dieses scheiße

  • Spaßeshalber unter das #include <sscanf2> pack mal folgendes:


    C
    #if !defined _ALS_OnGameModeInit || !defined SSCANF_Init
        #error Falsches Pawno! Altes Include!
    #endif

    Kommt dann wenn du compilst diese Fehlermeldung?



    Wenn ja, dann öffnest du die falsche Pawno.exe :D

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Der Fehler liegt bei den Includes.


    Öffne alle Skripte + Filterskripte, schau dass überall die neue Version verwendet wird und sei dir sicher, dass du das überall richtig eingefügt hast.


    Hier ein original Zitat von Y_LESS:


    Zitat von Y_LESS

    If you get this error, you need to make sure that you have recompiled ALL your scripts using the LATEST version of "sscanf2.inc". Older versions didn't really require this as they only had two natives - "sscanf" and "unformat", the new version has some other functions - you don't need to worry about them, but you must use "sscanf2.inc" so that they are correctly called. If you think you have done this and STILL get the error then try again - make sure you are using the correct version of PAWNO for example.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Nein daran liegt es nicht
    es liegt an den sachen die beim starten geladen werden habe es grade gestetet hab alles ausgeklammert was geladen wird dann wahr es weg..
    zb hier

    else if(strcmp(key, "Pos") == 0) sscanf(line[s], "p,ffff", VehiclePos[i][0], VehiclePos[i][1],VehiclePos[i][2], VehiclePos[i][3]);
    else if(strcmp(key, "Colors") == 0) sscanf(line[s], "p,dd", VehicleColor[i][0], VehicleColor[i][1]);


    wird wohl auch veraltet sein weil das ist zb was geladedn wird beim gamemode start
    filterscripts habe ich keine mit sscanf nur das Script

  • Da verwendest du die falsche Syntax.


    Du musst anstatt p, p<,> schreiben :)


    Dann poste mal, wo du die ganzen Syntax Fehler bekommst, dann kann man dir evtl so helfen :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • hab den fehler nun einkreisen können
    es ist das hier was es macht



    LoadVehicles()
    {
    new string[2000];
    new File:handle, count;
    new filename[2000], line[2000], s, key[64];
    for(new i=1; i < MAX_DVEHICLES; i++)
    {
    format(filename, sizeof(filename), VEHICLE_FILE_PATH "v%d.ini", i);
    if(!fexist(filename)) continue;
    handle = fopen(filename, io_read);
    while(fread(handle, line))
    {
    stripNewLine(line);
    s = strfind(line, "=");
    if(!line[0] || s < 1) continue;
    strmid(key, line, 0, s++);
    if(strcmp(key, "Created") == 0) VehicleCreated[i] = strval(line[s]);
    else if(strcmp(key, "Model") == 0) VehicleModel[i] = strval(line[s]);
    else if(strcmp(key, "Pos") == 0) sscanf(line[s], "p<,>ffff", VehiclePos[i][0], VehiclePos[i][1],VehiclePos[i][2], VehiclePos[i][3]);
    else if(strcmp(key, "Colors") == 0) sscanf(line[s], "p<,>dd", VehicleColor[i][0], VehicleColor[i][1]);
    else if(strcmp(key, "Interior") == 0) VehicleInterior[i] = strval(line[s]);
    else if(strcmp(key, "VirtualWorld") == 0) VehicleWorld[i] = strval(line[s]);
    else if(strcmp(key, "Owner") == 0) strmid(VehicleOwner[i], line, s, sizeof(line));
    else if(strcmp(key, "NumberPlate") == 0) strmid(VehicleNumberPlate[i], line, s, sizeof(line));
    else if(strcmp(key, "Value") == 0) VehicleValue[i] = strval(line[s]);
    else if(strcmp(key, "Lock") == 0) VehicleLock[i] = strval(line[s]);
    else if(strcmp(key, "Alarm") == 0) VehicleAlarm[i] = strval(line[s]);
    else if(strcmp(key, "Paintjob") == 0) VehiclePaintjob[i] = strval(line[s]);
    else
    {
    for(new t=0; t < sizeof(VehicleTrunk[]); t++)
    {
    format(string, sizeof(string), "Trunk%d", t+1);
    if(strcmp(key, string) == 0) sscanf(line[s], "p<,>dd", VehicleTrunk[i][t][0], VehicleTrunk[i][t][1]);
    }
    for(new m=0; m < sizeof(VehicleMods[]); m++)
    {
    format(string, sizeof(string), "Mod%d", m);
    if(strcmp(key, string) == 0) VehicleMods[i][m] = strval(line[s]);
    }
    }
    }
    fclose(handle);
    if(VehicleCreated[i]) count++;
    }
    printf("Loaded %d vehicles", count);
    }

  • Also trotz der richtigen Syntax, kommt dieser Fehler im Log?


    Bist du sicher, mal server_log gelöscht und neu erstellen lassen usw? :D

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S