Bitte um Hilfe

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 Tag,


    ich habe soeben einen Fehler in meiner Server.cfg festgestellt.


    [19:29:34] sscanf warning: String buffer overflow.
    [19:29:34] [debug] Run time error 5: "Invalid memory access"
    [19:29:34] [debug] AMX backtrace:
    [19:29:34] [debug] #0 0028d1d0 in public UpdateHaus (120) from PrB.amx
    [19:29:34] [debug] #1 0028da54 in ?? () from PrB.amx
    [19:29:34] [debug] #2 00128dd8 in public SSCANF_OnGameModeInit () from PrB.amx
    [19:29:34] [debug] #3 native CallLocalFunction () from samp03svr
    [19:29:34] [debug] #4 00004b04 in public FC_OnGameModeInit () from PrB.amx
    [19:29:34] [debug] #5 native CallLocalFunction () from samp03svr
    [19:29:34] [debug] #6 00002e80 in public OnGameModeInit () from PrB.amx


    Ich bitte um Hilfe.



    MfG,
    AroX

  • Beitrag von Kaliber ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • PUBLIC:UpdateHaus(HausID)
    {
    new string[350],
    hstate[5] = "Nein",
    hrentstate[5] = "Nein",
    str[50] = "",
    str1[50] = "";


    if(HausInfo[HausID][hLocked])
    hstate = "Ja";


    if(HausInfo[HausID][hRentable] == 1)
    hrentstate = "Ja";


    if(strcmp(HausInfo[HausID][hOwner], "Niemand", true) == 0)
    strcat(str,"\n\nNutze /buyhouse um das Haus zu kaufen!");


    if(HausInfo[HausID][hRentable] == 1)
    strcat(str1,"\nNutze /einmieten um dich einzumieten!");


    format(string, 280, "%s\n\nHaus Nummer: %d\nBesitzer: %s\nVerschlossen: %s\nLevel: %d\nPreis: $%s\nMietpreis: $%s\nMietbar: %s%s%s", HausInfo[HausID][hName], HausInfo[HausID][hID], HausInfo[HausID][hOwner], hstate, HausInfo[HausID][hLevel], GetPoint(HausInfo[HausID][hPreis]), GetPoint(HausInfo[HausID][hMiete]), hrentstate, str, str1);


    if(IsValidDynamic3DTextLabel(HausInfo[HausID][hElement]))
    UpdateDynamic3DTextLabelText(HausInfo[HausID][hElement], COLOR_PICKUPS, string);
    else
    HausInfo[HausID][hElement] = CreateDynamic3DTextLabel(
    string,
    COLOR_PICKUPS,
    HausInfo[HausID][hausx],
    HausInfo[HausID][hausy],
    HausInfo[HausID][hausz],
    10,
    INVALID_PLAYER_ID,
    INVALID_VEHICLE_ID,
    1,
    0,
    0,
    -1,
    100
    );


    if(IsValidDynamicPickup(HausInfo[HausID][hPickup]))
    DestroyDynamicPickup(HausInfo[HausID][hPickup]);


    new pickupID = 1272;
    if(strcmp(HausInfo[HausID][hOwner], "Niemand", true) == 0)
    pickupID = 1273;


    HausInfo[HausID][hPickup] = CreateDynamicPickup(pickupID, 1, HausInfo[HausID][hausx], HausInfo[HausID][hausy], HausInfo[HausID][hausz], 0);


    return 1;
    }

  • Versuche es mal ohne die direkten Zuweisungen bei der Deklaration:
    PUBLIC:UpdateHaus(HausID)
    {
    new string[350], hstate[5], hrentstate[5], str[50], str1[50];


    if(HausID < 0 || HausID >= sizeof(HausInfo)) return 0;


    if(HausInfo[HausID][hLocked]) hstate = "Ja";
    else hstate = "Nein";


    if(HausInfo[HausID][hRentable] == 1) hrentstate = "Ja";
    else hrentstate = "Nein";


    if(strcmp(HausInfo[HausID][hOwner], "Niemand", true) == 0) str = "\n\nNutze /buyhouse um das Haus zu kaufen!";


    if(HausInfo[HausID][hRentable] == 1) str1 = "\nNutze /einmieten um dich einzumieten!";


    format(string, sizeof(string), "%s\n\nHaus Nummer: %d\nBesitzer: %s\nVerschlossen: %s\nLevel: %d\nPreis: $%s\nMietpreis: $%s\nMietbar: %s%s%s", HausInfo[HausID][hName], HausInfo[HausID][hID], HausInfo[HausID][hOwner], hstate, HausInfo[HausID][hLevel], GetPoint(HausInfo[HausID][hPreis]), GetPoint(HausInfo[HausID][hMiete]), hrentstate, str, str1);


    if(IsValidDynamic3DTextLabel(HausInfo[HausID][hElement])) UpdateDynamic3DTextLabelText(HausInfo[HausID][hElement], COLOR_PICKUPS, string);
    else HausInfo[HausID][hElement] = CreateDynamic3DTextLabel(string,COLOR_PICKUPS,HausInfo[HausID][hausx],HausInfo[HausID][hausy],HausInfo[HausID][hausz],10,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0,0,-1,100);


    if(IsValidDynamicPickup(HausInfo[HausID][hPickup])) DestroyDynamicPickup(HausInfo[HausID][hPickup]);


    new pickupID = 1272;
    if(strcmp(HausInfo[HausID][hOwner], "Niemand", true) == 0) pickupID = 1273;


    HausInfo[HausID][hPickup] = CreateDynamicPickup(pickupID, 1, HausInfo[HausID][hausx], HausInfo[HausID][hausy], HausInfo[HausID][hausz], 0);
    return 1;
    }