Alle Tore mit /mv öffnen und 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
  • Ich kenn mich net aus, versuche nur zu helfen.


    Zitat


    Samstag, 6. Juni 2009, 20:39

    Evtl.
    ist die grund struktur nicht mehr benutzbar.
    evtl. muss es anderst geschrieben werden :/



    Sry wenn ich nur nerve, eine falsche aussage gemacht habe.


    Und np wenn es gestimmt hat und geholfen hat =)


    Mfg.

  • gut kleinen mom


    forward CloseGate();


    public CloseGate()
    {
    MoveObject(Gate, 1584.7315673828, -1637.9521484375, 12.382760047913, 4);
    return 1;
    }


    SetTimer("CloseGate", 5000, 0);


    und /zu rausnehmen ;) sollte gehen :D

  • forward CloseGate();


    Gate = CreateObject(969, 1584.7315673828, -1637.9521484375, 12.382760047913, 0, 0, 0);


    if (strcmp(cmdtext, "/auf", true)==0) // Befehl zum Öffnen
    {
    MoveObject(Gate, 1592.4787597656, -1637.9388427734, 12.977451324463, 4); // Die Kords, wo das tor sein soll wenns offen ist
    return 1;
    }


    public CloseGate()
    {
    MoveObject(Gate, 1584.7315673828, -1637.9521484375, 12.382760047913, 4);
    return 1;
    }
    SetTimer("CloseGate", 5000, 0);


    soo sieht's aus :D

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

  • Ich antworte mal auf die Frage des Threaderstellers, der es wie ich es herausgelesen habe will, dass die Tore nicht automatisch schliessen, sondern nur dann, wenn man erneut den selben Befehl eingibt. Setze dazu einfach eine Boolean auf true oder false, je nachdem ob das Tor geschlossen oder offen ist und frage dann beim Befehl ab, ob das jeweilige Tor (prüfen mit IsPlayerInRangeOfPoint) geöffnet oder geschlossen ist. Das wiederholst du dann einfach für alle Tore, die es gibt.



    #define MAX_FACTION 10 // Maximale Anzahl an Fraktionen


    // globale Variable erstellen
    new
    bool:pGate[MAX_FACTION+1]; // Tor standartmäßig geschlossen (= false)


    dcmd_gate(playerid, params[])
    {
    #pragma unused params
    if(IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z)) // Spieler in der Nähe vom Tor
    {
    if(pInfo[playerid][pFaction] == FRAKTIONSID) {
    if(!pGate[pInfo[playerid][pFaction]) { // Tor geschlossen
    MoveObject(); // Tor öffnen
    pGate[pInfo[playerid][pFaction] = true; // Variable setzen
    } else { // Tor offen
    MoveObject(); // Tor schliessen
    pGate[pInfo[playerid][pFaction] = false; // Variable setzen
    }
    }
    } else if(IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z)) {
    // das Gleiche ie oben für andere Fraktion wiederholen
    }
    return 1;
    }

  • SO Mann im Mond hast ihn zu 77% durcheinander gebraucht


    so Russi ;)


    mach so


    Oben :


    forward CloseGate();


    Oben :


    new Gate;


    OnGameMode :


    Gate = CreateObject(969, 1584.7315673828, -1637.9521484375, 12.382760047913, 0, 0, 0);


    OnPlayerCommandText :


    if (strcmp(cmdtext, "/auf", true)==0) // Befehl zum Öffnen
    {
    MoveObject(Gate, 1592.4787597656, -1637.9388427734, 12.977451324463, 4);
    SetTimer("CloseGate", 5000, 0);
    return 1;
    }


    bei deinen Publics :

    public CloseGate()
    {
    MoveObject(Gate, 1584.7315673828, -1637.9521484375, 12.382760047913, 4);
    return 1;
    }


    Wenns net klappt melde dich mal peer pn dann gebe ich dir meine icq nummer ;)

    Einmal editiert, zuletzt von Quini ()

  • Zitat

    SO Mann im Mond hast ihn zu 77% durcheinander gebraucht


    Wenn du "durcheinander gebracht" gemeint hast, dann sehe ich das eher so, dass ich nur das gemacht habe, was dazu dient die Frage des Threaderstellers zu beantworten. Die jetzige Diskussion hat nichts mit dem ursprünglichen Frage zu tun. Nochmals zu der ursprünglichen Frage:


    ähm ich wollte ja ben nix mit Timer ;) sondern das ich alle tore mit /mv öffne und dann auch wieder mit /mv schließe ^^ aber danke für die hilfe


    Genau das habe ich beantwortet. Die andere Frage mit automatisch schließen, gehört nach meinem Verstand in ein neues Thema.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen