Beiträge von PatoD

    Ach komm wenn hier jeder so rum flamt das ich es verkaufen will weil ich dafür länger gebraucht hab als andere und es meiner Meinung nach keine einfache Sache ist bitte ich einen Admin das hier zu closen.

    Nein per Ingame befehl.
    Ich habe das hier rein geschrieben da ich oft gesehen habe das jemand sowas fragt aber keiner ihm helfen sollte.
    Da ich selbst lange überlegen musste wollte ich das lieber in den Markt setzen als es normal zu veröffentlichen.

    [Folgendes muss im Thema enthalten sein und darf nicht entfernt werden:]
    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.


    Ich biete mich dafür euch ein Namechange-System mit dini zu machen.
    Wer es will bitte eine PN an mich schreiben und wir verhandeln einen Preis.

    mach es so:


    new heal


    //später dann


    heal = CreatePickup(...); // Bliblablub


    if(pickupid==heal)
    {
    SetPlayerHealth(playerid,100);
    }




    Fertig ;)

    einmal ist ein stock namens 'isAnyPlayerInVehicle(veh)':
    stock IsAnyPlayerInVehicle(veh){ new inveh; inveh=0; for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerInVehicle(i,veh)) { inveh++; if(inveh==MAX_PLAYERS) { return 1; } } } return 1;}



    und 2. ein stock namens 'isABike(playerid)':
    stock isABike(playerid){ new Bikes[] = {509,481,510,462,448}; for(new i=0;i<sizeof(Bikes);i++) { if(IsPlayerInVehicle(playerid,Bikes[i])) { } } return 1;}



    ich wollte fragen ob beide stocks richtig sind.
    Wenn nicht bitte ich euch mir die stocks vielleicht richtig auf zu schreiben :)


    Wäre nett wenn ihr mir dabei helfen könnten :D


    /edit
    Sry aber ich kann das nicht anders einfügen :(

    An alle:


    Dort steht Vorraussetzungen: Grundkenntnisse dini & PAWNO


    Wenn man das nicht hat dann sollte man sich eigentlich auch nicht das Tutorial gucken.
    Und was haben die von copy & paste ?
    Sie haben es zwar nur können nichts editieren :D
    Das Tutorial soll nur für die die Grundkenntnisse haben zeigen wie man so etwas macht ^^

    Naja so lange ihr es gut findet bin ich zufrieden.
    Mir ist es zu einem wichtig das auch andere die so etwas nicht hin bekommen damit lernen können.
    Solange die die sich das tut angucken und dabei lernen bin ich froh das sie damit auch lernen, aber wenn sie es einfach kopieren ist das nicht das was ich damit erreichen wollte und diese Personen sollten mal überlegen ob sie wirklich scripten wollen...

    Das mit dem PAWN Text ist irgendwie fail gegangen.
    Es war in der Vorschau ganz normal.
    Dann habe ich auf abschicken gedrückt und jetzt sieht es so aus.
    Tut mir wirklich leid aber ich kriege es nicht mehr editiert, da es bei mir abstürzt wenn ich es bearbeiten will.

    Nenne mir mal bitte den Grund.


    Etwa weil jetzt keiner mehr sich selber dran macht?


    //Edit
    Ich kann das nicht mehr ändern da irgend etwas da fail ist wenn ich es editieren will.


    Ich bitte einen Moderator oder höher es an zu passen.

    Hallo Breadfish,
    ich habe schon öfter mal gelesen das hier einige ein Fraktionsfahrzeug-System suchen und noch mehr Dynamische Systeme suchen.
    Ich dachte mir dann das ich euch mal dieses Tutorial mache.


    Was benötige ich?
    -dini (Grundkenntnisse)
    -PAWNO Erfahrung (Grundkenntnisse)
    -Das include: ocmd
    -Einen Ordner namens:"Fraktionsautos"
    (nur zum Testen wenn ihr es testen wollt)-Einen Ordner namens:"SAPD"(für die cars des SAPD's)




    Fangen wir mal an:


    als erstes definieren wir mal unsere maximalen Fraktionsautos.
    #define MAX_FRAKTCARS 20 //Die 20 kann geändert werden auf eure maximalen Fraktionfahrzeuge


    So weiter gehts mit dem enum und die news für die Fraktionsfahrzeuge.
    new SAPDcar[MAX_FRAKTCARS]; //Für die SAPD Cars
    enum Fraktcars{modelid,Float:fposx,Float:fposy,Float:fposz,Float:fposa,Spoiler,Hood,Roof,Sideskirt,Lamps,Nitro,Exhaust,Wheels,Stereo,Hydraulics,FrontBumper,RearBumper,VentRight,VentLeft}
    new Fraktautos[MAX_FRAKTCARS][7][Fraktcars]; //Die 7 ist die anzahl der Fraktionen (kann also auch geändert werden)



    Ich hoffe das mit dem enum erklärt sich von alleine.
    Wenn das bei euch nicht der Fall ist solltet ihr das schnell lernen wenn ihr selber auch Dynamische Systeme machen wollt...


    Dann kommt bei OnGameModeInit das hin:
    Ich mache es mal wie es bei mir ist für das SAPD
    for(new i=0;i<MAX_FRAKTCARS;i++) //Geht alle Zahlen von 0 bis die zahl die bei MAX_FRAKTCARS steht { new Fraktauto[200]; format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SAPD/%d.ini",i); //Solltet ihr wissen ;) if(dini_Exists(Fraktauto)) { Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid"); Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX"); Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY"); Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ"); Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA"); Fraktautos[i][1][Spoiler] = dini_Int(Fraktauto,"Spoiler"); Fraktautos[i][1][Hood] = dini_Int(Fraktauto,"Hood"); Fraktautos[i][1][Roof] = dini_Int(Fraktauto,"Roof"); Fraktautos[i][1][Sideskirt] = dini_Int(Fraktauto,"Sideskirt"); Fraktautos[i][1][Lamps] = dini_Int(Fraktauto,"Lamps"); Fraktautos[i][1][Nitro] = dini_Int(Fraktauto,"Nitro"); Fraktautos[i][1][Exhaust] = dini_Int(Fraktauto,"Exhaust"); Fraktautos[i][1][Wheels] = dini_Int(Fraktauto,"Wheels"); Fraktautos[i][1][Stereo] = dini_Int(Fraktauto,"Stereo"); Fraktautos[i][1][Hydraulics] = dini_Int(Fraktauto,"Hydraulics"); Fraktautos[i][1][FrontBumper] = dini_Int(Fraktauto,"FrontBumper"); Fraktautos[i][1][RearBumper] = dini_Int(Fraktauto,"RearBumper"); Fraktautos[i][1][VentRight] = dini_Int(Fraktauto,"VentRight"); Fraktautos[i][1][VentLeft] = dini_Int(Fraktauto,"VentLeft"); SAPDcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],0,1,-1); SetVehicleNumberPlate(SAPDcar[i],"SAPD"); } }



    So jetzt hat er das Auto erstellt und die Sachen des enums richtig definiert...
    Jetzt muss das alles ja auch noch alle beim runterfahren des Servers gespeichert werden.


    Dazu gehen wir unter OnGameModeExit...
    Da macht ihr dann folgendes:
    for(new i=0;i<MAX_FRAKTCARS;i++) { new Fraktauto[200]; format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SAPD/%d.ini",i); if(dini_Exists(Fraktauto)) { dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]); dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]); dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]); dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]); dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]); dini_IntSet(Fraktauto,"Spoiler",GetVehicleComponentInSlot(SAPDcar[i],0)); //GetVehicleComponentInSlot bedeutet das er das Tuning des angegebenen Slots heraus findet dini_IntSet(Fraktauto,"Hood",GetVehicleComponentInSlot(SAPDcar[i],1)); dini_IntSet(Fraktauto,"Roof",GetVehicleComponentInSlot(SAPDcar[i],2)); dini_IntSet(Fraktauto,"Sideskirt",GetVehicleComponentInSlot(SAPDcar[i],3)); dini_IntSet(Fraktauto,"Lamps",GetVehicleComponentInSlot(SAPDcar[i],4)); dini_IntSet(Fraktauto,"Nitro",GetVehicleComponentInSlot(SAPDcar[i],5)); dini_IntSet(Fraktauto,"Exhaust",GetVehicleComponentInSlot(SAPDcar[i],6)); dini_IntSet(Fraktauto,"Wheels",GetVehicleComponentInSlot(SAPDcar[i],7)); dini_IntSet(Fraktauto,"Stereo",GetVehicleComponentInSlot(SAPDcar[i],8)); dini_IntSet(Fraktauto,"Hydraulics",GetVehicleComponentInSlot(SAPDcar[i],9)); dini_IntSet(Fraktauto,"FrontBumper",GetVehicleComponentInSlot(SAPDcar[i],10)); dini_IntSet(Fraktauto,"RearBumper",GetVehicleComponentInSlot(SAPDcar[i],11)); dini_IntSet(Fraktauto,"VentRight",GetVehicleComponentInSlot(SAPDcar[i],12)); dini_IntSet(Fraktauto,"VentLeft",GetVehicleComponentInSlot(SAPDcar[i],13)); } }



    So jetzt lädt und speichert er das Fahrzeug wenn es existiert...
    Das bringt uns aber noch nichts da wir noch keine erstellen können.


    Dazu brauchen wir jetzt auch ocmd...
    Ihr macht dann mit ocmd folgendes:
    ocmd:createfcar(playerid,params[]){ if(isPlayerAnAdmin(playerid,6)) //Müsst ihr nach eurer Adminabfrage machen { new fraktid; new mid; if(sscanf(params,"ii",fraktid,mid)) //Wenn der z.b. nur "/createfcar" eingibt { SendClientMessage(playerid,CMD,"/createfcar [Frakt-ID][Model-ID]"); //Müsst ihr für euren Server ändern SendClientMessage(playerid,BLAU,"Fraktion 1:SAPD"); SendClientMessage(playerid,BLAU,"Fraktion 2:Grove Street"); SendClientMessage(playerid,BLAU,"Fraktion 3:Rollin' Heigths Ballas"); SendClientMessage(playerid,BLAU,"Fraktion 4:Varrios Los Aztecas"); SendClientMessage(playerid,BLAU,"Fraktion 5:Los Santos Vagos"); SendClientMessage(playerid,BLAU,"Fraktion 6:Army"); } else { if(fraktid < 1 || fraktid > 6)return SendClientMessage(playerid,ROT,"Frakt-ID kann nicht über 6 oder unter 1 sein."); if(mid < 400 || mid > 611)return SendClientMessage(playerid,ROT,"Model-ID kann nicht über 611 oder unter 400 sein."); //Da die Vehicles nur von 400-611 gehen CreateFCar(playerid,fraktid,mid); //wird gleich gezeigt was das ist... } } return 1;}



    Und noch zum destroyen des Vehicles:


    ocmd:desfcar(playerid,params[]){ if(isPlayerAnAdmin(playerid,6)) //Muss angepasst werden { if(IsPlayerInAnyVehicle(playerid)) { new veh=GetPlayerVehicleID(playerid); //Definiert veh als GetPlayerVehicleID new Fraktauto[200]; for(new i=0;i<MAX_FRAKTCARS;i++) { if(veh==SAPDcar[i]) //Wenn der in irgendeinem SAPDcar ist { format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SAPD/%d.ini",i); dini_Remove(Fraktauto); DestroyVehicle(SAPDcar[i]); SendClientMessage(playerid,GELB,"Fraktionsauto erfolgreich gelöscht."); } //Zerstört der das Vehicle und die Veh-Datei } } }}



    Jetzt kann das Vehicle erstellt und gelöscht werden.
    Nun zeige ich euch noch den stock CreateFCar(playerid,fraktid,mid);
    stock CreateFCar(playerid,fraktid,mid){ new Fraktauto[200]; new Float:x,Float:y,Float:z,Float:a; GetPlayerPos(playerid,x,y,z); //Findet die Position für den Spieler heraus damit er weiß wo das auto hin muss GetPlayerFacingAngle(playerid,a); //Da die Blickrichtung auch für das Auto if(fraktid!=0) //Damit es nicht geht als Zivicar { for(new i=0;i<MAX_FRAKTCARS;i++) { if(fraktid==1) { format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SAPD/%d.ini",i); if(!dini_Exists(Fraktauto)) //Wenn die Fahrzeugid noch nicht vergeben ist { dini_Create(Fraktauto); //Er Createt die Datei dini_IntSet(Fraktauto,"modelid",mid); dini_FloatSet(Fraktauto,"FPosX",x); dini_FloatSet(Fraktauto,"FPosY",y); dini_FloatSet(Fraktauto,"FPosZ",z); dini_FloatSet(Fraktauto,"FPosA",a); dini_IntSet(Fraktauto,"Spoiler",0); dini_IntSet(Fraktauto,"Hood",0); dini_IntSet(Fraktauto,"Roof",0); dini_IntSet(Fraktauto,"Sideskirt",0); dini_IntSet(Fraktauto,"Lamps",0); dini_IntSet(Fraktauto,"Nitro",0); dini_IntSet(Fraktauto,"Exhaust",0); dini_IntSet(Fraktauto,"Wheels",0); dini_IntSet(Fraktauto,"Stereo",0); dini_IntSet(Fraktauto,"Hydraulics",0); dini_IntSet(Fraktauto,"FrontBumper",0); dini_IntSet(Fraktauto,"RearBumper",0); dini_IntSet(Fraktauto,"VentRight",0); dini_IntSet(Fraktauto,"VentLeft",0); Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid"); Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX"); Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY"); Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ"); Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA"); Fraktautos[i][1][Spoiler] = dini_Int(Fraktauto,"Spoiler"); Fraktautos[i][1][Hood] = dini_Int(Fraktauto,"Hood"); Fraktautos[i][1][Roof] = dini_Int(Fraktauto,"Roof"); Fraktautos[i][1][Sideskirt] = dini_Int(Fraktauto,"Sideskirt"); Fraktautos[i][1][Lamps] = dini_Int(Fraktauto,"Lamps"); Fraktautos[i][1][Nitro] = dini_Int(Fraktauto,"Nitro"); Fraktautos[i][1][Exhaust] = dini_Int(Fraktauto,"Exhaust"); Fraktautos[i][1][Wheels] = dini_Int(Fraktauto,"Wheels"); Fraktautos[i][1][Stereo] = dini_Int(Fraktauto,"Stereo"); Fraktautos[i][1][Hydraulics] = dini_Int(Fraktauto,"Hydraulics"); Fraktautos[i][1][FrontBumper] = dini_Int(Fraktauto,"FrontBumper"); Fraktautos[i][1][RearBumper] = dini_Int(Fraktauto,"RearBumper"); Fraktautos[i][1][VentRight] = dini_Int(Fraktauto,"VentRight"); Fraktautos[i][1][VentLeft] = dini_Int(Fraktauto,"VentLeft"); SAPDcar[i] = CreateVehicle(mid,x,y,z,a,0,1,-1); PutPlayerInVehicle(playerid,SAPDcar[i],0); return 1; } } } } return 1;}



    Für Gangs wäre es dann so (Das zeige ich euch nochmal dazu damit ihr wisst wie es aussieht wenn man das Fahrzeug tunen können soll):
    else if(fraktid==2) { format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Grove/%d.ini",i); if(!dini_Exists(Fraktauto)) { dini_Create(Fraktauto); dini_IntSet(Fraktauto,"modelid",mid); dini_FloatSet(Fraktauto,"FPosX",x); dini_FloatSet(Fraktauto,"FPosY",y); dini_FloatSet(Fraktauto,"FPosZ",z); dini_FloatSet(Fraktauto,"FPosA",a); dini_IntSet(Fraktauto,"Spoiler",0); dini_IntSet(Fraktauto,"Hood",0); dini_IntSet(Fraktauto,"Roof",0); dini_IntSet(Fraktauto,"Sideskirt",0); dini_IntSet(Fraktauto,"Lamps",0); dini_IntSet(Fraktauto,"Nitro",0); dini_IntSet(Fraktauto,"Exhaust",0); dini_IntSet(Fraktauto,"Wheels",0); dini_IntSet(Fraktauto,"Stereo",0); dini_IntSet(Fraktauto,"Hydraulics",0); dini_IntSet(Fraktauto,"FrontBumper",0); dini_IntSet(Fraktauto,"RearBumper",0); dini_IntSet(Fraktauto,"VentRight",0); dini_IntSet(Fraktauto,"VentLeft",0); Fraktautos[i][2][modelid] = dini_Int(Fraktauto,"modelid"); Fraktautos[i][2][fposx] = dini_Float(Fraktauto,"FPosX"); Fraktautos[i][2][fposy] = dini_Float(Fraktauto,"FPosY"); Fraktautos[i][2][fposz] = dini_Float(Fraktauto,"FPosZ"); Fraktautos[i][2][fposa] = dini_Float(Fraktauto,"FPosA"); Fraktautos[i][2][Spoiler] = dini_Int(Fraktauto,"Spoiler"); Fraktautos[i][2][Hood] = dini_Int(Fraktauto,"Hood"); Fraktautos[i][2][Roof] = dini_Int(Fraktauto,"Roof"); Fraktautos[i][2][Sideskirt] = dini_Int(Fraktauto,"Sideskirt"); Fraktautos[i][2][Lamps] = dini_Int(Fraktauto,"Lamps"); Fraktautos[i][2][Nitro] = dini_Int(Fraktauto,"Nitro"); Fraktautos[i][2][Exhaust] = dini_Int(Fraktauto,"Exhaust"); Fraktautos[i][2][Wheels] = dini_Int(Fraktauto,"Wheels"); Fraktautos[i][2][Stereo] = dini_Int(Fraktauto,"Stereo"); Fraktautos[i][2][Hydraulics] = dini_Int(Fraktauto,"Hydraulics"); Fraktautos[i][2][FrontBumper] = dini_Int(Fraktauto,"FrontBumper"); Fraktautos[i][2][RearBumper] = dini_Int(Fraktauto,"RearBumper"); Fraktautos[i][2][VentRight] = dini_Int(Fraktauto,"VentRight"); Fraktautos[i][2][VentLeft] = dini_Int(Fraktauto,"VentLeft"); GScar[i] = CreateVehicle(mid,x,y,z,a,252,252,-1); PutPlayerInVehicle(playerid,GScar[i],0); AddVehicleComponent(GScar[i],Fraktautos[i][2][Spoiler]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Hood]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Roof]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Sideskirt]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Lamps]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Nitro]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Exhaust]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Wheels]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Stereo]); AddVehicleComponent(GScar[i],Fraktautos[i][2][Hydraulics]); AddVehicleComponent(GScar[i],Fraktautos[i][2][FrontBumper]); AddVehicleComponent(GScar[i],Fraktautos[i][2][RearBumper]); AddVehicleComponent(GScar[i],Fraktautos[i][2][VentRight]); AddVehicleComponent(GScar[i],Fraktautos[i][2][VentLeft]); return 1; } }


    Die Befehle sollten euch eigentlich bekannt sein wenn ihr mindestens die Grundkenntnisse von PAWN und dini kennt....



    So nun zeige ich euch noch wie man es umparken kann:
    if(strcmp(cmdtext,"/fpark",true) == 0 || strcmp(cmdtext,"/fparken",true) == 0) { if(isPlayerLeader(playerid)) { if(IsPlayerInAnyVehicle(playerid)) { new veh=GetPlayerVehicleID(playerid); new Float:x,Float:y,Float:z,Float:a; for(new i=0;i<MAX_FRAKTCARS;i++) { if(isPlayerInFrakt(playerid,1)) { if(veh==SAPDcar[i]) { new Fraktauto[200]; format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SAPD/%d.ini",i); GetVehiclePos(SAPDcar[i],x,y,z); GetVehicleZAngle(SAPDcar[i],a); Fraktautos[i][1][fposx]=x; Fraktautos[i][1][fposy]=y; Fraktautos[i][1][fposz]=z; Fraktautos[i][1][fposa]=a; dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]); dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]); dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]); dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]); } } } } } }




    Ich hoffe das bei euch alles geklappt hat.
    Wenn nicht schreibt mir eure Fehler bitte unter das Thread.
    Wenn ihr wollt das ich weitere Tutorials mache dann schreibt mir das bitte auch runter und sagt mir welche ihr haben wollt ;)


    Mit freundlichen Grüßen,
    PatoD


    //edit
    Bei allen bei denen Es nicht klappt..
    ändert:
    if(Fraktautos[i][Spoiler] >= 1000) { AddVehicleComponent(SAPDcar[i],Fraktautos[i][Spoiler]); }
    und die anderen in:
    if(Fraktautos[i][1][Spoiler] >= 1000) { AddVehicleComponent(SAPDcar[i],Fraktautos[i][Spoiler]); }

    Wenn ich bei OnVehicleStreamIn SetVehicleParamsForPlayer einsetze um ein Vehicle zu öffnen dann kommt da so ein sinnloser Pfeil ^^
    Wie kriege ich den weg?


    Wenn das nur mit respawnen oder so geht dann hab ich die Frage:
    Geht das i-wie auch anders ?

    Ich mach es dir mal
    Also:
    if(strcmp(cmdtext,"/lock",true) == 0)
    {
    new veh=GetPlayerVehicleID(playerid); //Findet die Vehicleid vom Spielerveh herraus
    new Float:vx, Float:vy, Float:vz; //Das Brauchen wir gleich ^^
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) //Fragt ab ob der Spieler der Fahrer ist
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); //Findet die Parameter des Vehs herraus
    if(doors == 1) //Wenn die Türe verschlossen ist.....
    {
    SetVehicleParamsEx(veh,engine,lights,alarm,0,bonnet,boot,objective); //Macht er sie einfach auf ^^
    GameTextForPlayer(playerid,"~w~Fahrzeug ~g~aufgeschlossen",1000,6);
    }
    else //Ist sie aber geöffnet.....
    {
    SetVehicleParamsEx(veh,engine,lights,alarm,1,bonnet,boot,objective); //Dann macht er sie einfach zu :D
    GameTextForPlayer(playerid,"~w~Fahrzeug ~r~abgeschlossen",1000,6);
    }
    }
    else //Ist er in keinem Fahrzeug
    {
    for(new i=0; i < MAX_VEHICLES; i++) //Fragen wir etwas für jedes Fahrzeug ab...
    {
    GetVehiclePos(i,vx,vy,vz); //Die Position des Fahrzeuges
    if(IsPlayerInRangeOfPoint(playerid,4,vx,vy,vz)) //Ist der Spieler in der nähe von irgendeinem Fahrzeug... Macht er das gleiche wie oben
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective); //Siehe Oben
    if(doors == 1) //Siehe Oben
    {
    SetVehicleParamsEx(i,engine,lights,alarm,0,bonnet,boot,objective); //Siehe Oben
    GameTextForPlayer(playerid,"~w~Fahrzeug ~g~aufgeschlossen",1000,6);
    }
    else //Siehe Oben
    {
    SetVehicleParamsEx(i,engine,lights,alarm,1,bonnet,boot,objective); //Siehe Oben
    GameTextForPlayer(playerid,"~w~Fahrzeug ~r~abgeschlossen",1000,6);
    }
    }
    }
    }
    }
    Das war es ^^
    Nur eines musst du wissen:
    Das kann jetzt jeder...
    Also jeder kann ein Fahrzeug auf & abschließen...