07.03.2016, 08:51 | #1 (permalink) |
Registriert seit: 22.11.2010
Beiträge: 74
|
isFlatEmpty - Ausnahme Bäume
Hallo zusammen,
Vlt. kann mir jemand dabei helfen. Mit isFlatEmpty kann ich prima Einheiten in Städten spawnen lassen ohne das sie in Gebäude reinglitchen. Was mich allerdings stört das er auch einen großen Abstand zu Bäumen hält. isFlatEmpty hat im Array-Bereich den Punkt "ignored object". https://community.bistudio.com/wiki/isFlatEmpty Kann man da vlt. einen Objektbereich angeben, wie z.B.: typeOf tree, isKindOf Tree oder ähnliches? Gruß spaccy |
07.03.2016, 11:06 | #2 (permalink) |
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
|
Dürfte so nicht gehen da Bäume, Büsche, Schilder & viele Zäune keine Objektklassen besitzen.
Aber man kann via ich glaube "nearobjects" (ist schon eine Monate her und ich mach ja nichts mehr ) die P3D Namen der Modelle erhalten und die via einer selbstangelegten Tabelle dann prüfen. Die Befehle sind leider häufig nicht besonders gut durchdacht und idR werden die auch nicht erweitert sondern dann lieber ein neuer Befehl gebastelt den dann auch wieder Lücken aufweist. Paradebeispiel dazu sind die vielen vielen Inventarbefehle.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547 |
07.03.2016, 11:13 | #3 (permalink) |
Registriert seit: 22.11.2010
Beiträge: 74
|
Hab ich mir schon fast gedacht.
Das hier scheint (behelfsmäßig) eine Lösung zu beinhalten: https://forums.bistudio.com/topic/13...s-near-player/ Ich werd mir das mal anschauen und den Code hier posten wenn ich das umgesetzt bekommen habe. |
07.03.2016, 19:42 | #4 (permalink) |
Registriert seit: 22.11.2010
Beiträge: 74
|
So, hab jetzt eine erste Version fertiggestellt.
Allerdings kann das so nicht ganz hinhauen, manche Bäume werden mit nearObjects gar nicht abgerufen. Hier der Code dazu: Code:
if (!isServer) exitWith {}; private ["_triggerArea", "_x", "_triggPos", "_clearPos", "_list", "_name1", "_marker"]; _triggerArea = _this select 0; for "_x" from 1 to 10000 do { // zufällige Position im Tiggerbereich _triggPos = [_triggerArea] call BIS_fnc_randomPosTrigger; // Abfrage ob Position frei ist _clearPos = (_triggPos) isflatempty [1, 0, 0, 10, 0, false]; // Array der umgebenden Objekte um die Zufallsposition ermitteln (6m) und in String umwandeln _list = str (nearestObjects [_triggPos, [], 2]); // ist ein Baum in der Nähe erlaube die Pos wieder if (_list find "b_" > 0) then {_clearPos = _triggPos}; if (count _clearPos > 0) then { _name1 = [round (random 40000)] call CBA_fnc_formatNumber; _marker = createMarker [_name1, _clearPos]; _marker setMarkerType "mil_dot"; } else { _x = _x - 1; }; }; |
07.03.2016, 22:00 | #6 (permalink) |
Registriert seit: 22.11.2010
Beiträge: 74
|
Ich steh auf Altis in Zaros neben einem Baum (ca. 1m entfernt) und nearestObject gibt auf 6 Meter folgendes raus:
Code:
[O Alpha 1-1:1 (spaccyx), 1779942: honeybee.p3d, 1779940: honeybee.p3d, 1779965: fly.p3d, 1779938: honeybee.p3d, 1779933: honeybee.p3d, 1779941: honeybee.p3d, 1779967: honeybee.p3d, 813458: garbagewashingmachine_f.p3d, 1779973: cl_leaf3.p3d, 1779928: fly.p3d, 813450: stone_8m_f.p3d] Anmerkung: Hab noch einen Fehler entdeckt, ich habe ursprünglich nicht nach b_ gesucht, sondern nach t_, die Bäume die ich gefunden habe fangen immer mit t_ an. War ein Spreibfehler. Geändert von spaccy (07.03.2016 um 22:04 Uhr). |
08.03.2016, 08:57 | #7 (permalink) |
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
|
Bäume ja, aber du soltest auch Büsche im Blick behalten, da gibt es einige die an die größe von kleinen Bäumen rankommen bzw. sogar übertreffen.
Aber ansonsten ist die Benennung der Modelle von Grünzeug durchaus schlüssig, daran kann ich mich definitiv erinnern. Das cl_ vor dem Leaf3 steht z.B für cl_utter ansosten t_ree b_ush plus den präfix vom Gras&Unkraut, der mir gerade nicht mehr einfallen will.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547 Geändert von Lester (08.03.2016 um 09:03 Uhr). |
08.03.2016, 18:25 | #8 (permalink) |
Registriert seit: 22.11.2010
Beiträge: 74
|
Also, mir wird das Script zu blöd. So richtig wird das nix.
Ich platziere jetzt überall rostige Dosen und lese die in ein Array ein. Dann kann ich Einheiten zufällig an verschiedenen "Dosen"-Positionen spawnen lassen, auch bei den blöden Bäumen. Dank 3D Editor macht das Platzieren fast schon Spass . |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Bäume und Büsche ohne Mods ?? | Dunkelmesser | Editing & Scripting | 2 | 11.05.2015 19:08 |
AMD Grafikprobleme > Gras und Bäume sind weiß | Baconmaster123 | Technische Fragen & Probleme | 2 | 05.05.2012 22:36 |
Bäume vergrößern | Berserker | Editing & Scripting | 3 | 17.08.2010 09:38 |