Beiträge von Zumi

    //Racks
    [_fhz, {}] call acre_api_fnc_initVehicleRacks;

    Das hier ist obsolet, weil du das hier bereits tust:


    [_fhz, ["ACRE_VRC64", "Upper Dash", "ComA", false, ["Crew"], [], "ACRE_PRC77", [], ["intercom_1"]], true, {}] call acre_api_fnc_addRackToVehicle;


    private _racks = [_fhz] call acre_api_fnc_getVehicleRacks;
    [_fhz, (_racks select 0)] call acre_api_fnc_removeRackFromVehicle;

    Das wird nicht funktionieren. Versuche es mal mit dem CBA-Event.

    Hatte nen Typo drin beim CBA-event in der Eile...
    Das hier teste ich jetzt selber.


    Code
    1. {
    2.     ["acre_sys_rack_removeVehicleRacks", [deincoolerfahrzeugname, _x], deincoolerfahrzeugname] call cba_fnc_targetEvent;
    3. } foreach ([deincoolerfahrzeugname] call acre_sys_rack_fnc_getVehicleRacks);

    Dieser Block hier in der API Funktion erklärt es:

    Und mit dem CBA Event wird dann eben das hier gemacht:

    Code
    1. [QGVAR(addVehicleRacks), {
    2. params ["_vehicle", "_rackClassname", "_displayName", "_rackName", "_rackShortName", "_isRadioRemovable", "_allowed", "_disabled", "_mountedRadio", "_components", "_intercoms"];
    3. [_vehicle, _rackClassname, _displayName, _rackName, _rackShortName, _isRadioRemovable, _allowed, _disabled, _mountedRadio, _components, _intercoms] call FUNC(addRack);
    4. // Give some time for the racks to initialise properly
    5. [{
    6. [_this select 0] call FUNC(configureRackIntercom);
    7. }, [_vehicle], 0.5] call CBA_fnc_waitAndExecute;
    8. }] call CBA_fnc_addEventHandler;

    Ich hatte jetzt noch ein wenig herumprobiert und es scheint als ob ACRE beim ersten Aufsitzen das Rack des Fahrzeuges initialisiert. Führe ich nämlich das Script nach dem ersten Aufsitzen aus, wird die 117 Funke entfernt und ich habe 2x 77er an Bord.

    Meine aktuelle Lösung des Problems ist: Ich lasse die Crew einfach im Fahrzeug bei Missionsstart spawnen und führe das Script mit kurzer Verzögerung aus. Wenn jemand einen eleganteren Weg hat, dann gerne her damit!

    Soweit ich das beurteilen kann, fügt Acre die Racks nach 0.5 Sekunden ungefähr dem Fahrzeug hinzu. Initialisiert werden sie, wie du richtig sagtest, nachdem mit cba_fnc_waitUntilandExecute der erste Spieler im Fahrzeug gefunden wurde bzw. er defaultet es auf den ersten Spieler aufm Server überhaupt.

    Ich würde mit dem CBA-Event von acre_sys_racks hier arbeiten:

    Also einfach bevor du die Funken per Script addest:

    Code
    1. {
    2. ["acre_sys_rack_removeVehicleRacks", [deincoolerfahrzeugname, _x], deincoolerfahrzeugname] call cba_fnc_targetEvent;
    3. } foreach ([deincoolerfahrzeugname] call acre_sys_rack_fnc_getVehicleRacks);

    Ja richtig, das this impliziert das fälschlicherweise. Ersetze this mit dem Variablennamen und führe das irgendwo aus. Kannst in der initServer ohne remoteExecCall ausführen zum Beispiel. Was ich vermute ist eben erstens, dass die Funktion nicht serverseitig ausgeführt wird und zweitens, dass, weil er den Parameter nach der intercom mit "false" rübergibt statt mit true, das Rack nicht initialisiert wird.

    Du musst die Funktion erstens auf dem Server callen, zweitens musst du die Initialisierung forcieren.

    EDIT

    Also z. Bsp. in der InitServer-sqf:


    Code
    1. [meincoolesfahrzeug, ["ACRE_VRC64", "Upper Dash", "ComA", false, ["Crew"], [], "ACRE_PRC77", [], ["intercom_1"]], true, {}] call acre_api_fnc_addRackToVehicle;
    2. [meincoolesfahrzeug, ["ACRE_VRC64", "Lower Dash", "ComB", false, ["Crew"], [], "ACRE_PRC77", [], ["intercom_1"]], true, {}] call acre_api_fnc_addRackToVehicle;
    Zitat

    Danke an befubo und Zumi für eure Server Meldungen. Übernehme ich nachher in die Liste

    Der Server wurde konzeptuell und modtechnisch stark verändert. Bitte warte dafür noch auf ein Update meinerseits. Aber soviel sei gesagt: Wir sind derzeit immer 15+ am Abend.

    Projekt "Keiler"

    Werte Armanauten und Armanatics


    Das Publicserver-Projekt ist zwar bereits angelaufen und wird fleissig bespielt, aber eine kleine Vorstellung tut dennoch Not.
    Projekt Keiler ist eine selbstgebaute CTI mit einem speziellen Konzept unserer neu gegründeten - aber altgedienten - Gruppe.

    Es ist kein Workshop-Projekt, welches für einen Release gedacht ist, sondern meine Hobby-Skripterei und daher auch ein Lernprozess. Ein befreundeter Clan stellt dafür einen Gameserver mit Headlessclient sowie einen TS3 Bereich für die Gruppe Keiler bereit.

    Ich erlaube mir die Bemerkung, dass dies KEIN Call of Duty Server sein soll und geistige Reife sowie Immersion gefragt ist.


    Da Rechte für gewisse Dinge verteilt werden müssen (Panzer, Fliegen, Medics, EOD, Pionier, Fahrzeugschlüssel), wäre es von Vorteil, wenn ihr Angehörige der MP auf dem Server direkt kontaktiert. Das Adminteam erlaubt es sich aufgrund gemachter Erfahrungen im Spielbetrieb, Rechte - bis auf Widerruf - zu gewähren. Es ist zunächst kein Wunschkonzert bezüglich Ausrüstung zu erwarten. Der Fokus liegt auf dem Spielfluss. Deswegen könnt ihr erstmal nur einige Rollen im Arsenal auswählen und leichte Anpassungen vornehmen.


    Kernfeatures:

    - Budgetsystem

    - Spielerpersistenz (Ausrüstung, Position, Gesundheitszustand, Durst + Hunger)
    - Fahrzeug- und Kistenpersistenz (Position, Schaden, Munition, Tankstand, Inventar)
    - Schneller Fahrzeugspawner (Shop)

    - Easy-Access Loadouts --> Für das schnelle Milsimerlebnis

    - Whitelist-System (persistent)
    - Gewichtetes Feindaufkommen

    - Feindbewegung und Verstärkung im Kampfgebiet

    - Dynamische Simulation, Zivilleben
    - Möglichkeit, als Stammgruppe ein Fahrzeug zu "pachten" und es bei Bedarf locken zu können
    - Finanzielle Konsequenzen für Tötungen

    Einstellungen:
    Verwundungs-System: Advanced, Spieler sterben aber nicht so schnell weg, 5 Min Herzstillstand-Timer, Ausbluten deaktiviert, Trauma-Tod aktiviert, bandagierte Wunden gehen wieder auf, Knochenbrüche nicht so häufig

    Third Person: Wahlweise, für die Immersionsverweigerer oder Headbob-Hater :/

    Flugmodul: Wahlweise

    KI: Mittelstark

    NVG: Gnädige Settings

    Das Ganze im Tabellenformat:


    GERFschJgZg KeilerTS3Do-So 18-24 Uhr~17,15 GBArmA - LauncherACRE acrelogo.jpgTakistan~10-16CBA, ACE, RHS, ACRE2, BW Mod, ReddnTanks. GMEnhanced Movement, Suppress07.04.2021

    Hallo Zusammen


    Ein Kollege und ich werfen einen Arma Server an, da wir heute zuhause sind. Wir spielen BW innerhalb einer eigens gemachten Mission. Immersives Gameplay ist erwünscht. Schaut rein, wenn ihr Lust habt.


    Server name: [GER / BW] Operation CFOR (WIP)

    Address: node2.blueberry-hood-clan.de:2502

    Server version: 200146766

    Required game version: 2.0.0


    Map: Cup_chernarus_A3

    Mission: patrol_ops

    Players: 4/28


    Gez. Zumi

    Also die erste Frage wär einfach zu beantworten gewesen.

    Für die zweite sehe ich folgenden Ansatz:

    ace_arsenal feuert ein lokales CBA-Event ab, wenn man das Arsenal schliesst. Du könntest innerhalb des Eventcodes prüfen, ob die primaryweaponitems das nicht erwünschte visier für die waffe enthalten und es ihnen gegebenenfalls wegnehmen:



    Edit: Code getestet. Funktioniert. Achtung: Die Classnames im Ace-Arsenal weichen von denjenigen ab, die man mit primaryweaponitems rauskriegt. Entsprechend muss man die case-sensitivität von "isEqualTo" oder "IN" beachten... Habe zwei Beispielwaffen mit nichterlaubten und erlaubten Visieren eingefügt.

    Ich hätte wohl noch unser Modset erwähnen sollen. Hab es nämlich nicht pur Vanilla getestet:
    iNTERVENTION - Server

    Ich kann mir gut vorstellen, dass die KI-Mod damit in Konflikt gerät.
    Ich habe dir noch einen Tip. Schau dir mal dieses CBA-Event von ACE3 (wiederum aus ace_common) an:


    Damit kannst du Einheiten/Spieler komplett "vergessen" machen.
    Dazu einfach:


    ["ace_common_setHidden", [player, 1]]] call CBA_fnc_globalEvent;


    Wäre mir neu, dass setCaptive ein lokal wirkender command ist. Dennoch, hier ein Lösungsansatz, der sogar JIP-kompatibel ist. Du musst lediglich CBA und ACE nutzen dafür.

    Es gibt folgendes Event, welches durch das Addon ace_common auf allen Maschinen gehandled wird:


    Code
    1. [QGVAR(setCaptive), {
    2. params ["_object", "_set"];
    3. TRACE_2("setCaptive EH",_object,_set);
    4. _object setCaptive (_set > 0);
    5. }] call CBA_fnc_addEventHandler;

    Wir tun also folgendes:

    Code
    1. ["ace_common_setCaptive", [player, 1]]] call CBA_fnc_globalEventJIP;

    Möchtest du den Status resetten auf allen Maschinen, dann einfach:


    Code
    1. ["ace_common_setCaptive", [player, 0]]] call CBA_fnc_globalEventJIP;