InRangeOfObject ?

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
  • Klar ist das möglich, mit ein bisschen Mathe wirst du es hinbekommen. Du musst mit den Koordinaten ein bisschen rechnen.

  • Meinst du sowas?


    stock IsPlayerInRangeOfObject(playerid, object, Float:distance) //by Templer
    {
    new Float:X, Float:Y, Float:Z;
    if(!IsValidObject(object)) return false;
    GetObjectPos(object, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, distance, X, Y, Z)) return object;
    return false;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Wenn du jetzt von meinem IsPlayerInRangeOfObject dann kommt es halt darauf an, ob du es als Funktion verwendest die in anderen Scripts über CallRemoteFunction oder SetTimer(Ex) aufgerufen werden oder du es einfach unter a_samp.inc als stock einfügst und es du dann auch in jedem Script hast ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Da hätte aber glaube ich auch eine IsPlayerInRangeOfPoint Abfrage gereicht.

  • C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1563) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1564) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1565) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1568) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1602) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1610) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1620) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1634) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1648) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1660) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1672) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1684) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1696) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1709) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1722) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1734) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1746) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1758) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1770) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1782) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1794) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1806) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1818) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1831) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1845) : error 079: inconsistent return types (array & non-array)
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1860) : error 079: inconsistent return types (array & non-array)


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



    26 Errors.
    ^^



    if (strcmp("/sperreweg", cmdtext, true) == 0)
    {
    if(Spieler[playerid][team] == 1 || Spieler[playerid][team] == 3 || Spieler[playerid][team] == 4 || Spieler[playerid][pAdmin] >= 1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 7.0, X, Y, Z)) return object;
    {
    DestroyObjectToStream(Sperre);
    }
    else
    {
    SendClientMessage(playerid, rot," Du bist kein Beamter");
    }
    else
    {
    SendClientMessage(playerid, rot,"Du bist zu weit weg");
    }
    return 1;
    }

  • @ Flip Super erklärt, jetzt haste es geschafft das ein Typ deine Variante so ausprobiert und siehe da, wirklich n1 :P


    @ TeamSpirit Bitte neues Thema aufmachen und dein Problem genauer Schildern... Viel genauer, Danke..

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!


  • Ich habe dazu noch eine Rückfrage! Soweit ich das verstanden habe, ist das o.g. Script für 1 Objekt, aber ich möchte es ja für alle Objekte der ID 1251 funktioniert. Oder habe ich da etwas missverstanden`?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(1517) : warning 203: symbol is never used: "Color"
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(2491) : error 017: undefined symbol "X"
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(2491) : error 017: undefined symbol "object"
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(2495) : error 029: invalid expression, assumed zero
    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(3593) : warning 203: symbol is never used: "strtok"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.

  • Sollte funktionieren.
    Kann fehler enthalten!



    stock getDistanceToObject(playerid, objectid, Float:Distance)
    {
    new Float:X,Float:Y,Float:z;
    GetObjectPos(objectid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(playerid, 30.0,X,Y,Z)
    {
    if(objectid == 1251/*objektID*/)
    {
    SetObjectPos(objectid,X,Y,Z-2);
    }
    }
    return 1;
    }


    @TeamSpirit


    Wo hast du Scripten gelernt?
    War das nur ein Crashkurs?


    Deine errors sind selbsterklärend wen man ein bisschen english kentnisse hätte.

    2 Mal editiert, zuletzt von AdnaN ()

  • if (strcmp("/sperreweg", cmdtext, true) == 0)
    {
    if(Spieler[playerid][team] == 1 || Spieler[playerid][team] == 3 || Spieler[playerid][team] == 4 || Spieler[playerid][pAdmin] >= 1)
    {
    new Float:X,Float:Y,Float:Z;
    GetObjectPos(Sperre, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, 7.0, X, Y, Z)) return Sperre;
    {
    {
    DestroyObjectToStream(Sperre);
    }
    else
    {
    SendClientMessage(playerid, rot," Du bist kein Beamter");
    }
    }
    else
    }
    SendClientMessage(playerid, rot,"Du bist zu weit weg");
    }
    return 1;
    }


    da hab ich was falschg xDDD weis ber net was

  • Sollte funktionieren.
    Kann fehler enthalten!
    Ungetestet!


    if (strcmp("/sperreweg", cmdtext, true) == 0)
    {
    if(Spieler[playerid][team] == 1 || Spieler[playerid][team] == 3 || Spieler[playerid][team] == 4 || Spieler[playerid][pAdmin] >= 1)
    {
    new Float:X,Float:Y,Float:Z;
    GetObjectPos(Sperre, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, 7.0, X, Y, Z)) { return Sperre; }
    /*{
    DestroyObjectToStream(Sperre); Weis nicht wohin damit.
    }*/
    else
    {
    SendClientMessage(playerid, rot,"Du bist zu weit weg");
    }
    }
    else
    {
    SendClientMessage(playerid, rot," Du bist kein Beamter");
    }
    return 1;
    }

  • @ Flip Super erklärt, jetzt haste es geschafft das ein Typ deine Variante so ausprobiert und siehe da, wirklich n1 :P

    Keine Ahnung was du gerade meinst.

  • der selbe fehler beim ersten else


    C:\Users\BCEX\Desktop\PAWN r8.0\gamemodes\Selfmade.pwn(2489) : error 029: invalid expression, assumed zero



    wenn ich die /**/ weg mache es gehört ja dahin wenn er z.B dzu den Berufen gehört und an der stelle steht dann soll diese geschehen

  • 2 Posts über dir.



    stock getDistanceToObject(playerid, objectid, Float:Distance)
    {
    new Float:X,Float:Y,Float:z;
    GetObjectPos(objectid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(playerid, 30.0,X,Y,Z)
    {
    if(objectid == 1251/*objektID*/)
    {
    SetObjectPos(objectid,X,Y,Z-2);
    }
    }
    return 1;
    }