Autos für nicht PD Member abschließ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
  • Guten Tag Community,


    ich arbeite gerade daran das PD user ohne /flock in ihre Cars können aber für Zivis oder sonst was erst die Türen öffnen müssen, aber wenn ich als PD online komme kann ich ins Fahrzeug einsteigen ohne /flock einzugeben doch wenn ich als Medic ins fahrzeug möchte kann ich auch rein .... wie kann ich das für die anderen Fraktionen abschließen ?


    for(new i = 0; i < sizeof(PDCar); i++)
    {
    if(vehicleid == PDCar[i])
    {
    GetVehicleParamsEx(PDCar[i],engine,lights,alarm,doors,bonnet,boot,objective);
    if(!isFrakt(playerid,1))
    {
    if(doors == 0)
    {
    SetVehicleParamsEx(PDCar[i],engine,lights,alarm,1,bonnet,boot,objective);
    }
    else if(doors == 1)
    {
    SetVehicleParamsEx(PDCar[i],engine,lights,alarm,0,bonnet,boot,objective);
    }
    }
    else
    {
    SetVehicleParamsEx(PDCar[i],engine,lights,alarm,0,bonnet,boot,objective);
    }
    }
    }


    public OnVehicleSpawn(vehicleid)
    {
    Motor[vehicleid] = 0;
    for(new i = 0; i < sizeof(PDCar); i++)
    {
    SetVehicleParamsEx(PDCar[i],engine,lights,alarm,1,bonnet,boot,objective);
    }
    return 1;
    }

  • Eine andere Möglichkeit wäre einfach abzufragen im "EnterVehicle" Event, oder wie das heißt, wenn der Spieler eingestiegen ist ins Auto und einfach wieder rausschmeißen wenn der kein PD ist.


    Hoffe da sind gerade keine Satzfehler.. Nicht gerade geil geschlafen xD


    LG - Hoffe das schaffst du :)

  • habe es so gemacht aber leider funktioniert es nicht


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    for(new i = 0; i < sizeof(PDCar); i++)
    {
    if(vehicleid == PDCar[i])
    {
    GetVehicleParamsEx(PDCar[i],engine,lights,alarm,doors,bonnet,boot,objective);
    if(!isFrakt(forplayerid,1))
    {
    if(doors == 0)
    {
    SetVehicleParamsForPlayer(PDCar[i], forplayerid, 0, 1);
    }
    else if(doors == 1)
    {
    SetVehicleParamsForPlayer(PDCar[i], forplayerid, 0, 0);
    }
    }
    else
    {
    SetVehicleParamsForPlayer(PDCar[i], forplayerid, 0, 0);
    }
    }
    }
    return 1;
    }

  • Wie sieht es denn erstmal so aus?
    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    for(new i = 0; i < sizeof(PDCar); i++)
    {
    if(vehicleid == PDCar[i])
    {
    if(!isFrakt(forplayerid,1))
    {
    SetVehicleParamsForPlayer(PDCar[i], forplayerid, 0, 1);
    }
    else
    {
    SetVehicleParamsForPlayer(PDCar[i], forplayerid, 0, 0);
    }
    break;
    }
    }
    return 1;
    }

  • Ja genau so


    habe das mal unter onplayerentervehicle eingefügt jetzt funktionierts aber einigermaßen und zwar wenn ich GS leader bin und in ein PDCar einsteigen möchte kann ich nicht rein aber wenn ich nochmal enter mache kann ich garnicht mehr in das Fahrzeug einsteigen.


    MfG


    Master

    Einmal editiert, zuletzt von Master147 ()

  • Der Spieler in der GS versucht die Tür des Fahrzeuges auf zu machen aber Sie geht nicht auf und wenn ich wieder in das gleiche Fahrzeug möchte kann ich garnicht mehr rein sowohl der Spieler im PD und der Spieler in der GS können danach das Fahrzeug nicht betreten.


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    for(new i = 0; i < sizeof(PDCar); i++)
    {
    if(vehicleid == PDCar[i])
    {
    if(!isFrakt(playerid,1))
    {
    SetVehicleParamsForPlayer(PDCar[i], playerid, 0, 1);
    }
    else
    {
    SetVehicleParamsForPlayer(PDCar[i], playerid, 0, 0);
    }
    break;
    }
    }
    return 1;
    }

  • public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
    {
    for(new i;i<sizeof PDCar;i++)
    {
    if(vehicleid == PDCar[i])
    {
    if(!isFrakt(playerid,1))
    {
    TogglePlayerControllable(playerid,0);
    TogglePlayerControllable(playerid,1);
    }
    return 1;
    }
    }
    return 1;
    }
    So kann nur das PD einsteigen, die anderen können nicht einsteigen ;)


    #edit:
    Jeffry:
    Dankeschön! ;) Ich habe die Zeile vorhin einfach nur kopiert und neu eingefügt, ohne etwas abzuändern ^^
    Das mit der Animation muss man wissen, wie man es gerne haben möchte. Mich persönlich würde es nicht stören, ansonsten kann er den Code ja auch noch unter OnPlayerStateChange einbauen, und etwas ändern.

  • ICy.:
    TogglePlayerControllable(playerid,0);
    TogglePlayerControllable(playerid,1);
    Sonst kann mann sich gar nicht mehr bewegen ;)


    Nur, dass bei der Methode eben die einsteigen Animation nicht angezeigt wird. Für manche Server vielleicht nicht wirklich schön.

  • Ahhh, ja das ist klar. Du stehst neben dem Fahrzeug und wechselst den Clan/Gang? Dann macht das natürlich Sinn, da das Fahrzeug für dich noch immer gesperrt ist.
    Da müsstest du dan entweder den Code nehmen, den Icy. gepostet hat (da der ja auf den Spieler und nicht auf das Fahrzeug zugreift), oder du fügst bei dem Code, mit dem du die Gang wechselst den Code mit SetVehicleParamsForPlayer (den aus deinem OnPlayerEnterVehicle) ohne die GetPlayerVehicleID-Abfrage hinzu.
    Sprich eine Schleife durch alle diese Fahrzeuge, die dann entsperrt oder gesperrt werden, je nach dem. Auch wenn du davor stehst.