Fehler mit "IsPlayerInRangeOfPoint"

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,


    Zunächst einmal zum Problem, Ich möchte dass der Player in 3 Verschiedenen RangeOfPoints sein kann um eine /ad zu machen, oder aber DonatorRank sein soll und dann von überall aus eine Ad machen kann, Dummerweise bekomme ich IMMER den else "Du darfst nicht" ausgeworfen, egal ob ich in RangeofPoint bin oder nicht ... Mit DonatorRank hab ich noch nix weiter getestet ..



    Nun zum Pawn code


    if(!IsPlayerInRangeOfPoint(playerid, 2,1208.0734,-918.2900,43.0589) || !IsPlayerInRangeOfPoint(playerid, 2,1505.0288,-1698.5586,14.0469) || !IsPlayerInRangeOfPoint(playerid, 2,-1981.5076,130.0961,27.6875) && SpielerInfo[playerid][pDonateRank] == 0)
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist an keinem /ad Punkt");
    return 1;
    }



    Für evtl. einrückfehler bitte ich um entschuldigung, aber entweder mein Browser oder das Forum macht was es will .. aber ich hoffe dass es trotzdem erkennbar ist.



    Desweiteren hoffe ich dass der Fehler von euch gefunden wird und mir da kurz geholfen wird ... Offensichtlich bin ich doch zu doof ..



    Liebe Grüße

  • Mach es mal untereinander die Positionen.

  • deine Abfrage ist einfach zu lang


    Beispiel.


    if(IsPlayerInRangeOfPoint(playerid,40,1004.0812,-939.4362,42.1797) || IsPlayerInRangeOfPoint(playerid,40,1939.2225,-1772.7452,12.9431) ||
    IsPlayerInRangeOfPoint(playerid,40,1678.8000,61.2000,37.3000) || IsPlayerInRangeOfPoint(playerid,40,-1673.3566,416.4402,7.1797) ||
    IsPlayerInRangeOfPoint(playerid,40,-1470.7694,1864.8373,32.6328)|| IsPlayerInRangeOfPoint(playerid,40,614.7111,1690.7058,6.9922)||
    IsPlayerInRangeOfPoint(playerid,40,2202.6096,2473.2244,10.8203)|| IsPlayerInRangeOfPoint(playerid,40,1382.6985,460.3118,20.0612)||
    IsPlayerInRangeOfPoint(playerid,40,658.8763,-568.2060,16.3359)|| IsPlayerInRangeOfPoint(playerid,40,-2028.1200,156.1491,28.8359))

  • if(!IsPlayerInRangeOfPoint(playerid,2,1208.0734,-918.2900,43.0589) || !IsPlayerInRangeOfPoint(playerid,2,1505.0288,-1698.5586,14.0469) ||
    !IsPlayerInRangeOfPoint(playerid,2,-1981.5076,130.0961,27.6875) && SpielerInfo[playerid][pDonateRank] == 0)

    {
    SendClientMessage(playerid, COLOR_RED,"Du bist an keinem /ad Punkt");
    return 1;
    }


    Öhm, Errors gabs doch keine, weiss nich mehr was ich vorher für einen fehler machte, allerdings ist das Problem nach wie vor nicht gelöst und ich erhalte immernoch die Meldung "Du bist an keinem /ad punkt" obwohl ich aber sowas von in einem der AD Punkte stehe .... ich hab das übrigens mit DonateRank 0 zunächst getestet, denn mit DonateRank 0 soll man ja in die AD Punkte gehen und erst ab DonateRank 1 von überall aus die /ad machen können.



    Liebe Grüße

    Einmal editiert, zuletzt von Timon1986 ()

  • Probier das mal.


    if(!IsPlayerInRangeOfPoint(playerid,2,1208.0734,-918.2900,43.0589) || !IsPlayerInRangeOfPoint(playerid,2,1505.0288,-1698.5586,14.0469) || !IsPlayerInRangeOfPoint(playerid,2,-1981.5076,130.0961,27.6875) return SendClientMessage(playerid, COLOR_RED,"Du bist an keinem /ad Punkt");
    {
    //Aktion
    }


    //Edit


    Bist du auch sicher das


    2,-1981.5076,130.0961,27.6875


    die X,Y,Z Werte sind? Sieht mir eher danach aus das du den Skin mit geaddet hast und Z weg gelassen hast.


    mfg

    KleineHilfe 2.0

  • Öhm, 2,(is der Range von dem Point) 1208.0734 = x -918.2900 = y und 43.0589 = z z.B.


    Aber das ding ist, wenn ich das versuche, und es funktioniert ist ja immernoch nicht das DonateRank problem gelöst oder?



    //edit .. Das andere mit der - koordinate als erstes, also der letzte range of point ist in SF am Bahnhof ... Der fängt nunmal mit - an ... warum auch immer ... SF ist offensichtlich was sehr negatives *smile


  • Tut mir leid, mein Fehler ich hab mich verlesen.
    Das mit dem Donate kannst du einfach dazu machen.


    if(SpielerInfo[playerid][pDonateRank] == 0)
    {
    if(!IsPlayerInRangeOfPoint(playerid,2,1208.0734,-918.2900,43.0589) || !IsPlayerInRangeOfPoint(playerid,2,1505.0288,-1698.5586,14.0469) || !IsPlayerInRangeOfPoint(playerid,2,-1981.5076,130.0961,27.6875) return SendClientMessage(playerid, COLOR_RED,"Du bist an keinem /ad Punkt");
    {
    //Aktion
    }
    }
    else if(SpielerInfo[playerid][pDonateRank] == 1)
    {
    //Aktion
    }

    KleineHilfe 2.0

  • //EDIT


    Hab es nun doch hinbekommen, hab es folgender maßen geregelt ..


    if(SpielerInfo[playerid][pDonateRank] == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,1208.0734,-918.2900,43.0589) || IsPlayerInRangeOfPoint(playerid,2,1505.0288,-1698.5586,14.0469) || IsPlayerInRangeOfPoint(playerid,2,-1981.5076,130.0961,27.6875))
    {


    Dann passiert die /ad nur an den Points .. und dann darunter ...


    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist an keinem /ad Punkt");
    }
    }
    else if(SpielerInfo[playerid][pDonateRank] == 1)
    {



    und damit funktioniert es nun .... Danke euch allen für eure Hilfe :D


    Liebe Grüße


    Timon

    Einmal editiert, zuletzt von Timon1986 ()