Schranken

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
  • Halöle^^
    Ich wollte mal wissen wie man die Schranken hoch / runter mit einen Befehl macht also das die so bleiben bis man wieder den befehl benutzt...^^
    Also ich frage hier nur WEIL: Ich hab das noch nie mit schranken gemacht...
    Nur mit Gates


    Koords:


    CreateObject(968, 1206.2174072266, -931.20153808594, 42.577045440674, 0, 0, 279.5); // Schranke OBEN
    CreateObject(968, 1206.1978759766, -931.13787841797, 42.571598052979, 0, 90, 278.74768066406); //Schranke Unten


    Hoffe auf antworten


    MfG.


  • if(!strcmp("/schranke", cmdtext, true))
    {
    if(IstSchrankeOben == 1)
    {
    SetObjectRot(objektid, 0, 90, 278.74768066406);
    IstSchrankeOben = 0;
    }
    else if(IstSchrankeOben == 0)
    {
    SetObjectRot(objektid, 0, 0, 279.5);
    IstSchrankeOben = 1;
    }
    return 1;
    }
    Und eben das hier mit "CreateObject(968, 1206.1978759766, -931.13787841797, 42.571598052979, 0, 90, 278.74768066406); //Schranke Unten" ersetzen:
    IstSchrankeOben = CreateObject(968, 1206.1978759766, -931.13787841797, 42.571598052979, 0, 90, 278.74768066406); //Schranke Unten
    Und ganz oben: new IstSchrankeOben;

  • Ne ne ingame gehen die schranken nicht auf also hab das so gemacht :


    #define FILTERSCRIPT


    #include <a_samp>
    new IstSchrankeOben;



    public OnFilterScriptInit()
    {
    print("\n********************************************************");
    print("* Schranken am BSN *");
    print("********************************************************\n");

    IstSchrankeOben = CreateObject(968, 1206.1978759766, -931.13787841797, 42.571598052979, 0, 90, 278.74768066406); //Schranke Unten


    und


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp("/schranke", cmdtext, true))
    {
    if(IstSchrankeOben == 1)
    {
    SetObjectRot(968, 0, 90, 278.74768066406);
    IstSchrankeOben = 0;
    }
    else if(IstSchrankeOben == 0)
    {
    SetObjectRot(968, 0, 0, 279.5);
    IstSchrankeOben = 1;
    }
    return 1;
    }
    return 0;
    }


    €dit: Sind halt nur ausschnitte...^^

  • //Edit: Sry war quatsch was ich geschrieben habe^^ Versuch es mal so:
    //Ganz Oben
    new Schranke,IstSchrankeOben=0;


    // Unter OnFilterScriptInit
    Schranke = CreateObject(968, 1206.1978759766, -931.13787841797, 42.571598052979, 0, 90, 278.74768066406); //Schranke Unten


    //Und der befehl:
    if(!strcmp("/schranke", cmdtext, true))
    {
    if(IstSchrankeOben == 1)
    {
    SetObjectRot(Schranke, 0, 90, 278.74768066406);
    IstSchrankeOben = 0;
    }
    else if(IstSchrankeOben == 0)
    {
    SetObjectRot(Schranke, 0, 0, 279.5);
    IstSchrankeOben = 1;
    }
    return 1;
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

    Einmal editiert, zuletzt von maddin ()

  • Wow dankee <3


    Aber zwei sachen noch :


    Wie mache ich das nur für cops / fbi / army? Frak ids sind 1, 2 und 3 (Godfather)


    UUUUND


    Das ist direk oben... :(
    Sieht total unrealitisch aus...^^
    Wie geht das, dass, das langsam hoch geht? (realitsch)
    Hätte glaub sogar eine geschwindigkeit


    €dit: Mit den Frak's geht das doch so ähnlich oder? :


    if(IsACop(playerid))
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)

  • Damit es nur Für Cops/FBI/Army geht:
    if(!strcmp("/schranke", cmdtext, true))
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(IstSchrankeOben == 1)
    {
    SetObjectRot(Schranke, 0, 90, 278.74768066406);
    IstSchrankeOben = 0;
    SendClientMessage(playerid, 0xAFAFAFAA, "Du hast die Schranke geschlossen!");
    }
    else if(IstSchrankeOben == 0)
    {
    SetObjectRot(Schranke, 0, 0, 279.5);
    IstSchrankeOben = 1;
    SendClientMessage(playerid, 0xAFAFAFAA, "Du hast die Schranke geöffnet!");
    }
    return 1;
    }
    else return SendClientMessage(playerid, 0xAFAFAFAA, "Du darfst das nicht!");
    }
    Und damit die schranke einigermaßen "flüssig" auf/zu geht, müsstest
    Ich weiss nicht genau ob es dafür eine Funktion gibtdamit die schranke einigermaßen "flüssig" auf/zu geht . Falls nicht, müsstest du vllt per timer oder so die schranke immer ein kleines stückchen weiter auf machen, bis es halt "flüssig" aussieht.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Soo...
    Mit den Timer da hab ich i-wie keine ahnung hab nur Tut's gefunden dass, die Schranke dann nach so und soviel sekunden runter geht... :(
    Aber ich habe eine geschwindigkeit :


    TimerBSNauf = SetTimerEx("SchrankeOpenBSN", 20, 1,"d",playerid); //also wie füg ich hier den Timer richtig ein?
    Also mit new forward etc.


    MfG.


    €dit:
    Ich habe das jetzt mal mit 4 stück ausprobiert :


    new Schranke,IstSchrankeOben=0;
    new Schranke1,IstSchrankeOben1=0;
    new Schranke2,IstSchrankeOben2=0;
    new Schranke3,IstSchrankeOben3=0;


    Schranke = CreateObject(968, 1207.9560546875, -931.1123046875, 42.718257904053, 0, 0, 281.99157714844); //Schranke Oben
    Schranke1 = CreateObject(968, 1211.126953125, -949.404296875, 42.689765930176, 0, 0, 281.99157714844); //Schranke 1 Oben
    Schranke2 = CreateObject(968, 1182.1123046875, -935.3408203125, 42.754749298096, 0, 0, 99.992065429688); //Schranke 2 Oben
    Schranke3 = CreateObject(968, 1185.4091796875, -954.2548828125, 42.660717010498, 0, 0, 281.99157714844); //Schranke 3 Oben


    if(!strcmp("/schranke", cmdtext, true))
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(IstSchrankeOben == 1)
    {
    SetObjectRot(Schranke, 0, 0, 279.5);
    IstSchrankeOben = 0;
    SendClientMessage(playerid, COLOR_YELLOW, "Du hast die Schranke geschlossen!");
    }
    else if(IstSchrankeOben == 0)
    {
    SetObjectRot(Schranke, 0, 0, 281.99157714844);
    IstSchrankeOben = 1;
    SendClientMessage(playerid, COLOR_YELLOW, "Du hast die Schranke geöffnet!");
    }
    return 1;
    }
    else return SendClientMessage(playerid, COLOR_RED, "Du bist kein Cop / F.B.I / Army!");
    }




    if(!strcmp("/schranke1", cmdtext, true))
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(IstSchrankeOben1 == 1)
    {
    SetObjectRot(Schranke1, 0, 0, 279.5);
    IstSchrankeOben = 0;
    SendClientMessage(playerid, 0xAFAFAFAA, "Du hast die Schranke geschlossen!");
    }
    else if(IstSchrankeOben == 0)
    {
    SetObjectRot(Schranke1, 0, 0, 281.99157714844);
    IstSchrankeOben1 = 1;
    SendClientMessage(playerid, 0xAFAFAFAA, "Du hast die Schranke geöffnet!");
    }
    return 1;
    }
    else return SendClientMessage(playerid, 0xAFAFAFAA, "Du darfst das nicht!");
    }




    if(!strcmp("/schranke2", cmdtext, true))
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(IstSchrankeOben == 1)
    {
    SetObjectRot(Schranke2, 0, 0, 279.5);
    IstSchrankeOben2 = 0;
    SendClientMessage(playerid, 0xAFAFAFAA, "Du hast die Schranke geschlossen!");
    }
    else if(IstSchrankeOben == 0)
    {
    SetObjectRot(Schranke2, 0, 0, 99.992065429688);
    IstSchrankeOben2 = 1;
    SendClientMessage(playerid, 0xAFAFAFAA, "Du hast die Schranke geöffnet!");
    }
    return 1;
    }
    else return SendClientMessage(playerid, 0xAFAFAFAA, "Du darfst das nicht!");
    }




    if(!strcmp("/schranke3", cmdtext, true))
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(IstSchrankeOben == 1)
    {
    SetObjectRot(Schranke3, 0, 0, 0, 279.5);
    IstSchrankeOben3 = 0;
    SendClientMessage(playerid, 0xAFAFAFAA, "Du hast die Schranke geschlossen!");
    }
    else if(IstSchrankeOben == 0)
    {
    SetObjectRot(Schranke3, 0, 0, 281.99157714844);
    IstSchrankeOben3 = 1;
    SendClientMessage(playerid, 0xAFAFAFAA, "Du hast die Schranke geöffnet!");
    }
    return 1;
    }
    else return SendClientMessage(playerid, 0xAFAFAFAA, "Du darfst das nicht!");
    }

    Einmal editiert, zuletzt von Blitz100 ()