Beiträge von RayJohnson

    Beim Compilen kamen die ganze Zeit über keine Meldungen, wie es bei dem Thema der Fall war, das du oben als Quelle angegeben hattest.
    Es taucht lediglich hin und wieder in der Server Konsole auf, wenn ich den Server mal (Neu)starte. Allerdings nur ab und zu. :S
    Das eine mal trat der Fehler auch auf, als ich ein Befehl eingegeben hatte. Das wollte ich allerdings gleich nochmal näher herausfinden, ob es ein bestimmter Befehl war.


    //e: seegras: Könnten auch die Function not registered was damit Zutun haben? Sind mir eben gerade erst aufgefallen.
    Auch wenn die auftauchen, läuft der Server einwandfrei. ?(


    Mich würde es in erster Linie interessieren, ob generell bedarf an sowas besteht.


    Das kommt ganz darauf an.
    Wird es ein Art "Speedmapping" oder schaut man dir ca. 1-2 Stunden zu, wie du etwas mappst? ^^
    Generell finde ich die Idee ganz witzig, mal zuzusehen, wie und was du als nächstes mappen würdest, nur ist es vielleicht auf der anderen Seite ziemlich langweilig, jemanden beim Mappen zuzusehen. :hm:

    Abend.
    Kaum ist der erste Fehler beseitigt, kommt auch schon der nächste & letzte Fehler, bei dem ich leider auch so gut wie keine Ahnung habe, woran es liegt.


    In manchen Fällen, wenn ich den Server neustarte, kommen eine Reihe an Fehlermeldungen in der Server Konsole (MySQL-Debug):

    Code
    [20:25:00] [debug] Run time error 8: "Heap underflow"
    [20:25:00] [debug]  Heap pointer (HEA) is 0x5569B0, heap bottom (HLW) is 0x819A0C
    [20:25:00] [debug] AMX backtrace:
    [20:25:00] [debug] #0 00000008 in public RefuelCheck () from script.amx


    Die obere Meldung wird ununterbrochen geprintet, bis der Server gestoppt wird. Sobald das kommt, kann man auch keine Befehle mehr schreiben. Der Server ist quasi tot, läuft aber noch. ^^
    Da aber selbst Google kaum Ergebnisse zu dem Run time error 8 ausspuckt, wollte ich euch mal fragen, ob ihr eine Lösung hättet, wo der Fehler liegen könnte.


    Der Public unten bewirkt lediglich, dass er überprüft, wie viel Treibstoff das Fahrzeug bereits getankt hat und das entsprechend bei dem Geschäft dieser Treibstoff abgerechnet wird.
    Was vermutlich der Fehler sein könnte, wäre meiner Theorie nach, dass es an der Foreach Include liegen könnte. Oder an der Abfrage, ob der Spieler online ist. Sicher bin ich mir da allerdings nicht. :hm:

    Der Public

    //OnGameModeInit
    SetTimer("RefuelCheck", 500, true);

    Der Public
    //Unten im Script
    forward RefuelCheck();
    public RefuelCheck()
    {
    static
    string[128];

    Der Public
    foreach (new i : Player)
    {
    if (!PlayerData[i][pLogged] || PlayerData[i][pRefill] == INVALID_VEHICLE_ID)
    continue;

    Der Public
    if (PlayerData[i][pRefill] != INVALID_VEHICLE_ID && PlayerData[i][pGasPump] != -1)
    {
    PlayerData[i][pRefillPrice]++;

    Der Public
    CoreVehicles[PlayerData[i][pRefill]][vehFuel] ++;
    PumpData[PlayerData[i][pGasPump]][pumpFuel] --;

    Der Public
    if (PumpData[PlayerData[i][pGasPump]][pumpExists])
    {
    format(string, sizeof(string), "Zapfsäule (%d)\n{FFFFFF}Inhalt: %d Liter", PlayerData[i][pGasPump], PumpData[PlayerData[i][pGasPump]][pumpFuel]);
    UpdateDynamic3DTextLabelText(PumpData[PlayerData[i][pGasPump]][pumpText3D], COLOR_DARKBLUE, string);
    }
    if (CoreVehicles[PlayerData[i][pRefill]][vehFuel] >= 100 || GetEngineStatus(PlayerData[i][pRefill]) || !PumpData[PlayerData[i][pGasPump]][pumpExists] || PumpData[PlayerData[i][pGasPump]][pumpFuel] < 0)
    {
    CoreVehicles[PlayerData[i][pRefill]][vehFuel] = 100;

    Der Public
    GiveMoney(i, -PlayerData[i][pRefillPrice]);
    SendServerMessage(i, "Du hast dein Fahrzeug für $%d betankt.", PlayerData[i][pRefillPrice]);

    Der Public
    if (PumpData[PlayerData[i][pGasPump]][pumpExists])
    {
    if (PumpData[PlayerData[i][pGasPump]][pumpFuel] < 0)
    PumpData[PlayerData[i][pGasPump]][pumpFuel] = 0;

    Der Public
    BusinessData[PlayerData[i][pGasStation]][bizVault] += PlayerData[i][pRefillPrice];
    Business_Save(PlayerData[i][pGasStation]);

    Der Public
    Pump_Save(PlayerData[i][pGasPump]);
    }
    StopRefilling(i);
    }
    }
    }
    return 1;
    }


    Ich habe lediglich ein einziges Thema auf dem englischen SAMP-Forum entdeckt, wo jemand so ziemlich den gleichen Fehler gehabt hat.
    Einige Beiträge darunter meinten, dass man das MySQL-Plugin updaten sollte von R7 auf R8. So hatte es bei denen jedenfalls geholfen.
    Bei mir war es allerdings ergebnislos und die Fehler kommen weiterhin. :S

    Zeig evtl mal deinen ganzen Command :)


    Okay. Bittesehr. :hm:


    //e: Die Kommentare hab ich gerade noch nachträglich hinzugefügt, falls ggf. fragen zur Funktion aufkommen sollten o.ä.



    CMD:motor(playerid, params[])
    {
    new vehicleid = GetPlayerVehicleID(playerid); //Fragt die FahrzeugID des Spielers ab


    if (!IsEngineVehicle(vehicleid)) //Fragt ab, ob das Fahrzeug überhaupt einen Motor hat
    return SendErrorMessage(playerid, "Du bist nicht in einem Fahrzeug mit Motor.");


    if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER) //Sollte eigentlich abfragen, ob der Spieler der Fahrer des Fahrzeugs ist
    return SendErrorMessage(playerid, "Du bist nicht der Fahrer dieses Fahrzeugs.");


    if (CoreVehicles[vehicleid][vehFuel] < 1) //Fragt ab, ob der Tank unter 1 / leer ist
    return SendErrorMessage(playerid, "Der Tank ist leer.");


    if (ReturnVehicleHealth(vehicleid) <= 300) //Fragt ab, ob das Fahrzeug unter 300 DL hat (Motorschadensystem)
    return SendErrorMessage(playerid, "Das Fahrzeug hat einen Motorschaden. (Suche ein Abschleppunternehmen auf)");


    switch (GetEngineStatus(vehicleid)) //Fragt den Motorstatus ab (ob aus oder an)
    {
    case false: //Wenn aus
    {
    SetEngineStatus(vehicleid, true);
    ShowPlayerFooter(playerid, "Du hast den Motor ~g~gestartet~w~.");
    SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s steckt den Schlüssel, betätigt die Zündung und startet den Motor.", ReturnName(playerid, 0));
    }
    case true: //Wenn an
    {
    SetEngineStatus(vehicleid, false);
    ShowPlayerFooter(playerid, "Du hast den Motor ~r~gestoppt~w~.");
    SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s dreht den Schlüssel für die Zündung und stoppt den Motor.", ReturnName(playerid, 0));
    }
    }
    return 1;
    }

    mal überlegt oder gefragt wie er es hat ?


    Reese hat's schon richtig erraten, wie ich es ungefähr habe. Zwar nicht in einem Stock sondern eher als Definierung, oben im Script.

    #define SendErrorMessage(%0,%1) \
    SendClientMessageEx(%0, COLOR_LIGHTRED, "[Fehler]:{FFFFFF} "%1)


    Aber da besteht ja nicht der Fehler.



    if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
    return SendErrorMessage(playerid, "Du bist nicht der Fahrer dieses Fahrzeugs.");


    Der Fehler liegt einzig und allein daran, ob es nun != oder == sein sollte - oder ob generell etwas an der gesamten Abfrage falsch ist.
    Daher verstehe ich nicht, weshalb so viel Luft um "SendErrorMessage" gemacht wird. ^^
    Und nein, Warnings bestehen nicht. Fehler auch nicht, nur dieser eine Denkfehler in dieser Abfrage, im /motor - Befehl.

    Abend, ihr Nachtaktiven unter euch.


    Ich hab gerade ein Problem.
    Entweder aufgetaucht durch Schlafmangel oder Dummheit. Ich hoffe, jemand kann mir behilflich sein.

    if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
    return SendErrorMessage(playerid, "Du bist nicht der Fahrer dieses Fahrzeugs.");

    Es kommt dauerhaft die Meldung, dass ich nicht der Fahrer des Fahrzeugs bin. Jedoch bin ich der Fahrer.
    Und sollte ich das != ändern, so wäre es doch demnach falsch, oder nicht?


    Kleine Info am Rande:
    Die obere Abfrage befindet sich im Befehl "/motor". Alle anderen Abfragen klappen, bis auf diese eine, wovon ich gerade überhaupt keine Ahnung hab, wo der Fehler liegen könnte.



    Grüße


    //e Nachtrag: Problem hat sich nach einem Server-Neustart von selbst erledigt. :|

    Das habe ich schon versucht aber es geht nicht


    Die Frage ist, was geht nicht?
    Es muss dir auch bewusst sein, dass du die Codes nicht einfach in dein derzeitiges Script einfügen kannst.
    Du musst es schon an dein Script - in dem Fall dein momentanes Fahrzeug-System - anpassen.

    Abend,


    ich wollte einmal nachfragen, ob hier eventuell noch jemand eine funktionierende libmysql.dll - Datei hat, die er mir bereitstellen könnte.
    Der Download bei BlueG's-Thema im englischen SAMP-Forum ist offensichtlich down und sonst finde ich auch keinen anderweitigen Download via Google oder in den SA:MP Foren.
    Hoffe jemand kann mir bei dem Problemchen behilflich sein.


    Grüße
    Ray_Johnson

    einen Handyladen (Handys and more)


    Das erste mal, dass ich sehe, dass Handys, andere Elektroniksachen und Kleidungsstücke in einem Bereich ausgestellt sind.
    Meiner Meinung nach sieht das gesamte Gebäude sehr gut aus, auch der Parkplatz, aber das Interior ist für mich etwas lustlos eingerichtet worden.
    Vielleicht ein Teppich, die Bereiche unterteilen oder das Gebäude kleiner machen, damit es im Inneren nicht so großflächig ausschaut.
    Aber ist dir gut gelungen, muss ich sagen. :)