Beiträge von Mr.Master

    Ich möchte nochmal nach paar Monaten auf den Thread und das Problem aufmerksam machen, vielleicht kann jemand helfen.


    Achja und das mit dem Kompatibikitätsmodus hat leider auch nicht funktioniert.



    /Mr.Master

    [Mini-Script] Tankstellen


    Sehr geehrte Damen und Herren,


    Hier eine kleine Nützlichkeit für eure Server: Alle Positionen der Tankstellen in San Andreas mit Abfragefunktion. Dies sollte man nicht als Filterscript oder ähnliches sehen, sondern als kleine Hilfe, damit ihr euch nicht die lästige Arbeit machen müsst, alle Tankstellen auf der Map zusammen zu suchen. Die einzellnen Tankstellen sind nicht beschrieben, also kann ich nur die Positionen aller Tankstellen (insgesamt 19) bieten.




    Installation
    ________________________________________________________________________


    Zuerst must du folgendes "Forward" in dein Script einfügen.
    Dies ist nötig um später bei dem Befehl "/auftanken" oder ähnlichem, kurz und knapp abzufragen, ob der Spieler sich in der Nähe einer Tankstelle aufhält.


    forward IsPlayerAtTankstelle(playerid);



    Dann ist das dazugehörige "Public" nötig.
    Das ist der dazugehörige Code für das vorherige "Forward". Dies sind nun die Positionen aller Tankstellen die nacheinander abgefragt werden. Wenn das stimmt, also sich der Spieler im Umkreis von 5 Metern um eine Tankstelle aufhält, dann wird per [return 1;] die "Antwort ja" zurückgesendet.


    public IsPlayerAtTankstelle(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 1944.4954,-1772.7089,13.3906))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 1004.2097,-940.1768,42.1797))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 651.8976,-564.9250,16.3359))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -90.8697,-1169.0400,2.4194))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -1605.8799,-2714.1003,48.5335))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -2244.3743,-2561.0940,31.9219))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -2029.6212,156.7755,28.8359))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -1675.8535,413.2264,7.1797))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -2405.9473,976.4783,45.2969))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -1328.2087,2677.4607,50.0625))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -737.0900,2742.5413,47.2266))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 611.6671,1694.5723,6.9922))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 70.5098,1218.7645,18.8123))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -1470.9233,1864.3240,32.6328))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 2149.5557,2747.8027,10.8203))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 2640.1379,1106.3120,10.8203))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 1596.4186,2199.0229,10.8203))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 2202.3293,2474.0010,10.8203))
    {return 1;}
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 2114.8806,920.3449,10.8203))
    {return 1;}
    }
    return 0;
    }



    Funktion
    ________________________________________________________________________



    Also nochmals, hier mit einem Beispiel ist dargelegt, wie das ungefair aussehen sollte. Wichtig ist, dass ich die Funktion für das eigendliche Tanken nicht mitgeliefert hab. Da müst ihr also auf andere Toutorials zugreifen. Dies sind lediglich die Positionen der Tankstellen.



    if(strcmp("/auftanken", cmdtext,true) ==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    { // Ob der Spieler in einem Fahrzeug ist.
    if(IsPlayerAtTankstelle(playerid))
    { // Ob der Spieler an der Tankstelle ist.
    // Euer Code zum Auftanken und Bezahlen.
    }
    else if(!IsPlayerAtTankstelle(playerid))
    {
    SendClientMessage(playerid,Farbcode,"Du bist an keiner Tankstelle!");
    return 1;
    }
    }
    else if(!IsPlayerInAnyVehicle(playerid))
    {
    SendClientMessage(playerid,Farbcode,"Du sitzt in keinem Fahrzeug!");
    return 1;
    }
    }


    ________________________________________________________________________



    Falls Fragen offenstehen, bitte im Thread posten.
    Wenn ihr Fehler im Script entdeckt habt, bitte bei mir melden.


    mit freundlichen Grüßen
    Mr.Master

    Ja, wie gesagt, es kann auch ein andere Spieler sein.


    Wenn playerid nicht definiert ist, must du etwas anderes als Spieler definieren.


    Der Gamemode kann ja mit "GetPlayerMoney" nichts anfanhgen, das heißt, er will ja wissen, von welchem Spieler er das Geld herrausfinden soll.

    Ohja stimmt,


    Du sagst dem Gamemode er soll das Geld eines Spielers herrausfinden "GetPlayerMoney".


    Aber von welchem Spieler? Also:



    GetPlayerMoney(playerid); // Oder welcher Spieler auch immer.


    Machts mal so.

    // Da war wohl jemand schneller.

    Hallo liebe Community,


    Ich hab ein unschönes und auch ärgerliches Problem, welches ich mir nicht erklären kann.


    Wenn ich Sa-Mp wie gehabt starte, ich klicke auf "connect" und warte.
    Oft ist es so, dass sich SA-MP beim laden (also auf dem Startbild) aufhängt, und ich dann nichtsmehr machen kann, außer den Reset-Knopf zu betätigen. Alt+F4 und Strg+Alt+Entf funktioniert dann auch nichtmehr.
    Das koriosa daran ist, es ist eine 50 - 50 Chance, dass ich in das Spiel komme, aber auch, dass ich dann abstürze und den Computer restarten kann. Und wenn man das dreimal hintereinander hat, hat man die Nase oft voll.


    Ich hoffe ihr könnt mich dazu beraten und helfen.


    /Mr.Master.