Arma 3 publicVariable

  • Hi Leute, vielleicht kann mir ja jemand auf die Sprünge helfen :)


    Ich möchte das diverse Sachen abgeschaltet werden in einer Mission bevor weitere Aktionen passieren können.
    In diesem Fall handelt es sich um Stromgeneratoren.


    Ich möchte aus 5 möglichen Generatoren, welche auch namen haben aus deren namen publicVariable machen und diese in Triggern weiterbearbeiten, sofern das Skript ausgeführt wurde.


    So möchte ich quasi mit 5 Generatoren 5 verschiedene publicVariable die den jeweiligen Namen des Generators haben erzeugen und zwar nur mit einem Skript



    ich glaube mein Problem liegt in dem rot markiertem Teil, da der entsprechende Trigger zb. nicht reagiert ... oder geht es nicht, das Namen von Gegenständen nicht als publicVariable agieren können ?


    Über jeden Tipp der zur Klärung beiträgt, wäre ich dankbar :)

  • Dann halt nochmal...


    Was soll passieren wenn die Variable verteilt wird ???
    - Soll ein Skript , eine Funktion oder ein Skriptbefehl aufgerufen werden ?


    Um wenigstens ein wenig weiterhelfen zu können, versuche ich es mal hiermit:
    https://community.bistudio.com…ublicVariableEventHandler


    Der Variable weist du damit einen Eventhandler zu und jedesmal wenn die Variable sich ändert wird der Code ausgeführt.
    Diesen solltest du in dem Eventskript initPlayerLocal.sqf reinpacken. Dann wird der EH jedem Spieler beim Missionsstart zugefügt.
    z.B. für deinen Fall



    Must aber beachten, das auf dem Client wo publicVariable aufgerufen wird der EH nicht ausgelöst wird.

  • du solltest evtl die addaction jedem spieler bei erfolgreichem "abschalten" nehmen. atm sieht das so aus, als ob du die action nur local entfernst.
    du kannst auch mit addaction variablen mitgeben. ich geh mal davon aus, dass du an jedem infragekommendem objekt ein addaction platziert hast.
    das ganze lässt sich dann wie folgt erweitern:
    "this addAction ["Strom abschalten","script\misc\disable.sqf","genNrXYZ"];"
    die variable holst dir dann mit einem _this select 3; und kannst die dann anschliesend, wie el schon erwähnt hat, übers netzwerk schicken ;)

  • du solltest evtl die addaction jedem spieler bei erfolgreichem "abschalten" nehmen. atm sieht das so aus, als ob du die action nur local entfernst.
    du kannst auch mit addaction variablen mitgeben. ich geh mal davon aus, dass du an jedem infragekommendem objekt ein addaction platziert hast.
    das ganze lässt sich dann wie folgt erweitern:
    "this addAction ["Strom abschalten","script\misc\disable.sqf","genNrXYZ"];"
    die variable holst dir dann mit einem _this select 3; und kannst die dann anschliesend, wie el schon erwähnt hat, übers netzwerk schicken ;)


    hmm den Namen habe ich ... im Skript mit


    _unitname = _this select 0;


    Es klappt scheinbar nicht, den als Publicvariable rauszuhauen ... aber ich mache mich jetzt mal ran zum weiteren Test :)