Vehicle Command /Lock

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Es gibt Neuigkeiten! Ab sofort könnt ihr dem Donators Club auf Lebenszeit beitreten.
Weitere Infos im Thema Donator's Club ab heute wieder verfügbar!

  • Vehicle Command /Lock

    hey Breadfish community,

    Ich bräuchte bitte mal eure hilfe


    Ich habe anhand eines Tut. ein [Command("Lock")] erstellt
    dieser wie man sieht abfragt ob ich in der nähe eines Autos bin oder nicht mit 7 einheiten gesetzt.

    er schließt auch sauber ab mit dem command und beim wiederholen öffnet er das auto wieder
    dennoch würde ich gerne an meinen client eine msg schicken das er einmal das Fahrzeug gespeert hat und einmal geöffnet hat

    ich bekomme das nicht wirklich hin . weil eine Abfrage mit vehicle.Open finde ich nicht

    CSS-Quellcode

    1. [Command ("lock")]
    2. public void CMD_LockVehicle(Client client)
    3. {
    4. bool was_vehicle_found = false;
    5. foreach(Vehicle vehicle in NAPI.Pools.GetAllVehicles())
    6. {
    7. if (vehicle.Position.DistanceTo2D(client.Position) <= 7)
    8. {
    9. vehicle.Locked = !vehicle.Locked;
    10. was_vehicle_found = true;
    11. client.SendChatMessage(" **Du hast das Auto zugesperrt !** ");
    12. break;
    13. }
    14. }
    15. if (was_vehicle_found)
    16. return;
    17. client.SendChatMessage("~r~Es ist kein Auto in deiner Nähe.");
    18. }
    Alles anzeigen
  • CSS-Quellcode

    1. [Command ("lock")]
    2. public void CMD_LockVehicle(Client client)
    3. {
    4. bool was_vehicle_found = false;
    5. foreach(Vehicle vehicle in NAPI.Pools.GetAllVehicles())
    6. {
    7. if (vehicle.Position.DistanceTo2D(client.Position) <= 7)
    8. {
    9. if (vehicle.Locked = !vehicle.Locked)
    10. {
    11. was_vehicle_found = true;
    12. client.SendChatMessage(" **Du hast das Auto geschlossen !** ");
    13. }
    14. else
    15. {
    16. was_vehicle_found = true;
    17. client.SendChatMessage(" **Du hast das Auto geöffnet !** ");
    18. }
    19. }
    20. break;
    21. }
    22. if (was_vehicle_found)
    23. return;
    24. client.SendChatMessage("~r~Es ist kein Auto in deiner Nähe.");
    25. }
    Alles anzeigen
    Danke dir :D
  • Das break ist falsch gesetzt.

    Das solltest du so schreiben:

    C-Quellcode

    1. foreach(Vehicle vehicle in NAPI.Pools.GetAllVehicles())
    2. {
    3. if (vehicle.Position.DistanceTo2D(client.Position) <= 7)
    4. {
    5. if (vehicle.Locked = !vehicle.Locked)
    6. {
    7. was_vehicle_found = true;
    8. client.SendChatMessage(" **Du hast das Auto geschlossen !** ");
    9. }
    10. else
    11. {
    12. was_vehicle_found = true;
    13. client.SendChatMessage(" **Du hast das Auto geöffnet !** ");
    14. }
    15. break;
    16. }
    17. }
    Alles anzeigen


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/
  • Neu

    C-Quellcode

    1. using System.Linq; // Falls nicht schon getan
    2. [Command ("lock")]
    3. public void CMD_LockVehicle(Client client)
    4. {
    5. var vehicle = NAPI.Pools.GetAllVehicles().FirstOrDefault(x => x.Position.DistanceTo(client.Position) <= 7);
    6. if(vehicle == null)
    7. {
    8. client.SendChatMessage("~r~Es ist kein Auto in deiner Nähe.");
    9. return;
    10. }
    11. vehicle.Locked = !vehicle.Locked;
    12. client.SendChatMessage(" **Du hast das Auto " + (vehicle.Locked ? "zugesperrt" : "aufgesperrt") + " !** ");
    13. }
    Alles anzeigen
    Mach es mit Linq und bisschen aufgeräumter, weiß nicht ob der Code so direkt funktioniert - ist einige Monate her das ich auf Rage was gemacht habe.

    Gruß

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Max Jackson ()