Suchergebnisse

Suchergebnisse 1-20 von insgesamt 168.

  • Ob das laggt hat so unendlich Randbedingungen. Aber wegen so einer winzigen Bewegung wird nix passieren. Da gibt es ganz anderes. Es sei denn du planst eine Masseninvasion von 1000+ Fregatten Wenn du Lust und Laune hast, kannst du auch versuchen über die velocity zu gehen. Das müsste man mal testen (kann dir nicht versprechen, ob das überhaupt was macht).

  • Mit den alternativen Syntaxen von getPos, getDir, sowie params und distance2D lässt sich das schöner gestalten. EDIT: Schickes Video Das Schiff ist doch Bestimmt ein Haus, oder?

  • Vermutlich habe ich gerade einen Denkfehler drin: Ich wollte es gerade wie folgt veranschaulichen, aber das Ergebnis weicht mir zu stark von meiner Erwartung ab. Sieht jmd den Denkfehler? Quellcode (10 Zeilen)Quellcode (10 Zeilen)

  • ACRE Event Handler

    Dorbedo - - ArmA 3 - Editing & Scripting

    Beitrag

    acre_sys_core_fnc_enableRevealAI einfach unten in die Variablen-Anzeige der Debug-Konsole eintragen und das Ergebnis in deinen Zwischenspeicher kopieren. Ich habe dir nur eine Zeile aus der Funktion, welche ich oben gepostet hatte noch einmal rauskopiert. acre_sys_core_onRevealUnit ist das globales CBA-Event.

  • ACRE Event Handler

    Dorbedo - - ArmA 3 - Editing & Scripting

    Beitrag

    [QGVAR(onRevealUnit), [acre_player, _curUnit, ACRE_REVEAL_AMOUNT ] ] call CALLSTACK(CBA_fnc_globalEvent); Falls du mit den Macros nichts anfangen kannst, kopier dir die compilierte Version ingame in den Zwischenspeicher.

  • ACRE Event Handler

    Dorbedo - - ArmA 3 - Editing & Scripting

    Beitrag

    Zitat von [JgZg-A] Schmitt: „Mit folgendem Code gewährleiste ich, dass Feinde auf TFAR Gespräche und TFAR Funk reagieren. [...] Wie sieht nun der entsprechende ACRE basierte Code aus? “ Das ist doch schon von Haus aus in ACRE2 enthalten. LINK zum Code

  • Zitat von Ten4Rius: „Wäre onEachFrame eine Alternative? “ onEachFrame stackt nicht. EachFrame hingegen schon. Desshalb lieber letzteres nutzen.

  • Falls du kein CBA nutzt, gibt das das gleiche System auch von der Engine selbst. Quellcode (12 Zeilen)Jedoch kannst du dort keine Parameter mit übergeben, wie beim CBA-System.

  • Ich kann aktuell nicht abschätzen, wie rechenintensiv die Geschichte ist. Aber du hast recht, eigentlich sollte es onEachFrame passen. // EDIT: Alternativ kannst du es auch wie BIS mit der Dynamischen Simulation handhaben. Du gruppierst immer mehrere Elemente zu einer Gruppe und prüfst dann immer nur, ob du innerhalb der Gruppe bist. Falls ja, dann schaust du nach, wo du in der Gruppe bist. Bspw. teilst du den Bildschirm in 4 Gruppen, die 4 Gruppen dann wieder in 4 Gruppen und so weiter. Dann mu…

  • Da fällt mir was blödes ein, wie man das weiterführen könnte: Für jedes Element, welches du erstellst, erstellst du zeitgleich eine Location, welche du in den entsprechenden abmaßen erstellst. Am Besten natürlich mit offset, so dass es mit nichts anderem Probleme gibt. bspw (-20000,-20000,0) Dann schaust du mittels in ob sich dein Mauszeiger (+Offset) in einer dieser Locations befindet. Da die Location ja ein Namespace ist, kannst du dort auch alles mögliche abspeichern. Bspw die verknüpfte ctrl…

  • Mir ist gerade eingefallen, dass ich das Event ja die ganze Zeit selber nutze. Jedoch nicht auf einer LB sonder auf einem Button. Naja, Wiki mal wieder ungenau. -.-

  • Tatsache, onMouseEnter scheint nicht mehr zu funktionieren. War bis eben davon ausgegangen, dass das Event funktioniert. @Raven Lass mal deine Idee hören. Ich bin da echt gespannt.

  • Und warum die Handler nicht direkt auf die LB und dann die jeweiligen Bilder dahinter wechseln? Du musst dir nur merken, welches Bild hinter welcher LB steckt. Ich könnte mir vorstellen, dass die LBs unsichtbar sind, bzw evtl nur den von dir erstellten Rahmen zeigen. Die "Füllung" simulierst du dann durch ein Bild, welches hinter der LB liegt. Bei Mouse Enter vergrößerst du das Bild um X und bei MouseExit dann wieder zurück auf Standardgröße. Das Bild könnte man dann auch direkt für die Animatio…

  • Wenn dann mittel ctrlAddEventhandler direkt auf die jeweiligen Elemente legen.

  • Warum nicht onMouseEnter und onMouseExit? Denke das würde dafür besser passen.

  • Warum so umständlich? Du bekommst doch schon die _lb über das _this Quellcode (2 Zeilen)Ist das gleiche wie: _lb = _this select 0; PS: Ich finde es bemerkenswert, dass du dir so viele Gedanken über die Performance machst. Ich persönlich habe teilweise displays mit 150 Elementen Was aber hauptsächlich daran liegt, dass ctrlCreate leider nicht auf die description.ext verweisen kann und ich somit jedes Element vorher anlegen muss - Arma halt.

  • Ich vermute mal, du willst immernoch ein Inventarsystem simulieren. Grundsätzlich kannst du dir vieles machen. Die Frage ist immer, wie viel Arbeit du dir machen willst. Wenn möglich lohnt es sich immer die eingebauten Funktionen von Arma zu nutzen. An vielen Stellen ist dies jedoch nicht möglich und man muss auf eigene umständliche Lösungen zurückgreifen. (Bspw. hab ich mir eine eigene Buttonanimation zusammengetrickst) Die Textur der Drag&Drop Animation kannst du nicht ersetzen. (Zumindest ich…

  • Ich wüsste keine Möglichkeit, wie das geht. Dazu müsse man das Drag&Drop Event selbst simulieren, indem man die Mausaktionen ausliest.

  • Habe die Lösung zwischenzeitlich gefunden. Der Clou an der Geschichte war, dass der Objektcontainer auf die Größe des Bildschirms bezogen berechnet wird. Wenn ich das richtig erkannt habe, dann entspricht ein Meter des Objektes der Größe des Screens. Bspw.: Man möchte ein 10m großes Objekt in einem einer Größe von 0.6 der Bildschirmweite darstellen: Dann kann man eine Skalierung von 0.06 bei einer Z-Koordinate von 1 nutzen. Oder aber eine Skalierung von 0,6 bei z=10;. Das Ergebnis ist gut geword…

  • Zwischenzeitlich konnte ich zumindest ein Problem eliminieren: Der untere Rand der BoundingBox ist nicht die Kontaktfläche des Fahrzeuges. Entsprechend muss man die Differenz des BoundingCenters zu der der Kontaktfläche nutzen, um die "Höhenunterschiede" zu kompensieren. Die Differenz kann man mittels private _posDiffZ = ((getPosASL _localVeh)select 2) - ((getPosWorld _localVeh)select 2); erhalten. Mit dem Wert hatte ich immer den Z-Wert der Steuerung korrigiert, was natürlich falsch ist. Wenn m…