Beiträge von Jeffry

    Das heißt, dass du auf vorhergehender Ebene im Code schonmal ein "haus" als "new" deklariert hast.
    Benenne es in dieser Schleife um, zum Beispiel zu "haus2".


    Achte auch darauf, dass du alle Arrays mit denen du mit dieser Schleife einen Zugriff im Code hast, auf die neue Zählervariable "haus2" anpasst.
    Poste gegebenenfalls mehr vom Code, falls du nicht weißt, was zu tun ist.

    Du hast am Code noch was anderes verändert.
    Ändere das wieder zurück.

    printf("f0: %d / max: %d", FactionCars[fc][fFaction][fc], sizeof(Factions));
    format(pstring,sizeof(pstring),"%s,%d",Factions[FactionCars[fc][fFaction][fc]],randomplate);


    zu:

    printf("f0: %d / max: %d", FactionCars[fc][fFaction][0], sizeof(Factions));
    format(pstring,sizeof(pstring),"%s,%d",Factions[FactionCars[fc][fFaction][0]],randomplate);

    In der Zeile 11572 greifst du, ohne abzufragen ob killerid INVALID_PLAYER_ID ist auf ein Array zu.
    Füge dort
    if(killerid != INVALID_PLAYER_ID) zuvor ein.


    Die anderen Fehler scheinen in einer oder mehreren Includes zu liegen.
    Hast du die Meldung mit den vielen Zahlen auch im Compiler, wenn du die pawn.cfg Datei entfernst?

    Ja, diese erhöhen.


    Zwecks den anderen Fehlern:
    Erstelle in deinem /pawno/ Ordner eine Datei "pawn.cfg" und schreibe dort "-d3" (ohne Anführungszeichen) rein.
    Dann kompiliere deinen Code erneut und lasse dir die Fehler im Server Log wieder ausgeben. Dann siehst du neben den Fehlern die Zeilenangabe im Code, in der der Fehler generiert wird.

    Was wird dir so im Server Log ausgegeben?
    dcmd_efa(playerid,params[])
    {
    if(GetPlayerAdminLevel(playerid) >= NEEDED_ADMINLEVEL)
    {
    new vehid,faction[5];
    if(!sscanf(params,"dd",vehid,faction[0]))
    {
    sscanf(params,"dddddd",vehid,faction[0],faction[1],faction[2],faction[3],faction[4]);
    if(vehid < 400 || vehid > 611) return SendClientMessage(playerid,FACTION_COL_GREY,"Vehicle-ID nur von 400 bis 611.");
    if(faction[0] && faction[0] <= MAX_FACTIONS)
    {
    for(new f;f<5;f++)
    {
    if(faction[f] <= 1 || faction[f] > MAX_FACTIONS)
    {
    faction[f] = -255;
    }
    }
    for(new fc;fc<sizeof(FactionCars);fc++)
    {
    if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611)
    {
    FactionCars[fc][fVehid] = vehid;
    new Float:fX,Float:fY,Float:fZ,Float:fA;
    GetPlayerPos(playerid,fX,fY,fZ),GetPlayerFacingAngle(playerid,fA);
    FactionCars[fc][fPos][0] = fX;
    FactionCars[fc][fPos][1] = fY;
    FactionCars[fc][fPos][2] = fZ;
    FactionCars[fc][fPos][3] = fA;
    new Color[2];
    GetDefaultCarColorOfFaction(GetPlayerLeader(playerid),Color[0],Color[1]);
    FactionCars[fc][fCol][0] = Color[0];
    FactionCars[fc][fCol][1] = Color[1];
    for(new f;f<5;f++)
    {
    FactionCars[fc][fFaction][f] = faction[f];
    }
    FactionCars[fc][fPrice] = 0;
    for(new modd;modd<14;modd++)
    FactionCars[fc][fTuning][modd] = 0;
    FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-1);
    printf("Carid: %d", FactionCars[fc][fCarid]);
    new pstring[128];
    new randomplate = 1 + random(20);
    printf("randomplate: %d", randomplate);
    printf("f0: %d / max: %d", FactionCars[fc][fFaction][0], sizeof(Factions));
    format(pstring,sizeof(pstring),"%s,%d",Factions[FactionCars[fc][fFaction][0]],randomplate);
    printf("pstring: %s", pstring);
    SetVehicleNumberPlate(FactionCars[fc][fCarid], pstring);
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich erstellt.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Vergesse es nicht mit '/fpark' umzuparken.");
    PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);
    printf("Fertig.");
    return true;
    }
    }
    SendClientMessage(playerid,FACTION_COL_GREY,"Die Maximale Anzahl von Fraktionsfahrzeugen wurde bereits erreicht.");
    }
    else SendClientMessage(playerid,FACTION_COL_GREY,"Falsche Fraktion!");
    }
    else SendClientMessage(playerid,FACTION_COL_GREY,"Benutze: '/efa [Model] [Hauptfraktion]'.");
    }
    else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
    return 1;
    }

    Wenn dieser Code nicht bei der Erstellung des Fahrzeugs ausgeführt wird, dann musst du das Fahrzeug respawnen, nachdem du SetVehicleNumberPlate verwendet hast.
    Nutze dazu SetVehicleToRespawn.

    es nimmt zusätzliche Ressourcen für einen Wiedergabewert ein, den man auch über das "kleinere" Verfahren herauskriegen kann.

    Möglicherweise, ja, das ist allerdings nicht der Sinn vom Caching und wahrscheinlich auch vernachlässigbar, sondern es geht darum, dass der Server nicht auf die Antwort des MySQL Severs warten muss.
    Braucht dein MySQL Server angenommen 2 Sekunden für die Antwort auf das Query, aus welchem Grund auch immer, dann steht dein SA-MP Server so lange, bis die Antwort da ist. Das resultiert in einem merkbaren Lag. Daher sollte man, wo möglich, die Cache Funktionen in ein public auslagern.

    SetVehicleNumberPlate(FactionCars[fc][fCarid], Factions[FactionCars[fc][fFaction][0]], pstring);//Hier ist der warning
    zu:
    SetVehicleNumberPlate(FactionCars[fc][fCarid], pstring);

    Der Befehl:
    if(!strcmp("/erdbeben", cmdtext, true))
    {
    //static Variablen-Wert bleibt erhalten
    static eTimer = -1;
    if(eTimer == -1)
    {
    //Timer ist aus -> starten & direkt einmal aufrufen
    eTimer = SetTimer("ErdbebenTimer", 3000, true);
    ErdbebenTimer();
    }
    else
    {
    //Timer ist an -> beenden
    KillTimer(eTimer);
    eTimer = -1;
    }
    return 1;
    }


    Der Timer:
    forward ErdbebenTimer();
    public ErdbebenTimer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInRangeOfPoint(i, 200.0, 2126.1475,-1759.0438,13.5625))
    {
    SetPlayerDrunkLevel(i, 400);
    }
    }
    }
    return 1;
    }

    Der Code ist korrekt, bei mir kompiliert das problemlos.
    Ich schätze, dass die Werte, die AUTOHAUSER und MAXPARKPLATZE haben nicht passen.



    Du könntest es auch einfach zu dem hier ändern:
    new Float:DtcParkPlatz[][][] = {
    Gleich beim anderen.


    Bei vorbelegten Arrays muss die Größe nicht angegeben werden, da dies von der Vorbelegung her klar wird.