Autos sperren

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
  • hi,
    wie kann man die autos ablschließen, sodass niemand da rein kann.also die autos die auf dem server überall verteilt sind. nur in die die man kauft solll man einsteigen können. ich habe das germanreallife autscript. kann man da etwas machen

  • mit dem Befehl sind leider einige Probleme gekoppelt...


    --> Wenn ein User neu connected kann er komischer Weise wieder einsteigen... frag mich nicht warum..


    Deswegen empfehle ich dir folgendes:


    Mach dir ein einfaches Array wo du speicherst ob das auto abgeschlossen ist oder nicht.


    Dann frag bei onplayerentervehicle ab ob das fahrzeug abgeschlossen ist.


    Wenn das Fahrzeug abgschlossen ist, dann mach einfach TooglePlayerControable .. oder so --> weiß nciht ob der Befehl so richtig ist^^ ... auf true und schon kann er nciht einsteigen...
    Dann zeigst du dazu noch ein kleinen netten GameText an und fertig.

  • erstmal danke für die antworten,
    miniyoda das klingt gar nicht mal so schlecht was du da vorschlägst, könntest du es bitte ein bisschen erklären, bin noch nicht so gut in scripten.

  • gerne ich schreib dir mal hier schnell ein kleines Script hin




    new isvehiclelocked[MAX_VEHICLES];
    /*
    Erklärung:
    Jedes Vehicle hat seine eigene spezifische id wie du weist...
    In diesem Array steht also drin ob ein vehicle gelocked ist oder nicht.
    So schließ du also ein Vehicle ab:
    isvehiclelocked[vehicleid] = 1;
    und so auf
    isvehiclelocked[vehicleid] = 0;
    */



    // Nun zum onplayerentervehicle
    //Dies wird immer durchgeführt wenn ein Spieler einsteigen möchte
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if (isvehiclelocked[vehicleid] == 1)
    {
    TogglePlayerControllable(playerid, true);
    GameTextForPlayer(playerid, "~r~Abgeschlossen", 2000, 1);
    return 1;
    }
    }



    In dem der Spieler controable gesetzt wird, wird jede momentane Aktion abgebrochen (d.h. er kann also nciht einsteigen)!

  • ich habe ein /lock und /unlock befehl, nun habe ichvdas problem, das das auto immer zu spawn wenn einer drinn gesessen ist und /lock gemacht hat. bitte um hillfe.


    2 problem:


    wie kann ich alle autos die zu sind als admin doch betreten?

  • Schnell von mir geschriebene Funktion:
    LockPlayerVehicle(playerid, vehicleid, bool:adminenter, bool:locked)
    {
    new p = 0;
    for(; p < MAX_PLAYERS; p++) {
    if(p != playerid) {
    if(adminenter == true) {
    if(!IsPlayerAdmin(p)) {
    if(locked == true) {
    SetVehicleParamsForPlayer(vehicleid, p, 0, 1);
    }
    else SetVehicleParamsForPlayer(vehicleid, p, 0, 0);
    }
    }
    else SetVehicleParamsForPlayer(vehicleid, p, 0, 1);
    }
    }
    return 1;
    }


    Beispiel für Lock Command:
    if(!strcmp(cmdtext,"/lock"))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    LockPlayerVehicle(playerid, GetPlayerVehicleID(playerid), true, true); // true = Admins können rein. false = Admins bleiben auch draußen, das andere: true = Gelockt, false = offen.
    }
    else SendClientMessage(playerid, 0xFF0000FF, "Du musst in einem Fahrzeug sein!");
    return 1;
    }