[gelöst] 3rdPerson/Earplugs

  • Sonstiges
  • Wo hast du denn das Script rein kopiert?
    Es muss auf jeden Fall innerhalb der pbo sein und fürn Anfang nimmst du das Script und speicherst es direkt "neben" der init.sqf ab und benutzt den zweiten Pfad, den du oben verwendet hast...
    Wichtig ist natürlich, dass das Script auch wirklich "fn_addEarplugAction.sqf" und nicht "fn_earplugs" heißt... Sonst must du natürlich den Pfad entsprechend anpassen ;)
    Entwickler von SQDev
    Co-Entwickler von OurAltis
  • ES GEHT, DER SCHEISS GEHT. DA STEHT ON OFF, SOLL ISCH DA MA DRUFF DRÜCKE ??

    Schwere Geburt. Aber noch nicht ganz fehlerfrei. Problem aktuell ist, das sich die Earplugs jedesmal einmal mehr ins Aktionsmenü schreiben. Also ich kann jetzt 2 mal und 3 mal die Dinger raus und rein nehmen. Kein Plan warum das so ist.

    Belbo schrieb:

    Versuch's mal so: dropbox.com/s/zvqkpv9wjeaph5r/testmission.Altis.pbo?dl=0
    Da ist keine mission.sqm drin, hatte jetzt keine Lust, nur dafür das Spiel zu starten. Aber immerhin kannst du damit dann sehen, wie das aufgebaut werden sollte.
    THX für den Drop. Ich hatte es genau so erstellt. Einziger Unterschied, du hast zwischen den Zeilen eine Abstand gelassen. Also keinen Plan warum es gezickt hatte.

    Raven schrieb:

    Wo hast du denn das Script rein kopiert?
    Es muss auf jeden Fall innerhalb der pbo sein und fürn Anfang nimmst du das Script und speicherst es direkt "neben" der init.sqf ab und benutzt den zweiten Pfad, den du oben verwendet hast...
    Wichtig ist natürlich, dass das Script auch wirklich "fn_addEarplugAction.sqf" und nicht "fn_earplugs" heißt... Sonst must du natürlich den Pfad entsprechend anpassen ;)
    An den Namen kann es nicht gelegen haben. Die habe ich per Copy/Paste übernommen um Schreibfehler zu vermeiden.

    JEDENFALLS DICKES DANKE SCHÖN AN ALLE DIE SICH MIT MIR VOLLPFOSTEN AUSEINANDER GESETZT HABEN.


    @RAVEN: Jetzt wissen wir schonmal das dein Script auch ungetestet, grundsätzlich mal funktioniert. Jetzt müssen wir eben mal sehen, warum sich der Befehl kopiert. Das ist aber jetzt Nebensache. Es ist erstmal was abgehakt.

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

  • Raven schrieb:

    C-Quellcode: fn_addEarplugAction.sqf

    1. player addAction ["Use earplugs", {
    2. // verringert die Lautstärke auf das halbe Level
    3. 0.5 fadeSound 0.5;
    4. // entfernt diese Aktion aus dem Scrollradmenü
    5. player removeAction (_this select 2);
    6. // Fügt eine Aktion zum Herausnehmen der EarPlugs hinzu
    7. player addAction["Remove Earplugs", {
    8. // setzt die Lautstärke wieder auf voll
    9. 0.5 fadeSound 1;
    10. // fügt erneut die Aktion zum benutzen der Earplugs hinzu
    11. [] call fn_addEarplugAction;
    12. }];
    13. }];
    Alles anzeigen
    Der Fehler dürfte ja eigentlich nur in dem Removebefehl liegen weil er die Aktion ja immer drin lässt und sogar kopiert.

    Aktuell funktionierende Init.sqf:

    C-Quellcode: init.sqf

    1. fn_addEarplugAction = compile preprocessFileLineNumbers "fn_addEarplugAction.sqf";
    2. [] call fn_addEarplugAction;
  • Raven schrieb:

    Gegen das Sterben hilft wenn du einfach eine onPlayerRespawn.sqf anlegt und die Funktion vom dort nochmal aufrufst :)
    Und das mit den mehrfachen Einträgen... Ist das direkt von Anfang so oder erst nachdem du die Aktion einmal benutzt hast?
    Wenn man benutzt hat. Zuerst steht da "use Earplugs". Dann nimmt man sie rein und schwupps steht schon das erste doppelt drin. man nimmt sie raus und schon hat man 4 möglichkeiten. Allerdings ist es so das alle funktionieren. Egal welchen Menüpunkt ich uaswähle. Also Funktion ist top.


    Die Respawn.sqf hab ich drin. Damit passt es jetzt
  • So Problem gelöst.
    Der Joko hat sich gerade eben von mir nerven lassen und sich das Script vom Raven mal angesehen.
    Hier die Lösung für alle.

    Quellcode: init.sqf

    1. fn_addEarplugAction = compile preprocessFileLineNumbers "fn_addEarplugAction.sqf";

    Quellcode: fn_addEarplugAction.sqf

    1. JK_earplugsIn = false;
    2. player addAction ["Use earplugs", {
    3. // verringert die Lautstärke auf das halbe Level
    4. 0.5 fadeSound 0.5;
    5. JK_earplugsIn = true;
    6. }, [], 0, false, false, "", "!JK_earplugsIn"];
    7. player addAction["Remove Earplugs", {
    8. // setzt die Lautstärke wieder auf voll
    9. 0.5 fadeSound 1;
    10. // fügt erneut die Aktion zum benutzen der Earplugs hinzu
    11. JK_earplugsIn = false;
    12. }, [], 0, false, false, "", "JK_earplugsIn"];
    Alles anzeigen

    Quellcode

    1. [] call fn_addEarplugAction;
    2. 0.5 fadeSound 1;

    Vielen Dank an Raven, Joko und alle anderen die sich beteiligt haben.
    DAUMENHOCH !!!!!!!!!
  • Chrizzley schrieb:

    So Problem gelöst.
    Der Joko hat sich gerade eben von mir nerven lassen und sich das Script vom Raven mal angesehen.
    Hier die Lösung für alle.

    Quellcode: init.sqf

    1. fn_addEarplugAction = compile preprocessFileLineNumbers "fn_addEarplugAction.sqf";

    Quellcode: fn_addEarplugAction.sqf

    1. JK_earplugsIn = false;
    2. player addAction ["Use earplugs", {
    3. // verringert die Lautstärke auf das halbe Level
    4. 0.5 fadeSound 0.5;
    5. JK_earplugsIn = true;
    6. }, [], 0, false, false, "", "!JK_earplugsIn"];
    7. player addAction["Remove Earplugs", {
    8. // setzt die Lautstärke wieder auf voll
    9. 0.5 fadeSound 1;
    10. // fügt erneut die Aktion zum benutzen der Earplugs hinzu
    11. JK_earplugsIn = false;
    12. }, [], 0, false, false, "", "JK_earplugsIn"];
    Alles anzeigen

    Quellcode

    1. [] call fn_addEarplugAction;
    2. 0.5 fadeSound 1;
    Vielen Dank an Raven, Joko und alle anderen die sich beteiligt haben.
    DAUMENHOCH !!!!!!!!!
    Hallo ihr Lieben, nach langem suchen bin ich nun hier auch fündig geworden nach meinem problem mit earplug.
    Wenn ich das richtig verstehe,funktioniert das teil nich unter Vanilla.Richtig?
  • Dorbedo schrieb:

    Was klappt den bei dir nicht?
    Also,der befehl wird im menü angezeigt,kann ihn auch anwählen, nur reguliert der sound nicht,heißt die lautstärke bleibt unverändert.
    Habe den code so übernommen wie er hier von Crizzley stand. vieleicht hab ich ihn auch an der falschen stelle in der init eingefügt.....
    Hier ein ausschnitt:

    if (isMultiplayer && {!isDedicated}) then {
    enableRadio true;
    showChat true;
    0 fadeSound 0;
    titleText ["", "BLACK FADED"];
    };


    enableSaving [false,false];
    enableTeamSwitch false;
    fn_addEarplugAction = compile preprocessFileLineNumbers "fn_addEarplugAction.sqf";


    [] call fn_addEarplugAction;
    0.5 fadeSound 1;

    d_of_ex_id = addMissionEventhandler ["EachFrame", {
    if (isNil "d_init_processed") then {
    call compile preprocessFileLineNumbers "d_init.sqf";
    };
    removeMissionEventHandler ["EachFrame", d_of_ex_id];
    d_of_ex_id = nil;
    }];


    diag_log [diag_frameno, diag_ticktime, time, "Dom init.sqf processed"];
  • Dorbedo schrieb:

    Lass dir einmal mittels soundVolume den Wert ausgeben und prüf, ob er sich ändert.
    Du kannst auch einmal testen, ob fadeSound überhaupt etwas ändert. Eventuell greift etwas anderes ein.
    Generell sollte der Command aber klappen.
    denke ich hab den fehler gefunden. Habe kein tricker eingebaut..bzw habe ich gerade auf ner anderen seite gelesen xD
    ich sag aber noch ma bescheit ob es daran lag