IsPlayerInRangeOfPoint reagiert nicht..

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
  • Heyho, mich regt des echt langsam auf. Ich benutze ein Schrankeninclude und ich hab das jetzt so gemacht
    if(strcmp("/zoll1",cmdtext,true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,47.2275390625, -1527.6552734375, 5.0373840332031)) return SendClientMessage(playerid,ROT,"Du bist nicht an Schranke 1");
    {
    MoveSchranke(schranke1);
    }


    und IsPLayerInRangeOfPoint bringt garnichts ich kann die Schranke von entfernung 10000000 öffnen!! mich nervts und warum klappts nicht?




    Ideen oder Fragen zum Selfmade Script? --> Skype alextheking72



    © Project Revival Roleplay

  • An deinem schlechten Coding-Stil.
    Bei der Anordnung kein wunder,dass du den Fehler nicht siehst.


    if(strcmp("/zoll1",cmdtext,true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,47.2275390625, -1527.6552734375, 5.0373840332031)) return SendClientMessage(playerid,ROT,"Du bist nicht an Schranke 1");
    else // Du kannst dir hier wirklich ein else vorstellen. Zwar nicht wirklich korrekt,aber ok.
    {
    MoveSchranke(schranke1);
    }
    Schaut man sich den Code nochmal an:
    Ist man in der nähe des Punktes, dann kommt "Du bist nicht an Schranke 1".
    Tritt die o.g. Bedingung nicht ein, öffnet die Schranke.


    //Edit:
    Als Hinweis:
    new bla;
    {
    bla = 5;
    }
    Man kann { } machen ohne if etc.

  • Klappt nicht. :(
    if(strcmp("/zoll1",cmdtext,true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,47.2275390625, -1527.6552734375, 5.0373840332031)) return SendClientMessage(playerid,ROT,"Du bist nicht an Schranke 1");
    else // Du kannst dir hier wirklich ein else vorstellen
    {
    MoveSchranke(schranke1);
    }




    Ideen oder Fragen zum Selfmade Script? --> Skype alextheking72



    © Project Revival Roleplay

  • Es geht schon, nur hast du nicht darauf geachtet wann die Bedingung wahr wird und wann falsch.
    Ich zitiere mich nochmal selber:



    Ist man in der nähe des Punktes, dann kommt "Du bist nicht an Schranke 1".
    Tritt die o.g. Bedingung nicht ein ( sprich: Ist nicht in der nähe des Punktes ) , öffnet die Schranke.

  • Was macht es für einen Unterschied ob 3 oder 3.0 ?
    Warum soll er "true" und "10" bei strcmp verwenden ? Bei true stimme ich dir sogar noch zu ( ist aber eh per Standard eingestellt ) aber wozu die 10 ? Die 6 macht doch viel mehr Sinn.

  • Du musst es nur richtig lesen.
    Es kann doch gar nicht Stimmen,dass wenn du in der nähe des Punktes gibst du es verarbeistest mit "Du bist nicht in der nähe des Punktes".



    Wenn du wirklich ein Beispiel brauchst:
    new bla = 5;
    if( bla == 5 ) print("bla ist nicht 5");
    else print("bla ist 5")

  • Noch deutlicher geht es einfach nicht. Wenn du es nicht verstehst, lass es einfach, gut gemeinter rat.


    Sowas wollte ich hier mal nicht lesen, leute die ein anderen abhalten vom scripten lernen..
    verdammt wenigstens hilft mir goldkiller und schreibt hier nicht so ein mist rein..
    Goldkiller ist probier es eben ich habs verstanden




    Ideen oder Fragen zum Selfmade Script? --> Skype alextheking72



    © Project Revival Roleplay


  • Ich bedanke mich bei dir herzlich, ich bin ein Schritt weiter und habs jetzt verstanden.. Btw ~
    if(strcmp("/zoll1",cmdtext,true,10)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,47.2275390625, -1527.6552734375, 5.0373840332031))
    {
    MoveSchranke(schranke1);
    SendClientMessage(playerid,Rot,"Schranke wurde geöffnet (-1000$)");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht in der nähe der Zollstation!");
    }
    }




    Ideen oder Fragen zum Selfmade Script? --> Skype alextheking72



    © Project Revival Roleplay

  • Hier, versuch es mal so:


    if(strcmp("/zoll1",cmdtext,true)==0) {
    if(IsPlayerInRangeOfPoint(playerid,3.0,47.2275390625, -1527.6552734375, 5.0373840332031)) return SendClientMessage(playerid,ROT,"Du bist nicht an Schranke 1");
    {
    MoveObject(schranke1,X,Y,Z,SPEED z.b 3); return 1; }



    Oder mit OCMD


    ocmd:zoll1(playerid,params[]){ if(IsPlayerInRangeOfPoint(playerid,2,X,Y,Z)) return SendClientMessage(playerid,rot,"Du bist nicht an der Schranke."); //X,Y,Z Der Schranke. Die 2 ist die Reichweite wo man min sein muss um den Command zu machen. { MoveObject(schranke1,X,Y,Z,3); //X,Y,Z sind nun die Kordinaten, wenn das dor auf gehen zoll. Nach X,Y,Z wird der Speed eingegeben. return 1; }}



    So würde ich das machen.


    //edit


    Ups, da ist n fehler xD