Reichweite abfrage mehrmals

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 Leute


    Ich wollte fragen ob sowas ähnliches möglich ist


    if(IsPlayerInRangeOfPoint(playerid,???,???,???))
    if(IsPlayerInRangeOfPoint(playerid,???,???,???))

    if(IsPlayerInRangeOfPoint(playerid,???,???,???))

    if(IsPlayerInRangeOfPoint(playerid,???,???,???))



    Kann man bei z.b /fahrblan
    das mehrmals einfügen .
    Das man wen man /fahrplan eingibt und bei einen von den Positionen ist das dan der befehl ausgeführt wird.
    Aber wenn man von den anderen Positionen nicht in der Nähe ist würde doch 3 mal stehen du bist nicht in de nähe der haltestelle.

    Kann mir da einer Weiter Helfen?



    MFG CaptainHeroLP

  • Das macht man so:


    if(IsPlayerInRangeOfPoint(playerid, 3.0, X, Y, Z) || IsPlayerInRangeOfPoint(playerid, 3.0, X, Y, Z))
    {
    //Hier ist er in der Nähe von einem von den 2 Punkten
    }
    else return SendClientMessage(playerid,rot,"Du bist nicht in der Nähe von was weiß ich !");


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Da kommen 5 Errors



    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2948) : error 075: input line too long (after substitutions)
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 001: expected token: ";", but found ")"
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : fatal error 107: too many error messages on one line


    Ich glaube ich hab es zu lang geschrieben gibt es keine andere möglichkeit?


    Meins :


    if(IsPlayerInRangeOfPoint(playerid,3.0,1203.0081,-928.0326,42.9346)) || IsPlayerInRangeOfPoint(playerid,3.0,1306.9812,-912.1295,38.9488)) || IsPlayerInRangeOfPoint(playerid,3.0,165.7533,-1746.5033,4.7122)) || IsPlayerInRangeOfPoint(playerid,3.0,419.7707,-1781.0780,5.5469))|| IsPlayerInRangeOfPoint(playerid,3.0,1187.9279,-1739.9261,13.5733)) || IsPlayerInRangeOfPoint(playerid,3.0,1480.6443,-1739.4814,13.5469)) || IsPlayerInRangeOfPoint(playerid,3.0,1814.1561,-1815.5992,13.5712)) || IsPlayerInRangeOfPoint(playerid,3.0,2079.6394,-1940.1353,13.5362)) || IsPlayerInRangeOfPoint(playerid,3.0,2454.7839,-1667.2444,13.4776)) || IsPlayerInRangeOfPoint(playerid,3.0,2425.0837,-1263.9460,24.0000)) || IsPlayerInRangeOfPoint(playerid,3.0,2246.0659,-1131.3391,26.1530)) || IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281))

  • einfach in der nächsten zeile weiterschreiben wenns zu lang wird



    if(IsPlayerInRangeOfPoint(playerid,3.0,1203.0081,-928.0326,42.9346)) || IsPlayerInRangeOfPoint(playerid,3.0,1306.9812,-912.1295,38.9488))|| (IsPlayerInRangeOfPoint(playerid,3.0,165.7533,-1746.5033,4.7122)) ||IsPlayerInRangeOfPoint(playerid,3.0,419.7707,-1781.0780,5.5469))|| IsPlayerInRangeOfPoint(playerid,3.0,1187.9279,-1739.9261,13.5733)) || IsPlayerInRangeOfPoint(playerid,3.0,1480.6443,-1739.4814,13.5469)) ||
    IsPlayerInRangeOfPoint(playerid,3.0,1814.1561,-1815.5992,13.5712)) || IsPlayerInRangeOfPoint(playerid,3.0,2079.6394,-1940.1353,13.5362)) || IsPlayerInRangeOfPoint(playerid,3.0,2454.7839,-1667.2444,13.4776)) || IsPlayerInRangeOfPoint(playerid,3.0,2425.0837,-1263.9460,24.0000)) || IsPlayerInRangeOfPoint(playerid,3.0,2246.0659,-1131.3391,26.1530)) || IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281))


    edit: ausserdem hast du nach jeder abfrage eine klammer zu viel zugemacht
    if(IsPlayerInRangeOfPoint(playerid,3.0,1203.0081,-928.0326,42.9346))
    zu
    if(IsPlayerInRangeOfPoint(playerid,3.0,1203.0081,-928.0326,42.9346)
    machen

  • Jetzt sind es 4 Errors



    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 001: expected token: ";", but found ")"
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Hol dir doch mal den deutschen copiler. Manchmal hilft das Übersetzen ungemein.
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 001: expected token: ";", but found ")"
    Das bedeutet nämlich:
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 001:erwartetes Zeichen: ";", aber gefunden ")"

  • Jetzt sind da diese Errors



    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : fatal error 107: too many error messages on one line

  • Was ich geschrieben hab :



    if(IsPlayerInRangeOfPoint(playerid,3.0,1203.0081,-928.0326,42.9346)) || IsPlayerInRangeOfPoint(playerid,3.0,1306.9812,-912.1295,38.9488);|| IsPlayerInRangeOfPoint(playerid,3.0,165.7533,-1746.5033,4.7122);|| IsPlayerInRangeOfPoint(playerid,3.0,419.7707,-1781.0780,5.5469);|| IsPlayerInRangeOfPoint(playerid,3.0,1187.9279,-1739.9261,13.5733); || IsPlayerInRangeOfPoint(playerid,3.0,1480.6443,-1739.4814,13.5469);
    IsPlayerInRangeOfPoint(playerid,3.0,1814.1561,-1815.5992,13.5712); || IsPlayerInRangeOfPoint(playerid,3.0,2079.6394,-1940.1353,13.5362); || IsPlayerInRangeOfPoint(playerid,3.0,2454.7839,-1667.2444,13.4776); || IsPlayerInRangeOfPoint(playerid,3.0,2425.0837,-1263.9460,24.0000); || IsPlayerInRangeOfPoint(playerid,3.0,2246.0659,-1131.3391,26.1530); || IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281);


    Alles hab ich nebeneinander nur die andere hälfte darunter.


    Errors :



    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : error 029: invalid expression, assumed zero
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2949) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • 2 Errors weniger aber ich hab immer noch 2 Errors übrig =( hab es mir einfacher vorgestellt



    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2950) : error 001: expected token: ")", but found "-identifier-"
    C:\Users\Özgür\Desktop\Neuer Ordner\gamemodes\Test.pwn(2951) : error 001: expected token: ";", but found "-identifier-"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Status



    ocmd:fahrplan(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,1203.0081,-928.0326,42.9346) || IsPlayerInRangeOfPoint(playerid,3.0,1306.9812,-912.1295,38.9488) || IsPlayerInRangeOfPoint(playerid,3.0,165.7533,-1746.5033,4.7122) ||IsPlayerInRangeOfPoint(playerid,3.0,419.7707,-1781.0780,5.5469) || IsPlayerInRangeOfPoint(playerid,3.0,1187.9279,-1739.9261,13.5733) || IsPlayerInRangeOfPoint(playerid,3.0,1480.6443,-1739.4814,13.5469)
    IsPlayerInRangeOfPoint(playerid,3.0,1814.1561,-1815.5992,13.5712) || IsPlayerInRangeOfPoint(playerid,3.0,2079.6394,-1940.1353,13.5362) || IsPlayerInRangeOfPoint(playerid,3.0,2454.7839,-1667.2444,13.4776) || IsPlayerInRangeOfPoint(playerid,3.0,2425.0837,-1263.9460,24.0000) || IsPlayerInRangeOfPoint(playerid,3.0,2246.0659,-1131.3391,26.1530) || IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281)
    ShowPlayerDialog(playerid,HS,DIALOG_STYLE_LIST,"Haltestellen","Noobspawn[Bullet]\nLos Santos[Bus]","Auswählen","Schließen");
    return 1;
    }


  • IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281);


    bei der letzten abfrage natürlich 2 klammern zumachen. damit wird die if abfrage beendet.. das ganze ist eigentlich einfacher als du glaubst.. mann muss nur die klammern zählen.



    IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281));

  • Wie gesagt einfach mal übersetzen vielleicht hilft es dir weiter.
    error 001: expected token: ")", but found "-identifier-" Bedeutet:
    error 001: erwartetes Zeichen: ")", aber gefunden "-identifier-"
    Und schick nochmal deinen Code.
    Ich gehe davon aus das du eine ) Zu wenig hast. Also bei dem letzen IsPlayerInRangeOfPoint mal eine Klammer zum schluss mehr zu machen.


    Und @ Tround. Bei einer Abfrage kein Semikolon :)


  • IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281);


    bei der letzten abfrage natürlich 2 klammern zumachen. damit wird die if abfrage beendet.. das ganze ist eigentlich einfacher als du glaubst.. mann muss nur die klammern zählen.



    IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281));


    Hinter Abfragen gehört kein Semikolon !


    Also muss es so aussehen:



    IsPlayerInRangeOfPoint(playerid,3.0,1461.8795,-1024.8387,23.8281))


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S