Autos schliessen

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
  • Hallo Ich habe das hier gefunden :


    if(!strcmp(cmdtext,"/lock"))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    LockPlayerVehicle(playerid, GetPlayerVehicleID(playerid), false, true); // true = Admins können rein. false = Admins bleiben auch draußen, das andere: true = Gelockt, false = offen.
    SendClientMessage(playerid,0x828282FF, " Fahrzeug abgeschlossen!");
    }
    else
    {
    LockPlayerVehicle(playerid, GetPlayerVehicleID(playerid), false, false); // true = Admins können rein. false = Admins bleiben auch draußen, das andere: true = Gelockt, false = offen.
    SendClientMessage(playerid,0x828282FF, " Fahrzeug aufgeschlossen!");
    }
    return 1;
    }


    Jetzt möchte ich das auf und zuschliessen mit dem einen befehle gehen /lock was ist da falsch ?

  • Hallo


    Ich habe dir hier meine Methode mal, ich würde es so machen, dann kannst Du viel besser schauen/bestimmen, wer in das Fahrzeug einsteigen kann und wer nicht. Musst es evt etwas anpassen, habs schnell zusammengezimmert:


    new Lock[MAX_VEHICLES];
    #define COLOR_GREEN 0x33AA33AA


    if(!strcmp(cmdtext,"/lock"))
    {
    new Float:VX,Float:VY,Float:VZ;
    for(new vehicleid=1;vehicleid<MAX_VEHICLES;vehicleid++)
    {
    GetVehiclePos(vehicleid,VX,VY,VZ);
    if(!IsPlayerInRangeOfPoint(playerid,2.5,VX,VY,VZ))continue;
    if(Lock[vehicleid] == 0)
    {
    Lock[vehicleid] = 1;
    SendClientMessage(playerid,COLOR_GREEN,"Auto erfolgreich verschlossen");
    break;
    }
    if(Lock[vehicleid] == 1)
    {
    Lock[vehicleid] = 0;
    SendClientMessage(playerid,COLOR_GREEN,"Auto erfolgreich aufgeschlossen");
    break;
    }
    }
    return 1;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(Lock[vehicleid] == 1)
    {
    ClearAnimations(playerid);
    SendClientMessage(playerid,COLOR_GREEN,"Dieses Auto ist verschlossen");
    return 1;
    }
    return 1;
    }


    @Problem
    Woher soll er die VehicleID wissen, benutz dafür eine For-Schleife


    MfG dUDA