Beiträge von Jeffry

    Die Begründung kann ich nicht nachvollziehen. Wenn du alle Systeme bei 0 anfangend (was auch normal ist) schreibst, dann ändert das nichts an der Performance, im Gegenteil eher, da du die ID 0 nicht verschenkst.
    Wobei Kye ja mit "tollem" Beispiel voran geht und die Fahrzeuge bei ID 1 anfangen lässt...


    Daher die Empfehlung: Fange überall bei 0 an, dann sparst du dir solche Umstände, zu versuchen eine ID zu blockieren (was nur mit einem NPC gehen würde).

    Erstelle im pawno Order eine Datei pawn.cfg und schreibe dort "-d3" rein, dann kompiliere deinen Code mit der pawno.exe geöffnet (Öffnen Button) neu und lass dir den Fehler nochmal ausgeben, dann steht die Zeile im Code dabei, die das verursacht.


    Da der Code ziemlich groß ist wäre es sinnvoll einen neuen Thread zu erstellen, wenn du den neuen Log hast, da dies auf jeden Fall keine kleine Frage mehr ist, sondern schon ein etwas komplexeres Debugging. Das wahrt die Übersicht.

    Es setzt den Wert auf -1, da es eine Pickup ID 0 gibt, und Variablen standardmäßig auf 0 sind, sofern sie Integers sind.


    Hast du das healpoint-Array mit dem -1 - Teil deklariert, und das OnPlayerPickUpPickup so angepasst, wie ich es dir gegeben habe?

    Mache es so:

    Das "new moneyevent" unter den Includes musst du zu:

    C
    new moneyevent = -1;

    ändern.

    Unter den Includes:

    C
    new healpoint[MAX_PLAYERS] = {-1,...};


    Der Befehl:


    OnPlayerPickUpPickup:

    C
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    	if(pickupid == healpoint[i])
    	{
    		SetPlayerHealth(playerid, 100);
    		break;
    	}
    }

    Möglicherweise kann dir das crashdetect Plugin da weiterhelfen, falls ein Arrays gesprengt wird, oder eine Funktion nicht existiert.
    Lade dir das mal herunter, und füge es in deinen Server ein, dann schaue ob es etwas im Server Log ausgibt, wenn du dich einloggst.

    Kann global auf dem Server nur ein Pickup erstellt werden, oder kann zum Beispiel jeder Spieler eines erstellen, das nur er selbst aufnehmen kann?

    Du kannst es entweder über gettime machen, und die Differenz von 86400 Sekunden berechnen, oder, wenn es immer am Tageswechsel sein soll, dann geht es auch mit getdate:


    Dann bei OnGameModeInit ein Timer, der das jede Minute aufruft:

    C
    SetTimer("CheckTag", 60000, true);

    Ist ja interessant, das scheint wohl ein Fehler von SA-MP zu sein, weil einstellen kann man die Größe eines Pickups ja nicht, sofern du beides mal die gleiche Model-ID verwendet hast.

    C
    Create3DTextLabel("Benutzen sie /enter\num das Gebäude zu Betreten!",COLOR_GREENYELLOW,bInfo[i][b_x]+0.0,bInfo[i][b_y]+0.0,bInfo[i][b_z]+0.0,40.0,0);

    Dann passe hier (^) jeweils die "+0.0" an, solange bis es in der Mitte sitzt. Gegebenenfalls musst du das + zu einem - machen. Versuche in 0.1'er Schritten vorzugehen, oder danach dann 0.01'er Schritte. Jeweils bei x oder y für die horizontale Verschiebung und bei z für die vertikale Verschiebung (hoch/runter).

    Nein, das ist relativ egal.
    Der Grund warum ich dir vorgeschlagen habe die Änderung zu machen ist, weil ich die Befürchtung habe, dass das strins einen Nachfolgenden Wert überschreibt (daher die 46).


    Falls der Fehler weiterhin auftritt, poste bitte mal das enum zu SpielerInfo.