Beiträge von [SoL]Game

    //EDIT1:
    ");" beim Beispiel verkehrt gesetzt <.< ( jetzt stimmts).


    //EDIT2:
    Sorry Frage falsch gelesen -.-.
    Also, wenn du willst, dass sie nie respawnen:
    AddStaticVehicleEx(CarID, x, y, z, Rotation, Farbe1, Farbe2, -1); // -1 = Car respawnt nie (außer es wird zerstört etc.)


    MfG
    Game

    Pickup wo ein GameText kommt, also ein Text erscheint, wenn du reingehst:


    Ganz oben:


    new pickup;


    Unter OnGameModeInit:


    pickup = CreateObject(1239, 23, x, y, z, -1) // 1239 = Model des Icon, 23 = Typ (in dem Fall, dass es die ganze zeit bleibt), xyz Positionen, -1 = Dass es in allen Welten zu sehen ist


    Dann unter OnPlayerPickUpPickup:


    if(pickupid == pickup)
    {
    GameTextForPlayer(playerid,"~g~TEXT",4000,3); // ~g~ = Farbe die erscheint, TEXT = Text der erscheint, 4000 = Text erscheint 4 Sekunden
    }


    So das wär ein Text.


    Dann kannst du machen, dass man mit einem Pickup sich wohin porten kann:


    if(pickupid == pickup)
    {
    SetPlayerPos(playerid, x,y,z); //xyz = Die neue Position nach dem Reingehen
    SetPlayerInterior(playerid, X); // Den Interior den er bekommen soll (wenn er in kein Gebäude soll, eine 0 als X)
    GameTextForPlayer(playerid,"~g~TEXT",4000,3);// Text der dann kommt, wenn du willst ^^
    }


    Hilfereiche Wiki-Links:
    Pickup Typen
    Modele von Pickups
    Farbcodes(~g~ z.B.)



    MfG
    Game

    Mit Port meinst du bestimmt ein Pickup, wo der User rein muss und dann nach oben Teleportiert wird.
    Also:


    Oben:
    new pdport;


    Unter OnGameModeInit
    pdport = CreatePickup(1239, 23, x,y,z,-1); //"i", in der Garage


    Danach noch unter OnPlayerPickUpPickup
    if(pickupid == port)
    {
    SetPlayerPos(playerid, x,y,z);//Wohin er nach dem hineingehen kommt
    SetPlayerInterior(playerid, X);//Das Interior, dass er bekommen soll
    GameTextForPlayer(playerid,"~g~TEXT",3000,3);//Text als Info, das bei dem User erscheint, wenn er oben ist
    }



    So und damit nur Cops runter können kannst du oben ein "i" machen wo man mit einem Befehl runter kommt.


    if(strcmp("/befehl",cmdtext,true) == 0)
    {
    if(IsACop(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, X,Y,Z))
    {
    SetPlayerPos(playerid, X,Y,Z);
    SetPlayerInterior(playerid, 0);
    }
    }
    return 1;
    }


    Am besten noch an der Postion, wo man den Befehl machen kann ein Pickup machen:



    AddStaticPickup(1318, 2, X,Y,Z,-1);



    MfG
    Game

    new tGate;
    forward GateCloseGate();
    if(strcmp(cmdtext,"/hitbase",true)==0)
    {
    MoveObject(tGate,1411.0688476563, -1891.7446289063, 12.772193908691,2.0);
    SetTimer("GateClosetGate",5000,0);
    }
    return 1;



    public GateCloseGate()
    {
    MoveObject(tGate, Ursprungskoordinaten,2.0);
    return 1;
    }


    Achja und bei den Objekten noch dein Tor:

    tGate = CreateObject(.....);

    Probier das ganze mal mit MoveObject und IsPlayerInRangeOfPoint:




    //Oben

    #define COLOR_RED 0xFF0000AA

    new Gate1;
    new Gate2;
    new Gate3;
    new Gate4;



    forward KH1();
    forward KH2();
    forward KH3();
    forward KH4();





    //Deine Objecte
    Gate1 = CreateObject(968, -2562.931640625, 579.763671875, 14.194566726685, 0, 270.08624267578, 0);//Schranke 1 ZU
    Gate2 = CreateObject(968, -2603.451171875, 578.5966796875, 14.228128433228, 0, 270, 0);//Schranke 2 ZU
    Gate3 = CreateObject(968, -2670.4091796875, 579.2392578125, 14.103130340576, 0, 88.680023193359, 0);//Schranke 3 ZU
    Gate4 = CreateObject(968, -2608.927734375, 693.83203125, 27.637502670288, 0, 89.725158691406, 0);//Schranke 4 ZU



    //Befehl
    if (strcmp(cmdtext, "/tor", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, -2562.931640625, 579.763671875, 14.194566726685))
    {
    MoveObject(Gate1, 0, 0, 0, 3.0);
    SetTimer("KH1",5000,0);
    return 1;
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2603.451171875, 578.5966796875, 14.228128433228))
    {
    {
    MoveObject(Gate2, 0, 0, 0, 3.0);
    SetTimer("KH2",5000,0);
    return 1;
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2670.4091796875, 579.2392578125, 14.103130340576))
    {
    {
    MoveObject(Gate3, 0, 0, 0, 3.0);
    SetTimer("KH3",5000,0);
    return 1;
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2608.927734375, 693.83203125, 27.637502670288))
    {
    {
    MoveObject(Gate4, 0, 0, 0, 3.0);
    SetTimer("KH4",5000,0);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist nicht an der KH Schranke!");
    }
    return 1;
    }


    //Irgendwo im Script


    public KH1()
    {
    MoveObject(Gate1, 0, 270.08624267578, 0, 2.5);
    return 1;
    }


    public KH2()
    {
    MoveObject(Gate2, 0, 270, 0, 2.5);
    return 1;
    }


    public KH3()
    {
    MoveObject(Gate3, 0, 88.680023193359, 0, 2.5);
    return 1;
    }


    public KH4()
    {
    MoveObject(Gate4, 0, 89.725158691406, 0, 2.5);
    return 1;
    }

    a)
    Du öffnest die Remote Console, logst dich da ein und gibst im Textfeld "hostname [NAME]" ein.


    oder


    b)
    Du gehst ins Game rein, logst dich ins RCON ein (/rcon login [passwort]), dann gibst du /rcon hostname [NAME] ein.



    Sollte eigentlich gehen, aber optimal wäre es, wenn es per server.cfg gehen würde...

    Markier mal die Bereiche, bei denen der Fehler angezeigt wird.


    Zu den Fehlern 3 und 4:


    nicht:
    ;new M_Connect
    ;new M_ZoneSetColor



    sondern:


    new M_Connect;
    new M_ZoneSetColor;




    Hoffe das hilft gegen die 2 Fehler.

    Aber am Ende muss die Klammer zu gehen, keine neue ;)





    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp("/aheal", cmdtext, true))
    {
    SetPlayerHealth(playerid, 100);
    SetPlayerArmor(playerid, 100);
    SendClientMessage(playerid, FARBCODE, "Du hast dir eine Schutzweste angelegt, und dich geheahlt!");
    return 1;
    } // Hier muss die Klammer zu gehen, es schließt den Befehl ab


    return 0; // Das hier dann am Schluss aller CMDs eingeben, es schließt OnPlayerCommandText ab.
    } // Schlussklammer für OnPlayerCommandText


    Kleiner Tip mit den Farben:
    Definiert sie vorher ganz oben mit z.B. für Farbe rot:
    #define COLOR_RED 0xFF0000AA
    Dann braucht ihr z.B. bei der Message nur eingeben:
    SendClientMessage(playerid, COLOR_RED, "Du hast dir eine Schutzweste angelegt, und dich geheahlt!");




    PS: Den Command kann jeder Spieler machen, nicht nur Admins.