wie scriptet mann ein warnbinker system?

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
Dieses Thema wurde als Erledigt markiert.

  • Gut, dass du fragst, wie "mann" das macht, ich weiß nämlich leider nicht, wie "Frau" das macht.


    B2T:
    Es gibt in SAMP die Funktion
    http://wiki.sa-mp.com/wiki/SetVehicleParamsEx_DE


    Auch, wenn sich bei deutschen Variablen und Funktionsnamen die Fußnägel kräuseln, werde ich es hier des Verständnisses halber mal auf Deutsch machen.


    Beispiel:


    Außerhalb des Befehls folgende Variable:
    new warnblinkertimer[MAX_VEHICLES];
    Diese enthält später die ID des Timers, der den Warnblinker steuert.


    Du erstellst den Befehl /warnblinker und schreibst da folgendes rein:


    new vehicleid = GetPlayerVehicleID(playerid); //Die ID des Fahrzeugs, in dem der Spieler sitzt steht nun in der Variable vehicleid
    warnblinkertimer[vehicleid] = SetTimerEx("warnblinker", 600, true, "i", vehicleid); // Startet den Timer und speichert dessen ID in der eben genannten Variable.



    dann erstellst du außerhalb des Befehls eine Funktion:



    forward warnblinker(vehicleid);
    public warnblinker(vehicleid){ //Diese Funktion wird durch den Timer alle 600 Millisekunden aufgerufen und steuert den Warnblinker.
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); //Fragt die einzelnen Zustände des Fahrzeugs ab, wie bspw. den Status des Lichts und speichert diesen in der entsprechenden, eine Zeile darüber definierten Variable.


    if(lights == VEHICLE_PARAMS_OFF){ //Wenn das Licht aus ist
    SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective); //Licht einschalten
    }else if(lights == VEHICLE_PARAMS_ON){ //Wenn das Licht an ist
    SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective); //Licht ausschalten
    }
    }

    Zum Ausschalten des Warnblinkers einfach den Timer "killen". Dafür die Funktion KillTimer() verwenden und als parameter warnblinkertimer[vehicleid] angeben.


    //E: Code etwas optimiert

  • ich checks irgend wie nicht :( geht das vlt noch was genauer ? oder zusammenhängender habe vor 3 jahren gescriptet und fange jetzt wieder an und deswegen komme ich da mal garnicht hinter
    Das soll dan ungefähr so aussehen:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.




    //E was eingefügt

  • Du kannst mit GetVehicleParamsEx() die einzelnen Zustände eines Fahrzeuges abfragen und mit SetVehicleParamsEx() wieder setzen. Oben genanntes Beispiel beschreibt dies.
    Somit fragst du ab, ob das Licht ausgeschaltet ist (VEHICLE_PARAMS_OFF, Konstante, die einer 0 / einem false entspricht). Wenn ja, schaltest du es ein (VEHICLE_PARAMS_ON, Konstante, die einer 1 / einem true entspricht).
    Das packt man in einen Funktion, die durch einen Timer alle 600 Millisekunden aufgerufen wird (bspw.). Das würde bedeuten, dass alle 600 Millisekunden das Licht ein und ausgeschaltet wird und zwar abwechselnd.

  • Per Skype oder Teamviewer mache ich nichts, dafür gibt es das Forum hier.


    Du brauchst lediglich ein Objekt, welches ein orangenes Licht darstellt.
    Du erstellst 4 Exemplare davon mit CreateObject() und einen Timer, der bspw. alle 600 Millisekunden anschlägt und nach dem Prinzip aus meinem ersten Post hier im Thread die Objekte immer an das Fahrzeug anhängt und wieder abhängt. Somit verschwinden alle 600 Millisekunden die Lichter und erscheinen nach ebenso vielen Sekunden wieder, während sich das ganze solange wiederholt, bis nach erneuter Eingabe des Befehls der Timer gestoppt wird und die Objekte noch mal zur Sicherheit gelöscht werden.


    Benötigte Funktionen:


    http://wiki.sa-mp.com/wiki/CreateObject
    http://wiki.sa-mp.com/wiki/AttachObjectToVehicle
    http://wiki.sa-mp.com/wiki/DestroyObject
    http://wiki.sa-mp.com/wiki/IsValidObject
    Eventuell noch http://wiki.sa-mp.com/wiki/SetObjectRot


    Damit solltest du jetzt etwas anstellen können, die Erklärung über den Ablauf der Steuerung habe ich Dir jetzt genau beschrieben, ein passendes Objekt kannst du hier suchen:
    [SAMMELTHREAD] Suche ObjektID/Textur
    Aber: Erst den ersten Post dort durchlesen.

  • Sufu und direkt was gefunden


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.



    Link: [ FILTERSCRIPT ] Blinker-System UPDATED v. 2.6.1



    Sollte eig das sys sein wenn ich mich nicht irre und hier der post fuer die zukunft einfach mal such funktion nutzen und den auch mal alle kommentare lesen ich hab es in 22 selkunden gefunden hier in diesem thema gefunden. ~Blinker System~



    Lg ronny hoffe konnte helfen


    //edit falscher link (via handy)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • es ist leider nicht das aus dem video da blinken dan die vorder lichter dass will ich nit :( sieht derbe mies aus :(


    dann musst du dies aus dem script löschen, immer daran Denken, was zu entfernen ist meist einfacher als alles neu zu machen, esseiden einen gefällt der gesammte Aufbau des Scripts nicht