Ein Tor mit ein und dem selben Command öffnen / schließen

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
  • Nabend,
    wollte fragen wie das funktioniert, dass man ein Tor mit ein und dem selben Befehl öffnen und schließen kann. Habs probiert. Habe also /move gemacht und es ging hoch. Habe nochmal /move gemacht aber es ging net mehr runter. Muss man das irgendwie mit

    else ...

    machen?


    Hier mein PAWN Code zu einem Beispieltor:


    Tor auf:



    if (strcmp("/move", cmdtext, true, 10) == 0)
    {
    MoveObject(LSPD1, 258.9797668457, 91.832855224609, 1006.5345458984,3);
    return 1;
    }


    und Tor zu:



    if (strcmp("/move", cmdtext, true, 10) == 0)
    {
    MoveObject(LSPD1, 258.9797668457, 91.832855224609, 1004.0070800781,3);
    return 1;
    }


    Also muss man die beiden Commands zu einem machen? Also mit else verbinden irgendwie?

  • new state;


    if (strcmp("/move", cmdtext, true, 10) == 0)
    {
    if(!state){state = 1;return MoveObject(OBJID, X, Y, Z,SPEED);} // AUF
    MoveObject(OBJID, X, Y, Z,SPEED);
    state = 0;
    return 1;
    }



    Wenn du bei jedem Tor das selbe machen möchtest, frag die Position bzw. die Entfernung zum Tor ab kann auch mit einer Zone geregelt werden


    new state[20];
    if (strcmp("/move", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(...))
    {
    if(!state[0]){state[0] = 1;return MoveObject(OBJID, X, Y, Z,SPEED);}
    MoveObject(OBJID, X, Y, Z,SPEED);
    state[0] = 0;
    }
    else if(IsPlayerInRangeOfPoint(...))
    {
    if(!state[1]){state[1] = 1;return MoveObject(OBJID, X, Y, Z,SPEED);}
    MoveObject(OBJID, X, Y, Z,SPEED);
    state[1] = 0;
    }
    else SendClientMessage(playerid,0xFF0000FF,"Du bist bei keinem der Eingänge...!");
    return 1;
    }


    Und zu Erklärung , state dient einfach zur Status Angabe AUF/ZU, dann noch die Abfrage der Position usw..

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()

  • Wieso kommt da zwei mal MoveObject? oO

    Zitat von BlackFoX_UD_


    if(!state){state = 1;return MoveObject(OBJID, X, Y, Z,SPEED);} // AUF
    MoveObject(OBJID, X, Y, Z,SPEED);

    Einmal editiert, zuletzt von Jens ()