Run time error 5: "Invalid memory access"

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 liebe Leute,


    ich habe ein Script was auf MySQL basiert, alles klappt wunderbar wenn ich den Server starte. Jedoch geht er irgendwann mal einfach aus und ich kann mir nicht erklären warum. Manchmal gibt man alltägliche Befehle ein wie "/aduty" und er geht aus. Ich habe dann chrashdetect auf dem Server installiert und dies war dann im Server Log:


    Wie man dort nur unschwer lesen kann steht dort Run time error 5. Leider hatte ich so einen Error noch nie und weiß somit nicht wie ich dieses Problem lösen könnte. Könntet ihr mir weiterhelfen ?



    Mit freundlichen Grüßen
    Martin.1994

  • Run time error 5: "Invalid memory access"


    Ich kann dir nicht genau sagen an was es liegt du kannst dein skript mal im debug modus kompilen


    dazu erstellst du eine .cfg im pawno ordner die nennst du pawn.cfg


    dort schreibst du nun folgendes rein


    -d3 -r


    Kompilst dein skript und postest nochmal den error code mit den entsprechenden zeilen.

  • Das ganze läuft auf einem Root von einem Kollegen der ein Sponsoring hat.
    Kann das am Root liegen ? Wenn ja kann ich es auf einem anderen Server probieren ..


    Bei dem Debus compilen kamen diese Error´s, eigentlich die gleichen nur halt mehr davon:




  • //Adminduty
    command(Adminduty, playerid, params[])
    {
    #pragma unused params
    new string[128];
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    //Adminränge
    if(GetPVarInt(playerid, "Adminduty") == 0)
    {
    if(sStats[playerid][sAdminlevel] < 1)
    {
    SendClientMessage(playerid,Rot,"Du bist kein Administrator oder dein Administratorenlevel ist zu niedrig!");
    return 1;
    }
    if(sStats[playerid][sAdminlevel] > 5)
    {
    SendClientMessage(playerid,Rot,"Du bist kein Administrator oder dein Administratorenlevel ist zu niedrig!");
    return 1;
    }
    if(GetPVarInt(playerid, "Helm") > 0)
    {
    SendClientMessage(playerid,Rot,"Du kannst dein Dutystatus gerade nicht verändern!");
    return 1;
    }
    if(GetPVarInt(playerid, "InAschein") == 1)
    {
    SendClientMessage(playerid,Rot,"Du kannst dein Dutystatus gerade nicht verändern!");
    return 1;
    }
    if(sStats[playerid][sAdminlevel] == 5)
    {
    format(string,84,"{FFFFFF}[{FF0000}Projektleiter{FFFFFF}]");
    DutyLabel[playerid] = CreatePlayer3DTextLabel(playerid,string, 0xAAAAFFFF,X,Y,Z+0.3,10.0,playerid, INVALID_VEHICLE_ID, 0);
    RemovePlayerAttachedObject(playerid,5);
    RemovePlayerAttachedObject(playerid,6);
    sStats[playerid][sAnglerschein] = 0;
    SetPlayerAttachedObject(playerid, 5, 19079, 17, 0.054798, -0.068864, 0.143832, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
    SetPlayerAttachedObject(playerid, 6, 1276, 1, 0.026707, 0.049716, 0.044027, 0.000000, 166.186828, 295.838226, -0.335559, 1.000000, 0.018289);
    }
    else if(sStats[playerid][sAdminlevel] == 4)
    {
    format(string,84,"{FFFFFF}[{FF0000}Hauptsupporter{FFFFFF}]");
    DutyLabel[playerid] = CreatePlayer3DTextLabel(playerid,string, 0xAAAAFFFF,X,Y,Z+0.3,10.0,playerid, INVALID_VEHICLE_ID, 0);
    }
    else if(sStats[playerid][sAdminlevel] == 3)
    {
    format(string,84,"{FFFFFF}[{FF0000}Administrator{FFFFFF}]");
    DutyLabel[playerid] = CreatePlayer3DTextLabel(playerid,string, 0xAAAAFFFF,X,Y,Z+0.3,10.0,playerid, INVALID_VEHICLE_ID, 0);
    }
    else if(sStats[playerid][sAdminlevel] == 2)
    {
    format(string,84,"{FFFFFF}[{FF0000}Supporter{FFFFFF}]");
    DutyLabel[playerid] = CreatePlayer3DTextLabel(playerid,string, 0xAAAAFFFF,X,Y,Z+0.3,10.0,playerid, INVALID_VEHICLE_ID, 0);
    }
    else if(sStats[playerid][sAdminlevel] == 1)
    {
    format(string,84,"{FFFFFF}[{FF0000}Moderator/Scout{FFFFFF}]");
    DutyLabel[playerid] = CreatePlayer3DTextLabel(playerid,string, 0xAAAAFFFF,X,Y,Z+0.3,10.0,playerid, INVALID_VEHICLE_ID, 0);
    }
    SetPVarInt(playerid, "Adminduty", 1);
    format(string, sizeof(string), "{FFFF00}Admin: {FF4C4C}%s[%d] {FFFF00}ist nun als %s im Einsatz.", GetName(playerid),playerid, GetPlayerAdminRank(playerid));
    TextDrawShowForPlayer(playerid, OTickets);
    SetPlayerColor(playerid, Rot);
    }
    else if(GetPVarInt(playerid, "Adminduty") == 1)
    {
    SetPVarInt(playerid, "Adminduty", 0);
    SetPVarInt(playerid, "Funmodus", 0);
    format(string, sizeof(string), "{FFFF00}Admin: {FF4C4C}%s[%d] {FFFF00}ist nicht mehr als %s im Einsatz.", GetName(playerid),playerid, GetPlayerAdminRank(playerid));
    DeletePlayer3DTextLabel(DutyLabel[playerid]);
    RemovePlayerAttachedObject(playerid,5);
    RemovePlayerAttachedObject(playerid,6);
    TextDrawHideForPlayer(playerid, OTickets);
    SetSpielerFarbe(playerid);
    }
    SendClientMessageToAll(Gelb, string);
    return 1;
    }
    command(aduty, playerid, params[])
    {
    #pragma unused params
    return cmd_Adminduty(playerid, params);
    }



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    new year, month, day;
    new hour,minute,second;
    getdate(year,month,day);
    gettime(hour,minute,second);
    new string[270];
    new engine,lightss,alarm,doors,bonnet,boot,objective;
    new bot = GetNearestBot(playerid, 2.3);
    new bot2 = GetNearestBot(playerid, 2.1);
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lightss,alarm,doors,bonnet,boot,objective);
    new Hour, Minute, Second;
    gettime(Hour, Minute, Second);
    //Anti Grab Bug
    if(newkeys & KEY_SPRINT && GetPVarInt(playerid, "Grabbed") == 1)
    {
    return 1;
    }
    //Ein & Ausgänge
    //Rathaus
    if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,1.4, -2240.7166,2319.8894,5.2307))
    {
    if(sStats[playerid][sLevel] < 3)
    {
    SetPlayerPosEx(playerid, 387.2075,173.9353,1008.3828);
    SetPlayerFacingAngle(playerid,91.6092);
    SetPlayerInterior(playerid,3);
    }
    if(Hour >= 10 && Hour <= 24)
    {
    SetPlayerPosEx(playerid, 387.2075,173.9353,1008.3828);
    SetPlayerFacingAngle(playerid,91.6092);
    SetPlayerInterior(playerid,3);
    }
    else
    {
    SendClientMessage(playerid,Rot,"Das Rathaus hat geschlossen.(Öffnungszeiten: sind von 10-24 Uhr!)");
    return 1;
    }
    }
    if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,1.4, 390.7697,173.8253,1008.3828))
    {
    SetPlayerPosEx(playerid, -2244.6472,2320.1443,4.9688);
    SetPlayerFacingAngle(playerid,90.3521);
    SetPlayerInterior(playerid,0);
    }
    //Feuerwehr LV & SF Eingang
    if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,1.4, -2026.2426,67.1633,28.6916)) //SF
    {
    SetPlayerPosEx(playerid, 246.6460,64.8453,1003.6406);
    SetPlayerFacingAngle(playerid,358.1066);
    SetPlayerInterior(playerid,6);
    SetPVarInt(playerid,"Feuerwehr",2);
    }
    if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,1.4, 1769.5823,2105.1353,10.8219))
    {
    SetPlayerPosEx(playerid, 246.6460,64.8453,1003.6406);
    SetPlayerFacingAngle(playerid,358.1066);
    SetPlayerInterior(playerid,6);
    SetPVarInt(playerid,"Feuerwehr",3);
    }
    //Feuerwehr BS und Ausgang
    if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,1.4, -2452.0239,2359.3518,5.2733))
    {//Feuerwehr Eingang
    SetPlayerPosEx(playerid, 246.6460,64.8453,1003.6406);
    SetPlayerFacingAngle(playerid,358.1066);
    SetPlayerInterior(playerid,6);
    SetPVarInt(playerid,"Feuerwehr",1);
    }
    if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,1.4, 246.8301,62.3260,1003.6406))
    {//Feuerwehr Ausgang
    if(!IsAFW(playerid))
    {
    SetPlayerPosEx(playerid, -2451.5752,2357.6025,4.9868);
    SetPlayerFacingAngle(playerid,189.5785);
    SetPlayerInterior(playerid,0);
    }
    else
    {
    if(GetPVarInt(playerid, "Feuerwehr") == 1)
    {
    SetPlayerPosEx(playerid, -2451.5752,2357.6025,4.9868);
    SetPlayerFacingAngle(playerid,189.5785);
    SetPlayerInterior(playerid,0);
    SetPVarInt(playerid,"Feuerwehr",0);
    }
    if(GetPVarInt(playerid, "Feuerwehr") == 2)
    {
    SetPlayerPosEx(playerid, -2023.6296,67.2101,28.4559);
    SetPlayerFacingAngle(playerid,275.7226);
    SetPlayerInterior(playerid,0);
    SetPVarInt(playerid,"Feuerwehr",0);
    }
    if(GetPVarInt(playerid, "Feuerwehr") == 3)
    {
    SetPlayerPosEx(playerid, 1769.6951,2108.5576,10.8386);
    SetPlayerFacingAngle(playerid,359.2573);
    SetPlayerInterior(playerid,0);
    SetPVarInt(playerid,"Feuerwehr",0);
    }
    }

    }
    //edit PWN Tag

  • Was ist dies für eine commandprozessor ?


    zu dem da es auf


    command(aduty, playerid, params[])
    {
    #pragma unused params
    return cmd_Adminduty(playerid, params);
    }


    verweisst würde ich es mal test halber raus nehmen es kann gut dran liegen das er nicht mit
    dem aufruf klar kommt von Adminduty

  • Ok xD ich kannte nur die neue verwendung von zcmd mit CMD:


    jedoch ist dies trotzdem komisch das er dabei abkratzt was du jedoch auch machen kannst wäre eine funktion oder eine stock-funktion
    und dies dann aufrufen mit dem inhalt des commands.