Autos abschließen und Respawnen

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.


    Ich hätte da mal 2 fragen. Ich würde gerne ein cmd machen, wo alle autos die nicht benutzt werden respawnt werden.


    Außerdem würde ich gerne wissen wie man ein lock und unlock system macht, wenn man im Auto sitzt und /lock macht soll keiner mehr in das Auto reinkommen, wenn er wieder unlock macht soll es wieder aufgeschlossen sein.


    Ich bedanke mich schonmal für eure Hilfe


    mfg

  • Du musst einfach vom Script prüfen lassen ob ein Spieler im Fahrzeug sitzt, und falls Nein das das Script es respawnt.


    mfg

  • Ich habe das bis jetzt nur so das alle Autos respawnt werden, egal ob man drinne sitzt oder nicht:


    #define CAR_AMOUNT 100


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/vspawn", true)==0)
    {
    if(SpielerInfo[playerid][alvl] >= 1)
    {
    SendClientMessageToAll(türkis,"In 60 Sekunden werden alle Autos respawnt!");
    SetTimer("vspawn1",60000,1);
    }
    }
    return 1;
    }


    public vspawn1()
    {
    SendClientMessageToAll(türkis,"In 10 Sekunden werden alle Autos respawnt!");
    SetTimer("vspawn2",10000,1);
    return 1;
    }


    public vspawn2()
    {
    for(new car=0; car<CAR_AMOUNT; car++)
    {
    SetVehicleToRespawn(car);
    }
    return 1;
    }


    Wie muss ich nu nabfragen, on die autos in benutzung sidn?

    Einmal editiert, zuletzt von Simon ()

  • Timer setzen



    forward RespawnUnusedVehicle();
    public RespawnUnusedVehicle()
    {
    for(new vehicleid = 0; vehicleid < CAR_AMOUNT; vehicleid ++)
    {
    for(new playerid = 0;playerid< MAX_PLAYERS; playerid ++)
    {
    if(!IsPlayerInVehicle(playerid,vehicleid))
    {
    SetVehicleToRespawn(i);


    }
    }
    return true;
    }




    SetVehicleParamsForPlayer(vehicleid,playerid,0,1); //zum abschließen
    SetVehicleParamsForPlayer(vehicleid,playerid,0,0)// zum aufschließen;

    RFT

  • also ich habe es nun so, aber es werden trotzdem alle autos respawnt:


    public vspawn2()
    {
    for(new vehicleid = 0; vehicleid < CAR_AMOUNT; vehicleid ++)
    {
    for(new playerid = 0;playerid< MAX_PLAYERS; playerid ++)
    {
    if(!IsPlayerInVehicle(playerid,vehicleid))
    {
    SetVehicleToRespawn(vehicleid);
    KillTimer(vs2);


    }
    }
    }
    return 1;
    }


  • forward vspawn2();


    stock IsVehicleEmpty(carid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue; //weniger Auslatung, da nur weitergemacht wird, wenn der Spieler online ist
    if(IsPlayerInVehicle(i, carid)) return 0; //ist der Spieler im Auto, ist es nicht leer -> return 0
    }
    return 1; //ansonsten (falls kein Spieler im Auto, also leer) -> return 1
    }


    SetTimer("vspawn2", zeit, true); //bei "zeit" setzt du die Timerzeit in ms ein


    public vspawn2()
    {
    for(new i = 0; i < CAR_AMOUNT; i++)
    {
    if(IsVehicleEmpty(i) //jetzt wird "IsVehicleEmpty" genutzt
    {
    SetVehicleToRespawn(i);
    }
    }
    return 1;
    }
    Schneller, übersichtlicher, besser.
    Als Command:
    stock IsVehicleEmpty(carid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue; //weniger Auslatung, da nur weitergemacht wird, wenn der Spieler online ist
    if(IsPlayerInVehicle(i, carid)) return 0; //ist der Spieler im Auto, ist es nicht leer -> return 0
    }
    return 1; //ansonsten (falls kein Spieler im Auto, also leer) -> return 1
    }


    OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/respawn", 8)
    {
    for(new i = 0; i < CAR_AMOUNT; i++)
    {
    if(IsVehicleEmpty(i)) SetVehicleToRespawn(i); //jetzt wird "IsVehicleEmpty" genutzt
    }
    return 1;
    }
    return 1;
    }

    ~~~~~~~~ Obst Reallife ~~ 100% selfmade ~~~~~~~
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ~~~ SAMP ~ 35% ~ 01.04.10 ~ preAlpha (closed) ~~~
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ~~~~~~~~ zur Zeit keine Weiterentwicklung ~~~~~~~~