Beiträge von Jexian

    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);
    }

    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



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

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


    so sieht es jetzt aus


    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 -.-

    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 ?

    wenn du mir sagst wie -d3 geht ^^
    aber ich habe mal max_players raus genommen teste grade neu


    //edit
    gelöst new:PlayerText:bcpdcard[MAX_PLAYERS][4];
    ich habe einfach max_players gelöscht und überall die 2te playerid raus so das es nur
    PlayerTextDrawSetString(pID,bcpdcard[2], str);

    habe ich jetzt geht der ganze befehl nicht mehr
    debug] Run time error 4: "Array index out of bounds"
    [debug] Attempted to read/write array element at index 29 in array of size 4
    [debug] AMX backtrace:
    [debug] #0 0048f480 in public ocmd_kacke(29, 8477560) in script.amx
    [debug] #1 native CallLocalFunction () in samp-server.exe
    [debug] #2 00006444 in public OnPlayerCommandText (29, 8477492) in

    Aus irgendeinen Bug gurnd wie immer bei pawn will er es nicht setzten



    new pID,str[144];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_GREY, "Benutze /bcpd playerid");
    PlayerTextDrawShow(pID,bcpdcard[pID][0]);
    PlayerTextDrawShow(pID,bcpdcard[pID][1]);
    PlayerTextDrawShow(pID,bcpdcard[pID][2]);
    PlayerTextDrawShow(pID,bcpdcard[pID][3]);
    format(str, sizeof(str), "%s", GetName(playerid));
    PlayerTextDrawSetString(pID,bcpdcard[1][pID], str);
    format(str, sizeof(str), "%s", GetName(playerid));
    PlayerTextDrawSetString(pID,bcpdcard[2][pID], str);
    format(str, sizeof(str), "%d.%d.%d", SpielerInfo[playerid][pDay],SpielerInfo[playerid][pMonth],SpielerInfo[playerid][pJahr]);
    PlayerTextDrawSetString(pID,bcpdcard[3][pID], str);


    doch alles bleibt gleich... -.-